|
GNU Radio 3.6.1 C++ API
|
fancy, schmancy 12-way interleaved trellis encoder for ATSC More...
#include <atsci_trellis_encoder.h>
Public Member Functions | |
| atsci_trellis_encoder () | |
| ~atsci_trellis_encoder () | |
| void | reset () |
| reset all encoder states | |
| void | encode (atsc_data_segment out[NCODERS], const atsc_mpeg_packet_rs_encoded in[NCODERS]) |
Static Public Attributes | |
| static const int | NCODERS = 12 |
Protected Member Functions | |
| void | encode_helper (unsigned char out[OUTPUT_SIZE], const unsigned char in[INPUT_SIZE]) |
Protected Attributes | |
| atsci_basic_trellis_encoder | enc [NCODERS] |
Static Protected Attributes | |
| static const int | SEGMENT_SIZE = ATSC_MPEG_RS_ENCODED_LENGTH |
| static const int | INPUT_SIZE = (SEGMENT_SIZE * 12) |
| static const int | OUTPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12) |
fancy, schmancy 12-way interleaved trellis encoder for ATSC
| atsci_trellis_encoder::atsci_trellis_encoder | ( | ) |
| atsci_trellis_encoder::~atsci_trellis_encoder | ( | ) |
| void atsci_trellis_encoder::encode | ( | atsc_data_segment | out[NCODERS], |
| const atsc_mpeg_packet_rs_encoded | in[NCODERS] | ||
| ) |
Take 12 RS encoded, convolutionally interleaved segments and produce 12 trellis coded data segments. We work in groups of 12 because that's the smallest number of segments that composes a single full cycle of the encoder mux.
|
protected |
| void atsci_trellis_encoder::reset | ( | ) |
reset all encoder states
|
protected |
|
staticprotected |
|
static |
|
staticprotected |
|
staticprotected |