#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] |
bool | debug |
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) |
atsci_trellis_encoder::~atsci_trellis_encoder | ( | ) |
void atsci_trellis_encoder::reset | ( | ) |
reset all encoder states
Referenced by atsci_trellis_encoder(), and qa_atsci_trellis_encoder::setUp().
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.
References encode_helper(), INPUT_SIZE, OUTPUT_SIZE, and plinfo::sanity_check().
Referenced by atsc_trellis_encoder::work().
void atsci_trellis_encoder::encode_helper | ( | unsigned char | out[OUTPUT_SIZE], | |
const unsigned char | in[INPUT_SIZE] | |||
) | [protected] |
References debug, DIBITS_PER_BYTE, DSEG_SYNC_SYM1, DSEG_SYNC_SYM2, DSEG_SYNC_SYM3, DSEG_SYNC_SYM4, enc, atsci_basic_trellis_encoder::encode(), ENCODER_SEG_BUMP, NCODERS, SEGMENT_SIZE, SEGOF, and SYMOF.
Referenced by encode().
const int atsci_trellis_encoder::NCODERS = 12 [static] |
Referenced by encode_helper(), reset(), and atsc_trellis_encoder::work().
const int atsci_trellis_encoder::SEGMENT_SIZE = ATSC_MPEG_RS_ENCODED_LENGTH [static, protected] |
Referenced by encode_helper().
const int atsci_trellis_encoder::INPUT_SIZE = (SEGMENT_SIZE * 12) [static, protected] |
Referenced by encode().
const int atsci_trellis_encoder::OUTPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12) [static, protected] |
Referenced by encode().
atsci_basic_trellis_encoder atsci_trellis_encoder::enc[NCODERS] [protected] |
Referenced by encode_helper(), and reset().
bool atsci_trellis_encoder::debug [protected] |
Referenced by atsci_trellis_encoder(), and encode_helper().