21#ifndef INCLUDED_DVBS2RX_LDPC_DECODER_CB_IMPL_H
22#define INCLUDED_DVBS2RX_LDPC_DECODER_CB_IMPL_H
24#include "algorithms.hh"
26#include "dvb_s2_tables.hh"
27#include "dvb_s2x_tables.hh"
28#include "dvb_t2_tables.hh"
47#include "flooding_decoder.hh"
52#include "layered_decoder.hh"
64 unsigned int frame_size;
65 unsigned int signal_constellation;
66 unsigned int code_rate;
69 unsigned int dvb_standard;
70 unsigned int output_mode;
71 unsigned int info_mode;
74 unsigned int total_trials;
78 unsigned int rowaddr0;
79 unsigned int rowaddr1;
80 unsigned int rowaddr2;
81 unsigned int rowaddr3;
82 unsigned int rowaddr4;
83 unsigned int rowaddr5;
84 unsigned int rowaddr6;
85 unsigned int rowaddr7;
87 Modulation<gr_complex, int8_t> *mod;
88 LDPCDecoder<simd_type, algorithm_type> decode;
99 generate_interleave_lookup();
101 generate_deinterleave_lookup();
103 interleave_parity_bits(
int *tempu,
const int *&in);
105 twist_interleave_columns(
106 int *tempv,
int *tempu,
int rows,
int mod,
const int *twist);
108 twist_deinterleave_columns(
109 int *tempv,
int *tempu,
int rows,
int mod,
const int *twist);
111 const static int twist16n[8];
112 const static int twist64n[12];
113 const static int twist256n[16];
115 const static int twist16s[8];
116 const static int twist64s[12];
117 const static int twist256s[8];
119 const static int mux16[8];
120 const static int mux64[12];
121 const static int mux256[16];
123 const static int mux16_35[8];
124 const static int mux16_13[8];
125 const static int mux16_25[8];
126 const static int mux64_35[12];
127 const static int mux64_13[12];
128 const static int mux64_25[12];
129 const static int mux256_35[16];
130 const static int mux256_23[16];
132 const static int mux256s[8];
133 const static int mux256s_13[8];
134 const static int mux256s_25[8];
146 forecast(
int noutput_items, gr_vector_int &ninput_items_required);
150 gr_vector_int &ninput_items,
151 gr_vector_const_void_star &input_items,
152 gr_vector_void_star &output_items);
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
ldpc_decoder_cb_impl(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate, dvb_constellation_t constellation, dvb_outputmode_t outputmode, dvb_infomode_t infomode)
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
<+description of block+>
Definition ldpc_decoder_cb.h:38
#define FRAME_SIZE_NORMAL
Definition dvb_defines.h:47
NormalUpdate< simd_type > update_type
Definition ldpc_decoder_cb_impl.h:53
int8_t code_type
Definition ldpc_decoder_cb_impl.h:42
OffsetMinSumAlgorithm< simd_type, update_type, FACTOR > algorithm_type
Definition ldpc_decoder_cb_impl.h:54
SIMD< code_type, SIMD_WIDTH > simd_type
Definition ldpc_decoder_cb_impl.h:44
const int SIZEOF_SIMD
Definition ldpc_decoder_cb_impl.h:39
const int SIMD_WIDTH
Definition ldpc_decoder_cb_impl.h:43
const int TRIALS
Definition ldpc_decoder_cb_impl.h:55
dvb_infomode_t
Definition dvb_config.h:129
dvb_framesize_t
Definition dvb_config.h:85
dvb_constellation_t
Definition dvb_config.h:91
dvb_outputmode_t
Definition dvb_config.h:124
dvb_code_rate_t
Definition dvb_config.h:31
dvb_standard_t
Definition dvb_config.h:26
Definition bbdeheader_bb.h:30