00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00028 #ifndef AVCODEC_ATRAC3DATA_H
00029 #define AVCODEC_ATRAC3DATA_H
00030
00031 #include <stdint.h>
00032
00033
00034
00035 static const uint8_t huffcode1[9] = {
00036 0x0,0x4,0x5,0xC,0xD,0x1C,0x1D,0x1E,0x1F,
00037 };
00038
00039 static const uint8_t huffbits1[9] = {
00040 1,3,3,4,4,5,5,5,5,
00041 };
00042
00043 static const uint8_t huffcode2[5] = {
00044 0x0,0x4,0x5,0x6,0x7,
00045 };
00046
00047 static const uint8_t huffbits2[5] = {
00048 1,3,3,3,3,
00049 };
00050
00051 static const uint8_t huffcode3[7] = {
00052 0x0,0x4,0x5,0xC,0xD,0xE,0xF,
00053 };
00054
00055 static const uint8_t huffbits3[7] = {
00056 1,3,3,4,4,4,4,
00057 };
00058
00059 static const uint8_t huffcode4[9] = {
00060 0x0,0x4,0x5,0xC,0xD,0x1C,0x1D,0x1E,0x1F,
00061 };
00062
00063 static const uint8_t huffbits4[9] = {
00064 1,3,3,4,4,5,5,5,5,
00065 };
00066
00067 static const uint8_t huffcode5[15] = {
00068 0x0,0x2,0x3,0x8,0x9,0xA,0xB,0x1C,0x1D,0x3C,0x3D,0x3E,0x3F,0xC,0xD,
00069 };
00070
00071 static const uint8_t huffbits5[15] = {
00072 2,3,3,4,4,4,4,5,5,6,6,6,6,4,4
00073 };
00074
00075 static const uint8_t huffcode6[31] = {
00076 0x0,0x2,0x3,0x4,0x5,0x6,0x7,0x14,0x15,0x16,0x17,0x18,0x19,0x34,0x35,
00077 0x36,0x37,0x38,0x39,0x3A,0x3B,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,0x8,0x9,
00078 };
00079
00080 static const uint8_t huffbits6[31] = {
00081 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
00082 };
00083
00084 static const uint8_t huffcode7[63] = {
00085 0x0,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF,0x10,0x11,0x24,0x25,0x26,0x27,0x28,
00086 0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x68,0x69,0x6A,0x6B,0x6C,
00087 0x6D,0x6E,0x6F,0x70,0x71,0x72,0x73,0x74,0x75,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,
00088 0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,0x2,0x3,
00089 };
00090
00091 static const uint8_t huffbits7[63] = {
00092 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,
00093 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
00094 };
00095
00096 static const uint8_t huff_tab_sizes[7] = {
00097 9, 5, 7, 9, 15, 31, 63,
00098 };
00099
00100 static const uint8_t* const huff_codes[7] = {
00101 huffcode1,huffcode2,huffcode3,huffcode4,huffcode5,huffcode6,huffcode7,
00102 };
00103
00104 static const uint8_t* const huff_bits[7] = {
00105 huffbits1,huffbits2,huffbits3,huffbits4,huffbits5,huffbits6,huffbits7,
00106 };
00107
00108 static const uint16_t atrac3_vlc_offs[] = {
00109 0,512,1024,1536,2048,2560,3072,3584,4096
00110 };
00111
00112
00113
00114 static const uint8_t CLCLengthTab[8] = {0, 4, 3, 3, 4, 4, 5, 6};
00115 static const int8_t seTab_0[4] = {0, 1, -2, -1};
00116 static const int8_t decTable1[18] = {0,0, 0,1, 0,-1, 1,0, -1,0, 1,1, 1,-1, -1,1, -1,-1};
00117
00118
00119
00120
00121 static const float iMaxQuant[8] = {
00122 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
00123 };
00124
00125 static const uint16_t subbandTab[33] = {
00126 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224,
00127 256, 288, 320, 352, 384, 416, 448, 480, 512, 576, 640, 704, 768, 896, 1024
00128 };
00129
00130
00131 static const float matrixCoeffs[8] = {0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 1.0, 1.0};
00132
00133 #endif