23#ifndef _ATSC_RANDOMIZER_H_
24#define _ATSC_RANDOMIZER_H_
38 friend class qa_atsci_randomizer;
57 unsigned int state()
const {
return d_state; }
60 static void initialize_output_map();
61 static unsigned char slow_output_map(
int st);
63 static unsigned char fast_output_map(
int st)
65 return s_output_map[(st & 0xb23c) >>
73 unsigned char output() {
return fast_output_map(d_state); }
79 d_state = ((d_state ^ MASK) >> 1) | 0x8000;
81 d_state = d_state >> 1;
85 unsigned char output_and_clk()
87 unsigned char r = output();
94 static const unsigned int PRELOAD_VALUE = 0x018f;
95 static const unsigned int MASK = 0xa638;
96 static unsigned char s_output_map[1 << 14];
97 static bool s_output_map_initialized_p;
Definition: gr-atsc/include/gnuradio/atsc/types.h:166
Definition: gr-atsc/include/gnuradio/atsc/types.h:147
ATSC data "whitener".
Definition: randomizer_impl.h:37
void reset()
reset randomizer LFSR
unsigned int state() const
Definition: randomizer_impl.h:57
void derandomize(atsc_mpeg_packet &out, const atsc_mpeg_packet_no_sync &in)
derandomize (de-whiten) mpeg packet and add leading MPEG-2 sync byte
void randomize(atsc_mpeg_packet_no_sync &out, const atsc_mpeg_packet &in)
randomize (whiten) mpeg packet and remove leading MPEG-2 sync byte
#define ATSC_API
Definition: gr-atsc/include/gnuradio/atsc/api.h:30