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
00109
00110 static const uint8_t CLCLengthTab[8] = {0, 4, 3, 3, 4, 4, 5, 6};
00111 static const int8_t seTab_0[4] = {0, 1, -2, -1};
00112 static const int8_t decTable1[18] = {0,0, 0,1, 0,-1, 1,0, -1,0, 1,1, 1,-1, -1,1, -1,-1};
00113
00114
00115
00116
00117 static const float iMaxQuant[8] = {
00118 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
00119 };
00120
00121 static const uint16_t subbandTab[33] = {
00122 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224,
00123 256, 288, 320, 352, 384, 416, 448, 480, 512, 576, 640, 704, 768, 896, 1024
00124 };
00125
00126
00127
00128 static const float qmf_48tap_half[24] = {
00129 -0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269,
00130 0.0002422519,-0.00085293897, -0.0005205574, 0.0020340169,
00131 0.00078333891, -0.0042153862, -0.00075614988, 0.0078402944,
00132 -0.000061169922, -0.01344162, 0.0024626821, 0.021736089,
00133 -0.007801671, -0.034090221, 0.01880949, 0.054326009,
00134 -0.043596379, -0.099384367, 0.13207909, 0.46424159
00135 };
00136
00137
00138 static const float matrixCoeffs[8] = {0.0, 2.0, 2.0, 2.0, 0.0, 0.0, 1.0, 1.0};
00139
00140 #endif