30 #define MAX_MATRIX_CHANNEL_MLP 5
31 #define MAX_MATRIX_CHANNEL_TRUEHD 7
36 #define MAX_CHANNELS 8
41 #define MAX_MATRICES_MLP 6
42 #define MAX_MATRICES_TRUEHD 8
43 #define MAX_MATRICES 8
48 #define MAX_SUBSTREAMS 4
51 #define MAX_RATEFACTOR 4
53 #define MAX_SAMPLERATE (MAX_RATEFACTOR * 48000)
56 #define MAX_BLOCKSIZE (40 * MAX_RATEFACTOR)
58 #define MAX_BLOCKSIZE_POW2 (64 * MAX_RATEFACTOR)
64 #define MAX_FIR_ORDER 8
65 #define MAX_IIR_ORDER 4
68 #define END_OF_STREAM 0xd234d234
162 value ^= value >> 16;
uint8_t shift
Right shift to apply to output of filter.
FilterParams filter_params[NUM_FILTERS]
uint16_t ff_mlp_checksum16(const uint8_t *buf, unsigned int buf_size)
static uint8_t xor_32_to_8(uint32_t value)
XOR four bytes into one.
#define MAX_FIR_ORDER
The maximum number of taps in IIR and FIR filters.
const uint8_t ff_mlp_huffman_tables[3][18][2]
Tables defining the Huffman codes.
uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size)
XOR together all the bytes of a buffer.
int16_t huff_offset
Offset to apply to residual values.
#define NUM_FILTERS
number of allowed filters
uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
MLP uses checksums that seem to be based on the standard CRC algorithm, but are not (in implementatio...
void ff_mlp_init_crc(void)
GLsizei GLboolean const GLfloat * value
int32_t coeff[NUM_FILTERS][MAX_FIR_ORDER]
uint8_t codebook
Which VLC codebook to use to read residuals.
Libavcodec external API header.
int32_t state[MAX_FIR_ORDER]
uint8_t order
number of taps in filter
uint8_t huff_lsbs
Size of residual suffix not encoded using VLC.
const ChannelInformation ff_mlp_ch_info[21]
Tables defining channel information.
const uint64_t ff_mlp_channel_layouts[12]
sample data coding information
uint8_t ff_mlp_restart_checksum(const uint8_t *buf, unsigned int bit_size)
Calculate an 8-bit checksum over a restart header – a non-multiple-of-8 number of bits...
int32_t sign_huff_offset
sign/rounding-corrected version of huff_offset