Mercurial > libavcodec.hg
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 */ |