comparison mpegaudiodectab.h @ 1064:b32afefe7d33 libavcodec

* UINTX -> uintx_t INTX -> intx_t
author kabi
date Tue, 11 Feb 2003 16:35:48 +0000
parents 2969a96650e5
children 1e39f273ecd6
comparison
equal deleted inserted replaced
1063:fdeac9642346 1064:b32afefe7d33
1 1
2 const UINT16 mpa_bitrate_tab[2][3][15] = { 2 const uint16_t mpa_bitrate_tab[2][3][15] = {
3 { {0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 }, 3 { {0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 },
4 {0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 }, 4 {0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 },
5 {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 } }, 5 {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 } },
6 { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256}, 6 { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256},
7 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160}, 7 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160},
8 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160} 8 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160}
9 } 9 }
10 }; 10 };
11 11
12 const UINT16 mpa_freq_tab[3] = { 44100, 48000, 32000 }; 12 const uint16_t mpa_freq_tab[3] = { 44100, 48000, 32000 };
13 13
14 /*******************************************************/ 14 /*******************************************************/
15 /* half mpeg encoding window (full precision) */ 15 /* half mpeg encoding window (full precision) */
16 const INT32 mpa_enwindow[257] = { 16 const int32_t mpa_enwindow[257] = {
17 0, -1, -1, -1, -1, -1, -1, -2, 17 0, -1, -1, -1, -1, -1, -1, -2,
18 -2, -2, -2, -3, -3, -4, -4, -5, 18 -2, -2, -2, -3, -3, -4, -4, -5,
19 -5, -6, -7, -7, -8, -9, -10, -11, 19 -5, -6, -7, -7, -8, -9, -10, -11,
20 -13, -14, -16, -17, -19, -21, -24, -26, 20 -13, -14, -16, -17, -19, -21, -24, -26,
21 -29, -31, -35, -38, -41, -45, -49, -53, 21 -29, -31, -35, -38, -41, -45, -49, -53,
198 198
199 /*******************************************************/ 199 /*******************************************************/
200 /* layer 3 tables */ 200 /* layer 3 tables */
201 201
202 /* layer3 scale factor size */ 202 /* layer3 scale factor size */
203 static const UINT8 slen_table[2][16] = { 203 static const uint8_t slen_table[2][16] = {
204 { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 }, 204 { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 },
205 { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 }, 205 { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 },
206 }; 206 };
207 207
208 /* number of lsf scale factors for a given size */ 208 /* number of lsf scale factors for a given size */
209 static const UINT8 lsf_nsf_table[6][3][4] = { 209 static const uint8_t lsf_nsf_table[6][3][4] = {
210 { { 6, 5, 5, 5 }, { 9, 9, 9, 9 }, { 6, 9, 9, 9 } }, 210 { { 6, 5, 5, 5 }, { 9, 9, 9, 9 }, { 6, 9, 9, 9 } },
211 { { 6, 5, 7, 3 }, { 9, 9, 12, 6 }, { 6, 9, 12, 6 } }, 211 { { 6, 5, 7, 3 }, { 9, 9, 12, 6 }, { 6, 9, 12, 6 } },
212 { { 11, 10, 0, 0 }, { 18, 18, 0, 0 }, { 15, 18, 0, 0 } }, 212 { { 11, 10, 0, 0 }, { 18, 18, 0, 0 }, { 15, 18, 0, 0 } },
213 { { 7, 7, 7, 0 }, { 12, 12, 12, 0 }, { 6, 15, 12, 0 } }, 213 { { 7, 7, 7, 0 }, { 12, 12, 12, 0 }, { 6, 15, 12, 0 } },
214 { { 6, 6, 6, 3 }, { 12, 9, 9, 6 }, { 6, 12, 9, 6 } }, 214 { { 6, 6, 6, 3 }, { 12, 9, 9, 6 }, { 6, 12, 9, 6 } },
215 { { 8, 8, 5, 0 }, { 15, 12, 9, 0 }, { 6, 18, 9, 0 } }, 215 { { 8, 8, 5, 0 }, { 15, 12, 9, 0 }, { 6, 18, 9, 0 } },
216 }; 216 };
217 217
218 /* mpegaudio layer 3 huffman tables */ 218 /* mpegaudio layer 3 huffman tables */
219 219
220 const UINT16 mpa_huffcodes_1[4] = { 220 const uint16_t mpa_huffcodes_1[4] = {
221 0x0001, 0x0001, 0x0001, 0x0000, 221 0x0001, 0x0001, 0x0001, 0x0000,
222 }; 222 };
223 223
224 const UINT8 mpa_huffbits_1[4] = { 224 const uint8_t mpa_huffbits_1[4] = {
225 1, 3, 2, 3, 225 1, 3, 2, 3,
226 }; 226 };
227 227
228 const UINT16 mpa_huffcodes_2[9] = { 228 const uint16_t mpa_huffcodes_2[9] = {
229 0x0001, 0x0002, 0x0001, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002, 229 0x0001, 0x0002, 0x0001, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002,
230 0x0000, 230 0x0000,
231 }; 231 };
232 232
233 const UINT8 mpa_huffbits_2[9] = { 233 const uint8_t mpa_huffbits_2[9] = {
234 1, 3, 6, 3, 3, 5, 5, 5, 234 1, 3, 6, 3, 3, 5, 5, 5,
235 6, 235 6,
236 }; 236 };
237 237
238 const UINT16 mpa_huffcodes_3[9] = { 238 const uint16_t mpa_huffcodes_3[9] = {
239 0x0003, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x0002, 239 0x0003, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x0002,
240 0x0000, 240 0x0000,
241 }; 241 };
242 242
243 const UINT8 mpa_huffbits_3[9] = { 243 const uint8_t mpa_huffbits_3[9] = {
244 2, 2, 6, 3, 2, 5, 5, 5, 244 2, 2, 6, 3, 2, 5, 5, 5,
245 6, 245 6,
246 }; 246 };
247 247
248 const UINT16 mpa_huffcodes_5[16] = { 248 const uint16_t mpa_huffcodes_5[16] = {
249 0x0001, 0x0002, 0x0006, 0x0005, 0x0003, 0x0001, 0x0004, 0x0004, 249 0x0001, 0x0002, 0x0006, 0x0005, 0x0003, 0x0001, 0x0004, 0x0004,
250 0x0007, 0x0005, 0x0007, 0x0001, 0x0006, 0x0001, 0x0001, 0x0000, 250 0x0007, 0x0005, 0x0007, 0x0001, 0x0006, 0x0001, 0x0001, 0x0000,
251 }; 251 };
252 252
253 const UINT8 mpa_huffbits_5[16] = { 253 const uint8_t mpa_huffbits_5[16] = {
254 1, 3, 6, 7, 3, 3, 6, 7, 254 1, 3, 6, 7, 3, 3, 6, 7,
255 6, 6, 7, 8, 7, 6, 7, 8, 255 6, 6, 7, 8, 7, 6, 7, 8,
256 }; 256 };
257 257
258 const UINT16 mpa_huffcodes_6[16] = { 258 const uint16_t mpa_huffcodes_6[16] = {
259 0x0007, 0x0003, 0x0005, 0x0001, 0x0006, 0x0002, 0x0003, 0x0002, 259 0x0007, 0x0003, 0x0005, 0x0001, 0x0006, 0x0002, 0x0003, 0x0002,
260 0x0005, 0x0004, 0x0004, 0x0001, 0x0003, 0x0003, 0x0002, 0x0000, 260 0x0005, 0x0004, 0x0004, 0x0001, 0x0003, 0x0003, 0x0002, 0x0000,
261 }; 261 };
262 262
263 const UINT8 mpa_huffbits_6[16] = { 263 const uint8_t mpa_huffbits_6[16] = {
264 3, 3, 5, 7, 3, 2, 4, 5, 264 3, 3, 5, 7, 3, 2, 4, 5,
265 4, 4, 5, 6, 6, 5, 6, 7, 265 4, 4, 5, 6, 6, 5, 6, 7,
266 }; 266 };
267 267
268 const UINT16 mpa_huffcodes_7[36] = { 268 const uint16_t mpa_huffcodes_7[36] = {
269 0x0001, 0x0002, 0x000a, 0x0013, 0x0010, 0x000a, 0x0003, 0x0003, 269 0x0001, 0x0002, 0x000a, 0x0013, 0x0010, 0x000a, 0x0003, 0x0003,
270 0x0007, 0x000a, 0x0005, 0x0003, 0x000b, 0x0004, 0x000d, 0x0011, 270 0x0007, 0x000a, 0x0005, 0x0003, 0x000b, 0x0004, 0x000d, 0x0011,
271 0x0008, 0x0004, 0x000c, 0x000b, 0x0012, 0x000f, 0x000b, 0x0002, 271 0x0008, 0x0004, 0x000c, 0x000b, 0x0012, 0x000f, 0x000b, 0x0002,
272 0x0007, 0x0006, 0x0009, 0x000e, 0x0003, 0x0001, 0x0006, 0x0004, 272 0x0007, 0x0006, 0x0009, 0x000e, 0x0003, 0x0001, 0x0006, 0x0004,
273 0x0005, 0x0003, 0x0002, 0x0000, 273 0x0005, 0x0003, 0x0002, 0x0000,
274 }; 274 };
275 275
276 const UINT8 mpa_huffbits_7[36] = { 276 const uint8_t mpa_huffbits_7[36] = {
277 1, 3, 6, 8, 8, 9, 3, 4, 277 1, 3, 6, 8, 8, 9, 3, 4,
278 6, 7, 7, 8, 6, 5, 7, 8, 278 6, 7, 7, 8, 6, 5, 7, 8,
279 8, 9, 7, 7, 8, 9, 9, 9, 279 8, 9, 7, 7, 8, 9, 9, 9,
280 7, 7, 8, 9, 9, 10, 8, 8, 280 7, 7, 8, 9, 9, 10, 8, 8,
281 9, 10, 10, 10, 281 9, 10, 10, 10,
282 }; 282 };
283 283
284 const UINT16 mpa_huffcodes_8[36] = { 284 const uint16_t mpa_huffcodes_8[36] = {
285 0x0003, 0x0004, 0x0006, 0x0012, 0x000c, 0x0005, 0x0005, 0x0001, 285 0x0003, 0x0004, 0x0006, 0x0012, 0x000c, 0x0005, 0x0005, 0x0001,
286 0x0002, 0x0010, 0x0009, 0x0003, 0x0007, 0x0003, 0x0005, 0x000e, 286 0x0002, 0x0010, 0x0009, 0x0003, 0x0007, 0x0003, 0x0005, 0x000e,
287 0x0007, 0x0003, 0x0013, 0x0011, 0x000f, 0x000d, 0x000a, 0x0004, 287 0x0007, 0x0003, 0x0013, 0x0011, 0x000f, 0x000d, 0x000a, 0x0004,
288 0x000d, 0x0005, 0x0008, 0x000b, 0x0005, 0x0001, 0x000c, 0x0004, 288 0x000d, 0x0005, 0x0008, 0x000b, 0x0005, 0x0001, 0x000c, 0x0004,
289 0x0004, 0x0001, 0x0001, 0x0000, 289 0x0004, 0x0001, 0x0001, 0x0000,
290 }; 290 };
291 291
292 const UINT8 mpa_huffbits_8[36] = { 292 const uint8_t mpa_huffbits_8[36] = {
293 2, 3, 6, 8, 8, 9, 3, 2, 293 2, 3, 6, 8, 8, 9, 3, 2,
294 4, 8, 8, 8, 6, 4, 6, 8, 294 4, 8, 8, 8, 6, 4, 6, 8,
295 8, 9, 8, 8, 8, 9, 9, 10, 295 8, 9, 8, 8, 8, 9, 9, 10,
296 8, 7, 8, 9, 10, 10, 9, 8, 296 8, 7, 8, 9, 10, 10, 9, 8,
297 9, 9, 11, 11, 297 9, 9, 11, 11,
298 }; 298 };
299 299
300 const UINT16 mpa_huffcodes_9[36] = { 300 const uint16_t mpa_huffcodes_9[36] = {
301 0x0007, 0x0005, 0x0009, 0x000e, 0x000f, 0x0007, 0x0006, 0x0004, 301 0x0007, 0x0005, 0x0009, 0x000e, 0x000f, 0x0007, 0x0006, 0x0004,
302 0x0005, 0x0005, 0x0006, 0x0007, 0x0007, 0x0006, 0x0008, 0x0008, 302 0x0005, 0x0005, 0x0006, 0x0007, 0x0007, 0x0006, 0x0008, 0x0008,
303 0x0008, 0x0005, 0x000f, 0x0006, 0x0009, 0x000a, 0x0005, 0x0001, 303 0x0008, 0x0005, 0x000f, 0x0006, 0x0009, 0x000a, 0x0005, 0x0001,
304 0x000b, 0x0007, 0x0009, 0x0006, 0x0004, 0x0001, 0x000e, 0x0004, 304 0x000b, 0x0007, 0x0009, 0x0006, 0x0004, 0x0001, 0x000e, 0x0004,
305 0x0006, 0x0002, 0x0006, 0x0000, 305 0x0006, 0x0002, 0x0006, 0x0000,
306 }; 306 };
307 307
308 const UINT8 mpa_huffbits_9[36] = { 308 const uint8_t mpa_huffbits_9[36] = {
309 3, 3, 5, 6, 8, 9, 3, 3, 309 3, 3, 5, 6, 8, 9, 3, 3,
310 4, 5, 6, 8, 4, 4, 5, 6, 310 4, 5, 6, 8, 4, 4, 5, 6,
311 7, 8, 6, 5, 6, 7, 7, 8, 311 7, 8, 6, 5, 6, 7, 7, 8,
312 7, 6, 7, 7, 8, 9, 8, 7, 312 7, 6, 7, 7, 8, 9, 8, 7,
313 8, 8, 9, 9, 313 8, 8, 9, 9,
314 }; 314 };
315 315
316 const UINT16 mpa_huffcodes_10[64] = { 316 const uint16_t mpa_huffcodes_10[64] = {
317 0x0001, 0x0002, 0x000a, 0x0017, 0x0023, 0x001e, 0x000c, 0x0011, 317 0x0001, 0x0002, 0x000a, 0x0017, 0x0023, 0x001e, 0x000c, 0x0011,
318 0x0003, 0x0003, 0x0008, 0x000c, 0x0012, 0x0015, 0x000c, 0x0007, 318 0x0003, 0x0003, 0x0008, 0x000c, 0x0012, 0x0015, 0x000c, 0x0007,
319 0x000b, 0x0009, 0x000f, 0x0015, 0x0020, 0x0028, 0x0013, 0x0006, 319 0x000b, 0x0009, 0x000f, 0x0015, 0x0020, 0x0028, 0x0013, 0x0006,
320 0x000e, 0x000d, 0x0016, 0x0022, 0x002e, 0x0017, 0x0012, 0x0007, 320 0x000e, 0x000d, 0x0016, 0x0022, 0x002e, 0x0017, 0x0012, 0x0007,
321 0x0014, 0x0013, 0x0021, 0x002f, 0x001b, 0x0016, 0x0009, 0x0003, 321 0x0014, 0x0013, 0x0021, 0x002f, 0x001b, 0x0016, 0x0009, 0x0003,
322 0x001f, 0x0016, 0x0029, 0x001a, 0x0015, 0x0014, 0x0005, 0x0003, 322 0x001f, 0x0016, 0x0029, 0x001a, 0x0015, 0x0014, 0x0005, 0x0003,
323 0x000e, 0x000d, 0x000a, 0x000b, 0x0010, 0x0006, 0x0005, 0x0001, 323 0x000e, 0x000d, 0x000a, 0x000b, 0x0010, 0x0006, 0x0005, 0x0001,
324 0x0009, 0x0008, 0x0007, 0x0008, 0x0004, 0x0004, 0x0002, 0x0000, 324 0x0009, 0x0008, 0x0007, 0x0008, 0x0004, 0x0004, 0x0002, 0x0000,
325 }; 325 };
326 326
327 const UINT8 mpa_huffbits_10[64] = { 327 const uint8_t mpa_huffbits_10[64] = {
328 1, 3, 6, 8, 9, 9, 9, 10, 328 1, 3, 6, 8, 9, 9, 9, 10,
329 3, 4, 6, 7, 8, 9, 8, 8, 329 3, 4, 6, 7, 8, 9, 8, 8,
330 6, 6, 7, 8, 9, 10, 9, 9, 330 6, 6, 7, 8, 9, 10, 9, 9,
331 7, 7, 8, 9, 10, 10, 9, 10, 331 7, 7, 8, 9, 10, 10, 9, 10,
332 8, 8, 9, 10, 10, 10, 10, 10, 332 8, 8, 9, 10, 10, 10, 10, 10,
333 9, 9, 10, 10, 11, 11, 10, 11, 333 9, 9, 10, 10, 11, 11, 10, 11,
334 8, 8, 9, 10, 10, 10, 11, 11, 334 8, 8, 9, 10, 10, 10, 11, 11,
335 9, 8, 9, 10, 10, 11, 11, 11, 335 9, 8, 9, 10, 10, 11, 11, 11,
336 }; 336 };
337 337
338 const UINT16 mpa_huffcodes_11[64] = { 338 const uint16_t mpa_huffcodes_11[64] = {
339 0x0003, 0x0004, 0x000a, 0x0018, 0x0022, 0x0021, 0x0015, 0x000f, 339 0x0003, 0x0004, 0x000a, 0x0018, 0x0022, 0x0021, 0x0015, 0x000f,
340 0x0005, 0x0003, 0x0004, 0x000a, 0x0020, 0x0011, 0x000b, 0x000a, 340 0x0005, 0x0003, 0x0004, 0x000a, 0x0020, 0x0011, 0x000b, 0x000a,
341 0x000b, 0x0007, 0x000d, 0x0012, 0x001e, 0x001f, 0x0014, 0x0005, 341 0x000b, 0x0007, 0x000d, 0x0012, 0x001e, 0x001f, 0x0014, 0x0005,
342 0x0019, 0x000b, 0x0013, 0x003b, 0x001b, 0x0012, 0x000c, 0x0005, 342 0x0019, 0x000b, 0x0013, 0x003b, 0x001b, 0x0012, 0x000c, 0x0005,
343 0x0023, 0x0021, 0x001f, 0x003a, 0x001e, 0x0010, 0x0007, 0x0005, 343 0x0023, 0x0021, 0x001f, 0x003a, 0x001e, 0x0010, 0x0007, 0x0005,
344 0x001c, 0x001a, 0x0020, 0x0013, 0x0011, 0x000f, 0x0008, 0x000e, 344 0x001c, 0x001a, 0x0020, 0x0013, 0x0011, 0x000f, 0x0008, 0x000e,
345 0x000e, 0x000c, 0x0009, 0x000d, 0x000e, 0x0009, 0x0004, 0x0001, 345 0x000e, 0x000c, 0x0009, 0x000d, 0x000e, 0x0009, 0x0004, 0x0001,
346 0x000b, 0x0004, 0x0006, 0x0006, 0x0006, 0x0003, 0x0002, 0x0000, 346 0x000b, 0x0004, 0x0006, 0x0006, 0x0006, 0x0003, 0x0002, 0x0000,
347 }; 347 };
348 348
349 const UINT8 mpa_huffbits_11[64] = { 349 const uint8_t mpa_huffbits_11[64] = {
350 2, 3, 5, 7, 8, 9, 8, 9, 350 2, 3, 5, 7, 8, 9, 8, 9,
351 3, 3, 4, 6, 8, 8, 7, 8, 351 3, 3, 4, 6, 8, 8, 7, 8,
352 5, 5, 6, 7, 8, 9, 8, 8, 352 5, 5, 6, 7, 8, 9, 8, 8,
353 7, 6, 7, 9, 8, 10, 8, 9, 353 7, 6, 7, 9, 8, 10, 8, 9,
354 8, 8, 8, 9, 9, 10, 9, 10, 354 8, 8, 8, 9, 9, 10, 9, 10,
355 8, 8, 9, 10, 10, 11, 10, 11, 355 8, 8, 9, 10, 10, 11, 10, 11,
356 8, 7, 7, 8, 9, 10, 10, 10, 356 8, 7, 7, 8, 9, 10, 10, 10,
357 8, 7, 8, 9, 10, 10, 10, 10, 357 8, 7, 8, 9, 10, 10, 10, 10,
358 }; 358 };
359 359
360 const UINT16 mpa_huffcodes_12[64] = { 360 const uint16_t mpa_huffcodes_12[64] = {
361 0x0009, 0x0006, 0x0010, 0x0021, 0x0029, 0x0027, 0x0026, 0x001a, 361 0x0009, 0x0006, 0x0010, 0x0021, 0x0029, 0x0027, 0x0026, 0x001a,
362 0x0007, 0x0005, 0x0006, 0x0009, 0x0017, 0x0010, 0x001a, 0x000b, 362 0x0007, 0x0005, 0x0006, 0x0009, 0x0017, 0x0010, 0x001a, 0x000b,
363 0x0011, 0x0007, 0x000b, 0x000e, 0x0015, 0x001e, 0x000a, 0x0007, 363 0x0011, 0x0007, 0x000b, 0x000e, 0x0015, 0x001e, 0x000a, 0x0007,
364 0x0011, 0x000a, 0x000f, 0x000c, 0x0012, 0x001c, 0x000e, 0x0005, 364 0x0011, 0x000a, 0x000f, 0x000c, 0x0012, 0x001c, 0x000e, 0x0005,
365 0x0020, 0x000d, 0x0016, 0x0013, 0x0012, 0x0010, 0x0009, 0x0005, 365 0x0020, 0x000d, 0x0016, 0x0013, 0x0012, 0x0010, 0x0009, 0x0005,
366 0x0028, 0x0011, 0x001f, 0x001d, 0x0011, 0x000d, 0x0004, 0x0002, 366 0x0028, 0x0011, 0x001f, 0x001d, 0x0011, 0x000d, 0x0004, 0x0002,
367 0x001b, 0x000c, 0x000b, 0x000f, 0x000a, 0x0007, 0x0004, 0x0001, 367 0x001b, 0x000c, 0x000b, 0x000f, 0x000a, 0x0007, 0x0004, 0x0001,
368 0x001b, 0x000c, 0x0008, 0x000c, 0x0006, 0x0003, 0x0001, 0x0000, 368 0x001b, 0x000c, 0x0008, 0x000c, 0x0006, 0x0003, 0x0001, 0x0000,
369 }; 369 };
370 370
371 const UINT8 mpa_huffbits_12[64] = { 371 const uint8_t mpa_huffbits_12[64] = {
372 4, 3, 5, 7, 8, 9, 9, 9, 372 4, 3, 5, 7, 8, 9, 9, 9,
373 3, 3, 4, 5, 7, 7, 8, 8, 373 3, 3, 4, 5, 7, 7, 8, 8,
374 5, 4, 5, 6, 7, 8, 7, 8, 374 5, 4, 5, 6, 7, 8, 7, 8,
375 6, 5, 6, 6, 7, 8, 8, 8, 375 6, 5, 6, 6, 7, 8, 8, 8,
376 7, 6, 7, 7, 8, 8, 8, 9, 376 7, 6, 7, 7, 8, 8, 8, 9,
377 8, 7, 8, 8, 8, 9, 8, 9, 377 8, 7, 8, 8, 8, 9, 8, 9,
378 8, 7, 7, 8, 8, 9, 9, 10, 378 8, 7, 7, 8, 8, 9, 9, 10,
379 9, 8, 8, 9, 9, 9, 9, 10, 379 9, 8, 8, 9, 9, 9, 9, 10,
380 }; 380 };
381 381
382 const UINT16 mpa_huffcodes_13[256] = { 382 const uint16_t mpa_huffcodes_13[256] = {
383 0x0001, 0x0005, 0x000e, 0x0015, 0x0022, 0x0033, 0x002e, 0x0047, 383 0x0001, 0x0005, 0x000e, 0x0015, 0x0022, 0x0033, 0x002e, 0x0047,
384 0x002a, 0x0034, 0x0044, 0x0034, 0x0043, 0x002c, 0x002b, 0x0013, 384 0x002a, 0x0034, 0x0044, 0x0034, 0x0043, 0x002c, 0x002b, 0x0013,
385 0x0003, 0x0004, 0x000c, 0x0013, 0x001f, 0x001a, 0x002c, 0x0021, 385 0x0003, 0x0004, 0x000c, 0x0013, 0x001f, 0x001a, 0x002c, 0x0021,
386 0x001f, 0x0018, 0x0020, 0x0018, 0x001f, 0x0023, 0x0016, 0x000e, 386 0x001f, 0x0018, 0x0020, 0x0018, 0x001f, 0x0023, 0x0016, 0x000e,
387 0x000f, 0x000d, 0x0017, 0x0024, 0x003b, 0x0031, 0x004d, 0x0041, 387 0x000f, 0x000d, 0x0017, 0x0024, 0x003b, 0x0031, 0x004d, 0x0041,
412 0x0010, 0x0017, 0x000d, 0x000a, 0x0006, 0x0001, 0x0004, 0x0002, 412 0x0010, 0x0017, 0x000d, 0x000a, 0x0006, 0x0001, 0x0004, 0x0002,
413 0x0010, 0x000f, 0x0011, 0x001b, 0x0019, 0x0014, 0x001d, 0x000b, 413 0x0010, 0x000f, 0x0011, 0x001b, 0x0019, 0x0014, 0x001d, 0x000b,
414 0x0011, 0x000c, 0x0010, 0x0008, 0x0001, 0x0001, 0x0000, 0x0001, 414 0x0011, 0x000c, 0x0010, 0x0008, 0x0001, 0x0001, 0x0000, 0x0001,
415 }; 415 };
416 416
417 const UINT8 mpa_huffbits_13[256] = { 417 const uint8_t mpa_huffbits_13[256] = {
418 1, 4, 6, 7, 8, 9, 9, 10, 418 1, 4, 6, 7, 8, 9, 9, 10,
419 9, 10, 11, 11, 12, 12, 13, 13, 419 9, 10, 11, 11, 12, 12, 13, 13,
420 3, 4, 6, 7, 8, 8, 9, 9, 420 3, 4, 6, 7, 8, 8, 9, 9,
421 9, 9, 10, 10, 11, 12, 12, 12, 421 9, 9, 10, 10, 11, 12, 12, 12,
422 6, 6, 7, 8, 9, 9, 10, 10, 422 6, 6, 7, 8, 9, 9, 10, 10,
447 14, 17, 15, 15, 15, 17, 16, 16, 447 14, 17, 15, 15, 15, 17, 16, 16,
448 12, 12, 13, 14, 14, 14, 15, 14, 448 12, 12, 13, 14, 14, 14, 15, 14,
449 15, 15, 16, 16, 19, 18, 19, 16, 449 15, 15, 16, 16, 19, 18, 19, 16,
450 }; 450 };
451 451
452 const UINT16 mpa_huffcodes_15[256] = { 452 const uint16_t mpa_huffcodes_15[256] = {
453 0x0007, 0x000c, 0x0012, 0x0035, 0x002f, 0x004c, 0x007c, 0x006c, 453 0x0007, 0x000c, 0x0012, 0x0035, 0x002f, 0x004c, 0x007c, 0x006c,
454 0x0059, 0x007b, 0x006c, 0x0077, 0x006b, 0x0051, 0x007a, 0x003f, 454 0x0059, 0x007b, 0x006c, 0x0077, 0x006b, 0x0051, 0x007a, 0x003f,
455 0x000d, 0x0005, 0x0010, 0x001b, 0x002e, 0x0024, 0x003d, 0x0033, 455 0x000d, 0x0005, 0x0010, 0x001b, 0x002e, 0x0024, 0x003d, 0x0033,
456 0x002a, 0x0046, 0x0034, 0x0053, 0x0041, 0x0029, 0x003b, 0x0024, 456 0x002a, 0x0046, 0x0034, 0x0053, 0x0041, 0x0029, 0x003b, 0x0024,
457 0x0013, 0x0011, 0x000f, 0x0018, 0x0029, 0x0022, 0x003b, 0x0030, 457 0x0013, 0x0011, 0x000f, 0x0018, 0x0029, 0x0022, 0x003b, 0x0030,
482 0x0025, 0x0018, 0x0011, 0x000c, 0x000f, 0x000a, 0x0002, 0x0001, 482 0x0025, 0x0018, 0x0011, 0x000c, 0x000f, 0x000a, 0x0002, 0x0001,
483 0x0047, 0x0025, 0x0022, 0x001e, 0x001c, 0x0014, 0x0011, 0x001a, 483 0x0047, 0x0025, 0x0022, 0x001e, 0x001c, 0x0014, 0x0011, 0x001a,
484 0x0015, 0x0010, 0x000a, 0x0006, 0x0008, 0x0006, 0x0002, 0x0000, 484 0x0015, 0x0010, 0x000a, 0x0006, 0x0008, 0x0006, 0x0002, 0x0000,
485 }; 485 };
486 486
487 const UINT8 mpa_huffbits_15[256] = { 487 const uint8_t mpa_huffbits_15[256] = {
488 3, 4, 5, 7, 7, 8, 9, 9, 488 3, 4, 5, 7, 7, 8, 9, 9,
489 9, 10, 10, 11, 11, 11, 12, 13, 489 9, 10, 10, 11, 11, 11, 12, 13,
490 4, 3, 5, 6, 7, 7, 8, 8, 490 4, 3, 5, 6, 7, 7, 8, 8,
491 8, 9, 9, 10, 10, 10, 11, 11, 491 8, 9, 9, 10, 10, 10, 11, 11,
492 5, 5, 5, 6, 7, 7, 8, 8, 492 5, 5, 5, 6, 7, 7, 8, 8,
517 12, 12, 12, 12, 13, 13, 12, 13, 517 12, 12, 12, 12, 13, 13, 12, 13,
518 12, 11, 11, 11, 11, 11, 11, 12, 518 12, 11, 11, 11, 11, 11, 11, 12,
519 12, 12, 12, 12, 13, 13, 13, 13, 519 12, 12, 12, 12, 13, 13, 13, 13,
520 }; 520 };
521 521
522 const UINT16 mpa_huffcodes_16[256] = { 522 const uint16_t mpa_huffcodes_16[256] = {
523 0x0001, 0x0005, 0x000e, 0x002c, 0x004a, 0x003f, 0x006e, 0x005d, 523 0x0001, 0x0005, 0x000e, 0x002c, 0x004a, 0x003f, 0x006e, 0x005d,
524 0x00ac, 0x0095, 0x008a, 0x00f2, 0x00e1, 0x00c3, 0x0178, 0x0011, 524 0x00ac, 0x0095, 0x008a, 0x00f2, 0x00e1, 0x00c3, 0x0178, 0x0011,
525 0x0003, 0x0004, 0x000c, 0x0014, 0x0023, 0x003e, 0x0035, 0x002f, 525 0x0003, 0x0004, 0x000c, 0x0014, 0x0023, 0x003e, 0x0035, 0x002f,
526 0x0053, 0x004b, 0x0044, 0x0077, 0x00c9, 0x006b, 0x00cf, 0x0009, 526 0x0053, 0x004b, 0x0044, 0x0077, 0x00c9, 0x006b, 0x00cf, 0x0009,
527 0x000f, 0x000d, 0x0017, 0x0026, 0x0043, 0x003a, 0x0067, 0x005a, 527 0x000f, 0x000d, 0x0017, 0x0026, 0x0043, 0x003a, 0x0067, 0x005a,
552 0x02c5, 0x0362, 0x06c6, 0x0367, 0x0d82, 0x0366, 0x01b2, 0x0000, 552 0x02c5, 0x0362, 0x06c6, 0x0367, 0x0d82, 0x0366, 0x01b2, 0x0000,
553 0x000c, 0x000a, 0x0007, 0x000b, 0x000a, 0x0011, 0x000b, 0x0009, 553 0x000c, 0x000a, 0x0007, 0x000b, 0x000a, 0x0011, 0x000b, 0x0009,
554 0x000d, 0x000c, 0x000a, 0x0007, 0x0005, 0x0003, 0x0001, 0x0003, 554 0x000d, 0x000c, 0x000a, 0x0007, 0x0005, 0x0003, 0x0001, 0x0003,
555 }; 555 };
556 556
557 const UINT8 mpa_huffbits_16[256] = { 557 const uint8_t mpa_huffbits_16[256] = {
558 1, 4, 6, 8, 9, 9, 10, 10, 558 1, 4, 6, 8, 9, 9, 10, 10,
559 11, 11, 11, 12, 12, 12, 13, 9, 559 11, 11, 11, 12, 12, 12, 13, 9,
560 3, 4, 6, 7, 8, 9, 9, 9, 560 3, 4, 6, 7, 8, 9, 9, 9,
561 10, 10, 10, 11, 12, 11, 12, 8, 561 10, 10, 10, 11, 12, 11, 12, 8,
562 6, 6, 7, 8, 9, 9, 10, 10, 562 6, 6, 7, 8, 9, 9, 10, 10,
587 14, 15, 16, 15, 17, 15, 14, 11, 587 14, 15, 16, 15, 17, 15, 14, 11,
588 9, 8, 8, 9, 9, 10, 10, 10, 588 9, 8, 8, 9, 9, 10, 10, 10,
589 11, 11, 11, 11, 11, 11, 11, 8, 589 11, 11, 11, 11, 11, 11, 11, 8,
590 }; 590 };
591 591
592 const UINT16 mpa_huffcodes_24[256] = { 592 const uint16_t mpa_huffcodes_24[256] = {
593 0x000f, 0x000d, 0x002e, 0x0050, 0x0092, 0x0106, 0x00f8, 0x01b2, 593 0x000f, 0x000d, 0x002e, 0x0050, 0x0092, 0x0106, 0x00f8, 0x01b2,
594 0x01aa, 0x029d, 0x028d, 0x0289, 0x026d, 0x0205, 0x0408, 0x0058, 594 0x01aa, 0x029d, 0x028d, 0x0289, 0x026d, 0x0205, 0x0408, 0x0058,
595 0x000e, 0x000c, 0x0015, 0x0026, 0x0047, 0x0082, 0x007a, 0x00d8, 595 0x000e, 0x000c, 0x0015, 0x0026, 0x0047, 0x0082, 0x007a, 0x00d8,
596 0x00d1, 0x00c6, 0x0147, 0x0159, 0x013f, 0x0129, 0x0117, 0x002a, 596 0x00d1, 0x00c6, 0x0147, 0x0159, 0x013f, 0x0129, 0x0117, 0x002a,
597 0x002f, 0x0016, 0x0029, 0x004a, 0x0044, 0x0080, 0x0078, 0x00dd, 597 0x002f, 0x0016, 0x0029, 0x004a, 0x0044, 0x0080, 0x0078, 0x00dd,
622 0x017a, 0x0174, 0x016f, 0x016b, 0x0168, 0x0166, 0x0164, 0x0000, 622 0x017a, 0x0174, 0x016f, 0x016b, 0x0168, 0x0166, 0x0164, 0x0000,
623 0x002b, 0x0014, 0x0013, 0x0011, 0x000f, 0x000d, 0x000b, 0x0009, 623 0x002b, 0x0014, 0x0013, 0x0011, 0x000f, 0x000d, 0x000b, 0x0009,
624 0x0007, 0x0006, 0x0004, 0x0007, 0x0005, 0x0003, 0x0001, 0x0003, 624 0x0007, 0x0006, 0x0004, 0x0007, 0x0005, 0x0003, 0x0001, 0x0003,
625 }; 625 };
626 626
627 const UINT8 mpa_huffbits_24[256] = { 627 const uint8_t mpa_huffbits_24[256] = {
628 4, 4, 6, 7, 8, 9, 9, 10, 628 4, 4, 6, 7, 8, 9, 9, 10,
629 10, 11, 11, 11, 11, 11, 12, 9, 629 10, 11, 11, 11, 11, 11, 12, 9,
630 4, 4, 5, 6, 7, 8, 8, 9, 630 4, 4, 5, 6, 7, 8, 8, 9,
631 9, 9, 10, 10, 10, 10, 10, 8, 631 9, 9, 10, 10, 10, 10, 10, 8,
632 6, 5, 6, 7, 7, 8, 8, 9, 632 6, 5, 6, 7, 7, 8, 8, 9,
676 { 16, mpa_huffbits_15, mpa_huffcodes_15 }, 676 { 16, mpa_huffbits_15, mpa_huffcodes_15 },
677 { 16, mpa_huffbits_16, mpa_huffcodes_16 }, 677 { 16, mpa_huffbits_16, mpa_huffcodes_16 },
678 { 16, mpa_huffbits_24, mpa_huffcodes_24 }, 678 { 16, mpa_huffbits_24, mpa_huffcodes_24 },
679 }; 679 };
680 680
681 const UINT8 mpa_huff_data[32][2] = { 681 const uint8_t mpa_huff_data[32][2] = {
682 { 0, 0 }, 682 { 0, 0 },
683 { 1, 0 }, 683 { 1, 0 },
684 { 2, 0 }, 684 { 2, 0 },
685 { 3, 0 }, 685 { 3, 0 },
686 { 0, 0 }, 686 { 0, 0 },
713 { 15, 13 }, 713 { 15, 13 },
714 }; 714 };
715 715
716 716
717 /* huffman tables for quadrules */ 717 /* huffman tables for quadrules */
718 static UINT8 mpa_quad_codes[2][16] = { 718 static uint8_t mpa_quad_codes[2][16] = {
719 { 1, 5, 4, 5, 6, 5, 4, 4, 7, 3, 6, 0, 7, 2, 3, 1, }, 719 { 1, 5, 4, 5, 6, 5, 4, 4, 7, 3, 6, 0, 7, 2, 3, 1, },
720 { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, }, 720 { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, },
721 }; 721 };
722 722
723 static UINT8 mpa_quad_bits[2][16] = { 723 static uint8_t mpa_quad_bits[2][16] = {
724 { 1, 4, 4, 5, 4, 6, 5, 6, 4, 5, 5, 6, 5, 6, 6, 6, }, 724 { 1, 4, 4, 5, 4, 6, 5, 6, 4, 5, 5, 6, 5, 6, 6, 6, },
725 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }, 725 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, },
726 }; 726 };
727 727
728 /* band size tables */ 728 /* band size tables */
729 const UINT8 band_size_long[9][22] = { 729 const uint8_t band_size_long[9][22] = {
730 { 4, 4, 4, 4, 4, 4, 6, 6, 8, 8, 10, 730 { 4, 4, 4, 4, 4, 4, 6, 6, 8, 8, 10,
731 12, 16, 20, 24, 28, 34, 42, 50, 54, 76, 158, }, /* 44100 */ 731 12, 16, 20, 24, 28, 34, 42, 50, 54, 76, 158, }, /* 44100 */
732 { 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 10, 732 { 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 10,
733 12, 16, 18, 22, 28, 34, 40, 46, 54, 54, 192, }, /* 48000 */ 733 12, 16, 18, 22, 28, 34, 40, 46, 54, 54, 192, }, /* 48000 */
734 { 4, 4, 4, 4, 4, 4, 6, 6, 8, 10, 12, 734 { 4, 4, 4, 4, 4, 4, 6, 6, 8, 10, 12,
745 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54, }, /* 12000 */ 745 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54, }, /* 12000 */
746 { 12, 12, 12, 12, 12, 12, 16, 20, 24, 28, 32, 746 { 12, 12, 12, 12, 12, 12, 16, 20, 24, 28, 32,
747 40, 48, 56, 64, 76, 90, 2, 2, 2, 2, 2, }, /* 8000 */ 747 40, 48, 56, 64, 76, 90, 2, 2, 2, 2, 2, }, /* 8000 */
748 }; 748 };
749 749
750 const UINT8 band_size_short[9][13] = { 750 const uint8_t band_size_short[9][13] = {
751 { 4, 4, 4, 4, 6, 8, 10, 12, 14, 18, 22, 30, 56, }, /* 44100 */ 751 { 4, 4, 4, 4, 6, 8, 10, 12, 14, 18, 22, 30, 56, }, /* 44100 */
752 { 4, 4, 4, 4, 6, 6, 10, 12, 14, 16, 20, 26, 66, }, /* 48000 */ 752 { 4, 4, 4, 4, 6, 6, 10, 12, 14, 16, 20, 26, 66, }, /* 48000 */
753 { 4, 4, 4, 4, 6, 8, 12, 16, 20, 26, 34, 42, 12, }, /* 32000 */ 753 { 4, 4, 4, 4, 6, 8, 12, 16, 20, 26, 34, 42, 12, }, /* 32000 */
754 { 4, 4, 4, 6, 6, 8, 10, 14, 18, 26, 32, 42, 18, }, /* 22050 */ 754 { 4, 4, 4, 6, 6, 8, 10, 14, 18, 26, 32, 42, 18, }, /* 22050 */
755 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 32, 44, 12, }, /* 24000 */ 755 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 32, 44, 12, }, /* 24000 */
757 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 11025 */ 757 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 11025 */
758 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 12000 */ 758 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 12000 */
759 { 8, 8, 8, 12, 16, 20, 24, 28, 36, 2, 2, 2, 26, }, /* 8000 */ 759 { 8, 8, 8, 12, 16, 20, 24, 28, 36, 2, 2, 2, 26, }, /* 8000 */
760 }; 760 };
761 761
762 const UINT8 mpa_pretab[2][22] = { 762 const uint8_t mpa_pretab[2][22] = {
763 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 763 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
764 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0 }, 764 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0 },
765 }; 765 };
766 766
767 /* table for alias reduction (XXX: store it as integer !) */ 767 /* table for alias reduction (XXX: store it as integer !) */