comparison mpegaudiodectab.h @ 5031:70f194a2ee53 libavcodec

move some common mpeg audio tables from mpegaudiodectab.h to mpegaudiodata.c
author aurel
date Sat, 19 May 2007 00:06:02 +0000
parents af40e7d99b8c
children 4394344397d8
comparison
equal deleted inserted replaced
5030:9ce0052d533a 5031:70f194a2ee53
21 21
22 /** 22 /**
23 * @file mpegaudiodectab.h 23 * @file mpegaudiodectab.h
24 * mpeg audio layer decoder tables. 24 * mpeg audio layer decoder tables.
25 */ 25 */
26
27 const uint16_t mpa_bitrate_tab[2][3][15] = {
28 { {0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 },
29 {0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 },
30 {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 } },
31 { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256},
32 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160},
33 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160}
34 }
35 };
36
37 const uint16_t mpa_freq_tab[3] = { 44100, 48000, 32000 };
38
39 /*******************************************************/
40 /* half mpeg encoding window (full precision) */
41 const int32_t mpa_enwindow[257] = {
42 0, -1, -1, -1, -1, -1, -1, -2,
43 -2, -2, -2, -3, -3, -4, -4, -5,
44 -5, -6, -7, -7, -8, -9, -10, -11,
45 -13, -14, -16, -17, -19, -21, -24, -26,
46 -29, -31, -35, -38, -41, -45, -49, -53,
47 -58, -63, -68, -73, -79, -85, -91, -97,
48 -104, -111, -117, -125, -132, -139, -147, -154,
49 -161, -169, -176, -183, -190, -196, -202, -208,
50 213, 218, 222, 225, 227, 228, 228, 227,
51 224, 221, 215, 208, 200, 189, 177, 163,
52 146, 127, 106, 83, 57, 29, -2, -36,
53 -72, -111, -153, -197, -244, -294, -347, -401,
54 -459, -519, -581, -645, -711, -779, -848, -919,
55 -991, -1064, -1137, -1210, -1283, -1356, -1428, -1498,
56 -1567, -1634, -1698, -1759, -1817, -1870, -1919, -1962,
57 -2001, -2032, -2057, -2075, -2085, -2087, -2080, -2063,
58 2037, 2000, 1952, 1893, 1822, 1739, 1644, 1535,
59 1414, 1280, 1131, 970, 794, 605, 402, 185,
60 -45, -288, -545, -814, -1095, -1388, -1692, -2006,
61 -2330, -2663, -3004, -3351, -3705, -4063, -4425, -4788,
62 -5153, -5517, -5879, -6237, -6589, -6935, -7271, -7597,
63 -7910, -8209, -8491, -8755, -8998, -9219, -9416, -9585,
64 -9727, -9838, -9916, -9959, -9966, -9935, -9863, -9750,
65 -9592, -9389, -9139, -8840, -8492, -8092, -7640, -7134,
66 6574, 5959, 5288, 4561, 3776, 2935, 2037, 1082,
67 70, -998, -2122, -3300, -4533, -5818, -7154, -8540,
68 -9975,-11455,-12980,-14548,-16155,-17799,-19478,-21189,
69 -22929,-24694,-26482,-28289,-30112,-31947,-33791,-35640,
70 -37489,-39336,-41176,-43006,-44821,-46617,-48390,-50137,
71 -51853,-53534,-55178,-56778,-58333,-59838,-61289,-62684,
72 -64019,-65290,-66494,-67629,-68692,-69679,-70590,-71420,
73 -72169,-72835,-73415,-73908,-74313,-74630,-74856,-74992,
74 75038,
75 };
76
77 /*******************************************************/
78 /* layer 2 tables */
79
80 const int sblimit_table[5] = { 27 , 30 , 8, 12 , 30 };
81
82 const int quant_steps[17] = {
83 3, 5, 7, 9, 15,
84 31, 63, 127, 255, 511,
85 1023, 2047, 4095, 8191, 16383,
86 32767, 65535
87 };
88
89 /* we use a negative value if grouped */
90 const int quant_bits[17] = {
91 -5, -7, 3, -10, 4,
92 5, 6, 7, 8, 9,
93 10, 11, 12, 13, 14,
94 15, 16
95 };
96
97 /* encoding tables which give the quantization index. Note how it is
98 possible to store them efficiently ! */
99 static const unsigned char alloc_table_0[] = {
100 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
101 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
102 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
103 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
104 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
105 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
106 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
107 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
108 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
109 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
110 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
111 3, 0, 1, 2, 3, 4, 5, 16,
112 3, 0, 1, 2, 3, 4, 5, 16,
113 3, 0, 1, 2, 3, 4, 5, 16,
114 3, 0, 1, 2, 3, 4, 5, 16,
115 3, 0, 1, 2, 3, 4, 5, 16,
116 3, 0, 1, 2, 3, 4, 5, 16,
117 3, 0, 1, 2, 3, 4, 5, 16,
118 3, 0, 1, 2, 3, 4, 5, 16,
119 3, 0, 1, 2, 3, 4, 5, 16,
120 3, 0, 1, 2, 3, 4, 5, 16,
121 3, 0, 1, 2, 3, 4, 5, 16,
122 3, 0, 1, 2, 3, 4, 5, 16,
123 2, 0, 1, 16,
124 2, 0, 1, 16,
125 2, 0, 1, 16,
126 2, 0, 1, 16,
127 };
128
129 static const unsigned char alloc_table_1[] = {
130 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
131 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
132 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
133 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
134 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
135 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
136 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
137 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
138 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
139 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
140 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
141 3, 0, 1, 2, 3, 4, 5, 16,
142 3, 0, 1, 2, 3, 4, 5, 16,
143 3, 0, 1, 2, 3, 4, 5, 16,
144 3, 0, 1, 2, 3, 4, 5, 16,
145 3, 0, 1, 2, 3, 4, 5, 16,
146 3, 0, 1, 2, 3, 4, 5, 16,
147 3, 0, 1, 2, 3, 4, 5, 16,
148 3, 0, 1, 2, 3, 4, 5, 16,
149 3, 0, 1, 2, 3, 4, 5, 16,
150 3, 0, 1, 2, 3, 4, 5, 16,
151 3, 0, 1, 2, 3, 4, 5, 16,
152 3, 0, 1, 2, 3, 4, 5, 16,
153 2, 0, 1, 16,
154 2, 0, 1, 16,
155 2, 0, 1, 16,
156 2, 0, 1, 16,
157 2, 0, 1, 16,
158 2, 0, 1, 16,
159 2, 0, 1, 16,
160 };
161
162 static const unsigned char alloc_table_2[] = {
163 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
164 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
165 3, 0, 1, 3, 4, 5, 6, 7,
166 3, 0, 1, 3, 4, 5, 6, 7,
167 3, 0, 1, 3, 4, 5, 6, 7,
168 3, 0, 1, 3, 4, 5, 6, 7,
169 3, 0, 1, 3, 4, 5, 6, 7,
170 3, 0, 1, 3, 4, 5, 6, 7,
171 };
172
173 static const unsigned char alloc_table_3[] = {
174 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
175 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
176 3, 0, 1, 3, 4, 5, 6, 7,
177 3, 0, 1, 3, 4, 5, 6, 7,
178 3, 0, 1, 3, 4, 5, 6, 7,
179 3, 0, 1, 3, 4, 5, 6, 7,
180 3, 0, 1, 3, 4, 5, 6, 7,
181 3, 0, 1, 3, 4, 5, 6, 7,
182 3, 0, 1, 3, 4, 5, 6, 7,
183 3, 0, 1, 3, 4, 5, 6, 7,
184 3, 0, 1, 3, 4, 5, 6, 7,
185 3, 0, 1, 3, 4, 5, 6, 7,
186 };
187
188 static const unsigned char alloc_table_4[] = {
189 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
190 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
191 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
192 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
193 3, 0, 1, 3, 4, 5, 6, 7,
194 3, 0, 1, 3, 4, 5, 6, 7,
195 3, 0, 1, 3, 4, 5, 6, 7,
196 3, 0, 1, 3, 4, 5, 6, 7,
197 3, 0, 1, 3, 4, 5, 6, 7,
198 3, 0, 1, 3, 4, 5, 6, 7,
199 3, 0, 1, 3, 4, 5, 6, 7,
200 2, 0, 1, 3,
201 2, 0, 1, 3,
202 2, 0, 1, 3,
203 2, 0, 1, 3,
204 2, 0, 1, 3,
205 2, 0, 1, 3,
206 2, 0, 1, 3,
207 2, 0, 1, 3,
208 2, 0, 1, 3,
209 2, 0, 1, 3,
210 2, 0, 1, 3,
211 2, 0, 1, 3,
212 2, 0, 1, 3,
213 2, 0, 1, 3,
214 2, 0, 1, 3,
215 2, 0, 1, 3,
216 2, 0, 1, 3,
217 2, 0, 1, 3,
218 2, 0, 1, 3,
219 };
220
221 const unsigned char *alloc_tables[5] =
222 { alloc_table_0, alloc_table_1, alloc_table_2, alloc_table_3, alloc_table_4, };
223 26
224 /*******************************************************/ 27 /*******************************************************/
225 /* layer 3 tables */ 28 /* layer 3 tables */
226 29
227 /* layer3 scale factor size */ 30 /* layer3 scale factor size */