@ -33,101 +33,109 @@
/* VLC tables */
static const uint8_t huffcode1 [ 9 ] = {
0x0 , 0x4 , 0x5 , 0xC , 0xD , 0x1C , 0x1D , 0x1E , 0x1F ,
0x0 , 0x4 , 0x5 , 0xC , 0xD , 0x1C , 0x1D , 0x1E , 0x1F
} ;
static const uint8_t huffbits1 [ 9 ] = {
1 , 3 , 3 , 4 , 4 , 5 , 5 , 5 , 5 ,
} ;
static const uint8_t huffbits1 [ 9 ] = { 1 , 3 , 3 , 4 , 4 , 5 , 5 , 5 , 5 } ;
static const uint8_t huffcode2 [ 5 ] = {
0x0 , 0x4 , 0x5 , 0x6 , 0x7 ,
} ;
static const uint8_t huffcode2 [ 5 ] = { 0x0 , 0x4 , 0x5 , 0x6 , 0x7 } ;
static const uint8_t huffbits2 [ 5 ] = {
1 , 3 , 3 , 3 , 3 ,
} ;
static const uint8_t huffbits2 [ 5 ] = { 1 , 3 , 3 , 3 , 3 } ;
static const uint8_t huffcode3 [ 7 ] = {
0x0 , 0x4 , 0x5 , 0xC , 0xD , 0xE , 0xF ,
} ;
static const uint8_t huffcode3 [ 7 ] = { 0x0 , 0x4 , 0x5 , 0xC , 0xD , 0xE , 0xF } ;
static const uint8_t huffbits3 [ 7 ] = {
1 , 3 , 3 , 4 , 4 , 4 , 4 ,
} ;
static const uint8_t huffbits3 [ 7 ] = { 1 , 3 , 3 , 4 , 4 , 4 , 4 } ;
static const uint8_t huffcode4 [ 9 ] = {
0x0 , 0x4 , 0x5 , 0xC , 0xD , 0x1C , 0x1D , 0x1E , 0x1F ,
0x0 , 0x4 , 0x5 , 0xC , 0xD , 0x1C , 0x1D , 0x1E , 0x1F
} ;
static const uint8_t huffbits4 [ 9 ] = {
1 , 3 , 3 , 4 , 4 , 5 , 5 , 5 , 5 ,
} ;
static const uint8_t huffbits4 [ 9 ] = { 1 , 3 , 3 , 4 , 4 , 5 , 5 , 5 , 5 } ;
static const uint8_t huffcode5 [ 15 ] = {
0x0 , 0x2 , 0x3 , 0x8 , 0x9 , 0xA , 0xB , 0x1C , 0x1D , 0x3C , 0x3D , 0x3E , 0x3F , 0xC , 0xD ,
0x00 , 0x02 , 0x03 , 0x08 , 0x09 , 0x0A , 0x0B , 0x1C ,
0x1D , 0x3C , 0x3D , 0x3E , 0x3F , 0x0C , 0x0D
} ;
static const uint8_t huffbits5 [ 15 ] = {
2 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 6 , 6 , 6 , 6 , 4 , 4
2 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 6 , 6 , 6 , 6 , 4 , 4
} ;
static const uint8_t huffcode6 [ 31 ] = {
0x0 , 0x2 , 0x3 , 0x4 , 0x5 , 0x6 , 0x7 , 0x14 , 0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x34 , 0x35 ,
0x36 , 0x37 , 0x38 , 0x39 , 0x3A , 0x3B , 0x78 , 0x79 , 0x7A , 0x7B , 0x7C , 0x7D , 0x7E , 0x7F , 0x8 , 0x9 ,
0x00 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x14 ,
0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x34 , 0x35 , 0x36 ,
0x37 , 0x38 , 0x39 , 0x3A , 0x3B , 0x78 , 0x79 , 0x7A ,
0x7B , 0x7C , 0x7D , 0x7E , 0x7F , 0x08 , 0x09
} ;
static const uint8_t huffbits6 [ 31 ] = {
3 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 4 , 4
3 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 6 , 6 , 6 ,
6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 4 , 4
} ;
static const uint8_t huffcode7 [ 63 ] = {
0x0 , 0x8 , 0x9 , 0xA , 0xB , 0xC , 0xD , 0xE , 0xF , 0x10 , 0x11 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 ,
0x29 , 0x2A , 0x2B , 0x2C , 0x2D , 0x2E , 0x2F , 0x30 , 0x31 , 0x32 , 0x33 , 0x68 , 0x69 , 0x6A , 0x6B , 0x6C ,
0x6D , 0x6E , 0x6F , 0x70 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0xEC , 0xED , 0xEE , 0xEF , 0xF0 , 0xF1 , 0xF2 ,
0xF3 , 0xF4 , 0xF5 , 0xF6 , 0xF7 , 0xF8 , 0xF9 , 0xFA , 0xFB , 0xFC , 0xFD , 0xFE , 0xFF , 0x2 , 0x3 ,
0x00 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E ,
0x0F , 0x10 , 0x11 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 ,
0x29 , 0x2A , 0x2B , 0x2C , 0x2D , 0x2E , 0x2F , 0x30 ,
0x31 , 0x32 , 0x33 , 0x68 , 0x69 , 0x6A , 0x6B , 0x6C ,
0x6D , 0x6E , 0x6F , 0x70 , 0x71 , 0x72 , 0x73 , 0x74 ,
0x75 , 0xEC , 0xED , 0xEE , 0xEF , 0xF0 , 0xF1 , 0xF2 ,
0xF3 , 0xF4 , 0xF5 , 0xF6 , 0xF7 , 0xF8 , 0xF9 , 0xFA ,
0xFB , 0xFC , 0xFD , 0xFE , 0xFF , 0x02 , 0x03
} ;
static const uint8_t huffbits7 [ 63 ] = {
3 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 ,
7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 4 , 4
3 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 6 ,
6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 ,
7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,
8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 4 , 4
} ;
static const uint8_t huff_tab_sizes [ 7 ] = {
9 , 5 , 7 , 9 , 15 , 31 , 63 ,
9 , 5 , 7 , 9 , 15 , 31 , 63 ,
} ;
static const uint8_t * const huff_codes [ 7 ] = {
huffcode1 , huffcode2 , huffcode3 , huffcode4 , huffcode5 , huffcode6 , huffcode7 ,
huffcode1 , huffcode2 , huffcode3 , huffcode4 , huffcode5 , huffcode6 , huffcode7
} ;
static const uint8_t * const huff_bits [ 7 ] = {
huffbits1 , huffbits2 , huffbits3 , huffbits4 , huffbits5 , huffbits6 , huffbits7 ,
huffbits1 , huffbits2 , huffbits3 , huffbits4 , huffbits5 , huffbits6 , huffbits7 ,
} ;
static const uint16_t atrac3_vlc_offs [ ] = {
0 , 512 , 1024 , 1536 , 2048 , 2560 , 3072 , 3584 , 4096
static const uint16_t atrac3_vlc_offs [ 9 ] = {
0 , 512 , 1024 , 1536 , 2048 , 2560 , 3072 , 3584 , 4096
} ;
/* selector tables */
static const uint8_t CLCLengthTab [ 8 ] = { 0 , 4 , 3 , 3 , 4 , 4 , 5 , 6 } ;
static const int8_t seTab_0 [ 4 ] = { 0 , 1 , - 2 , - 1 } ;
static const int8_t decTable1 [ 18 ] = { 0 , 0 , 0 , 1 , 0 , - 1 , 1 , 0 , - 1 , 0 , 1 , 1 , 1 , - 1 , - 1 , 1 , - 1 , - 1 } ;
static const uint8_t clc_length_tab [ 8 ] = { 0 , 4 , 3 , 3 , 4 , 4 , 5 , 6 } ;
static const int8_t mantissa_clc_tab [ 4 ] = { 0 , 1 , - 2 , - 1 } ;
static const int8_t mantissa_vlc_tab [ 18 ] = {
0 , 0 , 0 , 1 , 0 , - 1 , 1 , 0 , - 1 , 0 , 1 , 1 , 1 , - 1 , - 1 , 1 , - 1 , - 1
} ;
/* tables for the scalefactor decoding */
static const float iMaxQuant [ 8 ] = {
0.0 , 1.0 / 1.5 , 1.0 / 2.5 , 1.0 / 3.5 , 1.0 / 4.5 , 1.0 / 7.5 , 1.0 / 15.5 , 1.0 / 31.5
static const float inv_max_quant [ 8 ] = {
0.0 , 1.0 / 1.5 , 1.0 / 2.5 , 1.0 / 3.5 ,
1.0 / 4.5 , 1.0 / 7.5 , 1.0 / 15.5 , 1.0 / 31.5
} ;
static const uint16_t subbandTab [ 33 ] = {
0 , 8 , 16 , 24 , 32 , 40 , 48 , 56 , 64 , 80 , 96 , 112 , 128 , 144 , 160 , 176 , 192 , 224 ,
256 , 288 , 320 , 352 , 384 , 416 , 448 , 480 , 512 , 576 , 640 , 704 , 768 , 896 , 1024
static const uint16_t subband_tab [ 33 ] = {
0 , 8 , 16 , 24 , 32 , 40 , 48 , 56 ,
64 , 80 , 96 , 112 , 128 , 144 , 160 , 176 ,
192 , 224 , 256 , 288 , 320 , 352 , 384 , 416 ,
448 , 480 , 512 , 576 , 640 , 704 , 768 , 896 ,
1024
} ;
/* joint stereo related tables */
static const float matrixCoeffs [ 8 ] = { 0.0 , 2.0 , 2.0 , 2.0 , 0.0 , 0.0 , 1.0 , 1.0 } ;
static const float matrix_coeffs [ 8 ] = {
0.0 , 2.0 , 2.0 , 2.0 , 0.0 , 0.0 , 1.0 , 1.0
} ;
# endif /* AVCODEC_ATRAC3DATA_H */