annotate mpegaudiodectab.h @ 2497:69adfbbdcdeb libavcodec

- samples from mplayer ftp in the "adv" profile seem to have profile=2, which isn't the advanced one; and indeed, using adv. profile parser fails. Using normal parser works, and that's what is done - attempt at taking care of stride for NORM2 bitplane decoding - duplication of much code from msmpeg4.c; this code isn't yet used, but goes down as far as the block layer (mainly Transform Type stuff, the remains are wild editing without checking). Unusable yet, and lacks the AC decoding (but a step further in bitstream parsing) patch by anonymous
author michael
date Fri, 04 Feb 2005 02:20:38 +0000
parents 1e39f273ecd6
children ba8ecddf5598
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
1 /**
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
2 * @file mpegaudiodectab.h
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
3 * mpeg audio layer decoder tables.
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
4 */
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
5
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
6 const uint16_t mpa_bitrate_tab[2][3][15] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
7 { {0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
8 {0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
9 {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
10 { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256},
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
11 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160},
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
12 {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160}
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
13 }
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
14 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
15
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
16 const uint16_t mpa_freq_tab[3] = { 44100, 48000, 32000 };
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
17
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
18 /*******************************************************/
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
19 /* half mpeg encoding window (full precision) */
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
20 const int32_t mpa_enwindow[257] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
21 0, -1, -1, -1, -1, -1, -1, -2,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
22 -2, -2, -2, -3, -3, -4, -4, -5,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
23 -5, -6, -7, -7, -8, -9, -10, -11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
24 -13, -14, -16, -17, -19, -21, -24, -26,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
25 -29, -31, -35, -38, -41, -45, -49, -53,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
26 -58, -63, -68, -73, -79, -85, -91, -97,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
27 -104, -111, -117, -125, -132, -139, -147, -154,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
28 -161, -169, -176, -183, -190, -196, -202, -208,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
29 213, 218, 222, 225, 227, 228, 228, 227,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
30 224, 221, 215, 208, 200, 189, 177, 163,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
31 146, 127, 106, 83, 57, 29, -2, -36,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
32 -72, -111, -153, -197, -244, -294, -347, -401,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
33 -459, -519, -581, -645, -711, -779, -848, -919,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
34 -991, -1064, -1137, -1210, -1283, -1356, -1428, -1498,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
35 -1567, -1634, -1698, -1759, -1817, -1870, -1919, -1962,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
36 -2001, -2032, -2057, -2075, -2085, -2087, -2080, -2063,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
37 2037, 2000, 1952, 1893, 1822, 1739, 1644, 1535,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
38 1414, 1280, 1131, 970, 794, 605, 402, 185,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
39 -45, -288, -545, -814, -1095, -1388, -1692, -2006,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
40 -2330, -2663, -3004, -3351, -3705, -4063, -4425, -4788,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
41 -5153, -5517, -5879, -6237, -6589, -6935, -7271, -7597,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
42 -7910, -8209, -8491, -8755, -8998, -9219, -9416, -9585,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
43 -9727, -9838, -9916, -9959, -9966, -9935, -9863, -9750,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
44 -9592, -9389, -9139, -8840, -8492, -8092, -7640, -7134,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
45 6574, 5959, 5288, 4561, 3776, 2935, 2037, 1082,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
46 70, -998, -2122, -3300, -4533, -5818, -7154, -8540,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
47 -9975,-11455,-12980,-14548,-16155,-17799,-19478,-21189,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
48 -22929,-24694,-26482,-28289,-30112,-31947,-33791,-35640,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
49 -37489,-39336,-41176,-43006,-44821,-46617,-48390,-50137,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
50 -51853,-53534,-55178,-56778,-58333,-59838,-61289,-62684,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
51 -64019,-65290,-66494,-67629,-68692,-69679,-70590,-71420,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
52 -72169,-72835,-73415,-73908,-74313,-74630,-74856,-74992,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
53 75038,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
54 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
55
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
56 /*******************************************************/
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
57 /* layer 2 tables */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
58
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
59 const int sblimit_table[5] = { 27 , 30 , 8, 12 , 30 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
60
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
61 const int quant_steps[17] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
62 3, 5, 7, 9, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
63 31, 63, 127, 255, 511,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
64 1023, 2047, 4095, 8191, 16383,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
65 32767, 65535
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
66 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
67
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
68 /* we use a negative value if grouped */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
69 const int quant_bits[17] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
70 -5, -7, 3, -10, 4,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
71 5, 6, 7, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
72 10, 11, 12, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
73 15, 16
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
74 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
75
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
76 /* encoding tables which give the quantization index. Note how it is
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
77 possible to store them efficiently ! */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
78 static const unsigned char alloc_table_0[] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
79 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
80 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
81 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
82 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
83 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
84 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
85 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
86 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
87 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
88 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
89 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
90 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
91 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
92 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
93 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
94 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
95 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
96 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
97 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
98 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
99 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
100 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
101 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
102 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
103 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
104 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
105 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
106 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
107
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
108 static const unsigned char alloc_table_1[] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
109 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
110 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
111 4, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
112 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
113 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
114 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
115 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
116 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
117 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
118 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
119 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
120 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
121 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
122 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
123 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
124 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
125 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
126 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
127 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
128 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
129 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
130 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
131 3, 0, 1, 2, 3, 4, 5, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
132 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
133 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
134 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
135 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
136 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
137 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
138 2, 0, 1, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
139 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
140
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
141 static const unsigned char alloc_table_2[] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
142 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
143 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
144 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
145 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
146 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
147 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
148 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
149 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
150 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
151
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
152 static const unsigned char alloc_table_3[] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
153 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
154 4, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
155 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
156 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
157 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
158 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
159 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
160 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
161 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
162 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
163 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
164 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
165 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
166
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
167 static const unsigned char alloc_table_4[] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
168 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
169 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
170 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
171 4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
172 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
173 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
174 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
175 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
176 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
177 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
178 3, 0, 1, 3, 4, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
179 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
180 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
181 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
182 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
183 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
184 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
185 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
186 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
187 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
188 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
189 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
190 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
191 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
192 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
193 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
194 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
195 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
196 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
197 2, 0, 1, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
198 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
199
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
200 const unsigned char *alloc_tables[5] =
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
201 { alloc_table_0, alloc_table_1, alloc_table_2, alloc_table_3, alloc_table_4, };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
202
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
203 /*******************************************************/
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
204 /* layer 3 tables */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
205
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
206 /* layer3 scale factor size */
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
207 static const uint8_t slen_table[2][16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
208 { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
209 { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
210 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
211
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
212 /* number of lsf scale factors for a given size */
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
213 static const uint8_t lsf_nsf_table[6][3][4] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
214 { { 6, 5, 5, 5 }, { 9, 9, 9, 9 }, { 6, 9, 9, 9 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
215 { { 6, 5, 7, 3 }, { 9, 9, 12, 6 }, { 6, 9, 12, 6 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
216 { { 11, 10, 0, 0 }, { 18, 18, 0, 0 }, { 15, 18, 0, 0 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
217 { { 7, 7, 7, 0 }, { 12, 12, 12, 0 }, { 6, 15, 12, 0 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
218 { { 6, 6, 6, 3 }, { 12, 9, 9, 6 }, { 6, 12, 9, 6 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
219 { { 8, 8, 5, 0 }, { 15, 12, 9, 0 }, { 6, 18, 9, 0 } },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
220 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
221
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
222 /* mpegaudio layer 3 huffman tables */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
223
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
224 const uint16_t mpa_huffcodes_1[4] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
225 0x0001, 0x0001, 0x0001, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
226 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
227
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
228 const uint8_t mpa_huffbits_1[4] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
229 1, 3, 2, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
230 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
231
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
232 const uint16_t mpa_huffcodes_2[9] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
233 0x0001, 0x0002, 0x0001, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
234 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
235 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
236
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
237 const uint8_t mpa_huffbits_2[9] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
238 1, 3, 6, 3, 3, 5, 5, 5,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
239 6,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
240 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
241
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
242 const uint16_t mpa_huffcodes_3[9] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
243 0x0003, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
244 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
245 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
246
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
247 const uint8_t mpa_huffbits_3[9] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
248 2, 2, 6, 3, 2, 5, 5, 5,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
249 6,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
250 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
251
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
252 const uint16_t mpa_huffcodes_5[16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
253 0x0001, 0x0002, 0x0006, 0x0005, 0x0003, 0x0001, 0x0004, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
254 0x0007, 0x0005, 0x0007, 0x0001, 0x0006, 0x0001, 0x0001, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
255 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
256
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
257 const uint8_t mpa_huffbits_5[16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
258 1, 3, 6, 7, 3, 3, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
259 6, 6, 7, 8, 7, 6, 7, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
260 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
261
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
262 const uint16_t mpa_huffcodes_6[16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
263 0x0007, 0x0003, 0x0005, 0x0001, 0x0006, 0x0002, 0x0003, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
264 0x0005, 0x0004, 0x0004, 0x0001, 0x0003, 0x0003, 0x0002, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
265 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
266
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
267 const uint8_t mpa_huffbits_6[16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
268 3, 3, 5, 7, 3, 2, 4, 5,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
269 4, 4, 5, 6, 6, 5, 6, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
270 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
271
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
272 const uint16_t mpa_huffcodes_7[36] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
273 0x0001, 0x0002, 0x000a, 0x0013, 0x0010, 0x000a, 0x0003, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
274 0x0007, 0x000a, 0x0005, 0x0003, 0x000b, 0x0004, 0x000d, 0x0011,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
275 0x0008, 0x0004, 0x000c, 0x000b, 0x0012, 0x000f, 0x000b, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
276 0x0007, 0x0006, 0x0009, 0x000e, 0x0003, 0x0001, 0x0006, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
277 0x0005, 0x0003, 0x0002, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
278 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
279
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
280 const uint8_t mpa_huffbits_7[36] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
281 1, 3, 6, 8, 8, 9, 3, 4,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
282 6, 7, 7, 8, 6, 5, 7, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
283 8, 9, 7, 7, 8, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
284 7, 7, 8, 9, 9, 10, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
285 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
286 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
287
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
288 const uint16_t mpa_huffcodes_8[36] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
289 0x0003, 0x0004, 0x0006, 0x0012, 0x000c, 0x0005, 0x0005, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
290 0x0002, 0x0010, 0x0009, 0x0003, 0x0007, 0x0003, 0x0005, 0x000e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
291 0x0007, 0x0003, 0x0013, 0x0011, 0x000f, 0x000d, 0x000a, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
292 0x000d, 0x0005, 0x0008, 0x000b, 0x0005, 0x0001, 0x000c, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
293 0x0004, 0x0001, 0x0001, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
294 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
295
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
296 const uint8_t mpa_huffbits_8[36] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
297 2, 3, 6, 8, 8, 9, 3, 2,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
298 4, 8, 8, 8, 6, 4, 6, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
299 8, 9, 8, 8, 8, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
300 8, 7, 8, 9, 10, 10, 9, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
301 9, 9, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
302 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
303
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
304 const uint16_t mpa_huffcodes_9[36] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
305 0x0007, 0x0005, 0x0009, 0x000e, 0x000f, 0x0007, 0x0006, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
306 0x0005, 0x0005, 0x0006, 0x0007, 0x0007, 0x0006, 0x0008, 0x0008,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
307 0x0008, 0x0005, 0x000f, 0x0006, 0x0009, 0x000a, 0x0005, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
308 0x000b, 0x0007, 0x0009, 0x0006, 0x0004, 0x0001, 0x000e, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
309 0x0006, 0x0002, 0x0006, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
310 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
311
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
312 const uint8_t mpa_huffbits_9[36] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
313 3, 3, 5, 6, 8, 9, 3, 3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
314 4, 5, 6, 8, 4, 4, 5, 6,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
315 7, 8, 6, 5, 6, 7, 7, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
316 7, 6, 7, 7, 8, 9, 8, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
317 8, 8, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
318 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
319
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
320 const uint16_t mpa_huffcodes_10[64] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
321 0x0001, 0x0002, 0x000a, 0x0017, 0x0023, 0x001e, 0x000c, 0x0011,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
322 0x0003, 0x0003, 0x0008, 0x000c, 0x0012, 0x0015, 0x000c, 0x0007,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
323 0x000b, 0x0009, 0x000f, 0x0015, 0x0020, 0x0028, 0x0013, 0x0006,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
324 0x000e, 0x000d, 0x0016, 0x0022, 0x002e, 0x0017, 0x0012, 0x0007,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
325 0x0014, 0x0013, 0x0021, 0x002f, 0x001b, 0x0016, 0x0009, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
326 0x001f, 0x0016, 0x0029, 0x001a, 0x0015, 0x0014, 0x0005, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
327 0x000e, 0x000d, 0x000a, 0x000b, 0x0010, 0x0006, 0x0005, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
328 0x0009, 0x0008, 0x0007, 0x0008, 0x0004, 0x0004, 0x0002, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
329 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
330
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
331 const uint8_t mpa_huffbits_10[64] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
332 1, 3, 6, 8, 9, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
333 3, 4, 6, 7, 8, 9, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
334 6, 6, 7, 8, 9, 10, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
335 7, 7, 8, 9, 10, 10, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
336 8, 8, 9, 10, 10, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
337 9, 9, 10, 10, 11, 11, 10, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
338 8, 8, 9, 10, 10, 10, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
339 9, 8, 9, 10, 10, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
340 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
341
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
342 const uint16_t mpa_huffcodes_11[64] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
343 0x0003, 0x0004, 0x000a, 0x0018, 0x0022, 0x0021, 0x0015, 0x000f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
344 0x0005, 0x0003, 0x0004, 0x000a, 0x0020, 0x0011, 0x000b, 0x000a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
345 0x000b, 0x0007, 0x000d, 0x0012, 0x001e, 0x001f, 0x0014, 0x0005,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
346 0x0019, 0x000b, 0x0013, 0x003b, 0x001b, 0x0012, 0x000c, 0x0005,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
347 0x0023, 0x0021, 0x001f, 0x003a, 0x001e, 0x0010, 0x0007, 0x0005,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
348 0x001c, 0x001a, 0x0020, 0x0013, 0x0011, 0x000f, 0x0008, 0x000e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
349 0x000e, 0x000c, 0x0009, 0x000d, 0x000e, 0x0009, 0x0004, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
350 0x000b, 0x0004, 0x0006, 0x0006, 0x0006, 0x0003, 0x0002, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
351 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
352
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
353 const uint8_t mpa_huffbits_11[64] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
354 2, 3, 5, 7, 8, 9, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
355 3, 3, 4, 6, 8, 8, 7, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
356 5, 5, 6, 7, 8, 9, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
357 7, 6, 7, 9, 8, 10, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
358 8, 8, 8, 9, 9, 10, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
359 8, 8, 9, 10, 10, 11, 10, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
360 8, 7, 7, 8, 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
361 8, 7, 8, 9, 10, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
362 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
363
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
364 const uint16_t mpa_huffcodes_12[64] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
365 0x0009, 0x0006, 0x0010, 0x0021, 0x0029, 0x0027, 0x0026, 0x001a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
366 0x0007, 0x0005, 0x0006, 0x0009, 0x0017, 0x0010, 0x001a, 0x000b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
367 0x0011, 0x0007, 0x000b, 0x000e, 0x0015, 0x001e, 0x000a, 0x0007,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
368 0x0011, 0x000a, 0x000f, 0x000c, 0x0012, 0x001c, 0x000e, 0x0005,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
369 0x0020, 0x000d, 0x0016, 0x0013, 0x0012, 0x0010, 0x0009, 0x0005,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
370 0x0028, 0x0011, 0x001f, 0x001d, 0x0011, 0x000d, 0x0004, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
371 0x001b, 0x000c, 0x000b, 0x000f, 0x000a, 0x0007, 0x0004, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
372 0x001b, 0x000c, 0x0008, 0x000c, 0x0006, 0x0003, 0x0001, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
373 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
374
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
375 const uint8_t mpa_huffbits_12[64] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
376 4, 3, 5, 7, 8, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
377 3, 3, 4, 5, 7, 7, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
378 5, 4, 5, 6, 7, 8, 7, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
379 6, 5, 6, 6, 7, 8, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
380 7, 6, 7, 7, 8, 8, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
381 8, 7, 8, 8, 8, 9, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
382 8, 7, 7, 8, 8, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
383 9, 8, 8, 9, 9, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
384 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
385
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
386 const uint16_t mpa_huffcodes_13[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
387 0x0001, 0x0005, 0x000e, 0x0015, 0x0022, 0x0033, 0x002e, 0x0047,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
388 0x002a, 0x0034, 0x0044, 0x0034, 0x0043, 0x002c, 0x002b, 0x0013,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
389 0x0003, 0x0004, 0x000c, 0x0013, 0x001f, 0x001a, 0x002c, 0x0021,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
390 0x001f, 0x0018, 0x0020, 0x0018, 0x001f, 0x0023, 0x0016, 0x000e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
391 0x000f, 0x000d, 0x0017, 0x0024, 0x003b, 0x0031, 0x004d, 0x0041,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
392 0x001d, 0x0028, 0x001e, 0x0028, 0x001b, 0x0021, 0x002a, 0x0010,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
393 0x0016, 0x0014, 0x0025, 0x003d, 0x0038, 0x004f, 0x0049, 0x0040,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
394 0x002b, 0x004c, 0x0038, 0x0025, 0x001a, 0x001f, 0x0019, 0x000e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
395 0x0023, 0x0010, 0x003c, 0x0039, 0x0061, 0x004b, 0x0072, 0x005b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
396 0x0036, 0x0049, 0x0037, 0x0029, 0x0030, 0x0035, 0x0017, 0x0018,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
397 0x003a, 0x001b, 0x0032, 0x0060, 0x004c, 0x0046, 0x005d, 0x0054,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
398 0x004d, 0x003a, 0x004f, 0x001d, 0x004a, 0x0031, 0x0029, 0x0011,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
399 0x002f, 0x002d, 0x004e, 0x004a, 0x0073, 0x005e, 0x005a, 0x004f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
400 0x0045, 0x0053, 0x0047, 0x0032, 0x003b, 0x0026, 0x0024, 0x000f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
401 0x0048, 0x0022, 0x0038, 0x005f, 0x005c, 0x0055, 0x005b, 0x005a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
402 0x0056, 0x0049, 0x004d, 0x0041, 0x0033, 0x002c, 0x002b, 0x002a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
403 0x002b, 0x0014, 0x001e, 0x002c, 0x0037, 0x004e, 0x0048, 0x0057,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
404 0x004e, 0x003d, 0x002e, 0x0036, 0x0025, 0x001e, 0x0014, 0x0010,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
405 0x0035, 0x0019, 0x0029, 0x0025, 0x002c, 0x003b, 0x0036, 0x0051,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
406 0x0042, 0x004c, 0x0039, 0x0036, 0x0025, 0x0012, 0x0027, 0x000b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
407 0x0023, 0x0021, 0x001f, 0x0039, 0x002a, 0x0052, 0x0048, 0x0050,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
408 0x002f, 0x003a, 0x0037, 0x0015, 0x0016, 0x001a, 0x0026, 0x0016,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
409 0x0035, 0x0019, 0x0017, 0x0026, 0x0046, 0x003c, 0x0033, 0x0024,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
410 0x0037, 0x001a, 0x0022, 0x0017, 0x001b, 0x000e, 0x0009, 0x0007,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
411 0x0022, 0x0020, 0x001c, 0x0027, 0x0031, 0x004b, 0x001e, 0x0034,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
412 0x0030, 0x0028, 0x0034, 0x001c, 0x0012, 0x0011, 0x0009, 0x0005,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
413 0x002d, 0x0015, 0x0022, 0x0040, 0x0038, 0x0032, 0x0031, 0x002d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
414 0x001f, 0x0013, 0x000c, 0x000f, 0x000a, 0x0007, 0x0006, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
415 0x0030, 0x0017, 0x0014, 0x0027, 0x0024, 0x0023, 0x0035, 0x0015,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
416 0x0010, 0x0017, 0x000d, 0x000a, 0x0006, 0x0001, 0x0004, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
417 0x0010, 0x000f, 0x0011, 0x001b, 0x0019, 0x0014, 0x001d, 0x000b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
418 0x0011, 0x000c, 0x0010, 0x0008, 0x0001, 0x0001, 0x0000, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
419 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
420
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
421 const uint8_t mpa_huffbits_13[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
422 1, 4, 6, 7, 8, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
423 9, 10, 11, 11, 12, 12, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
424 3, 4, 6, 7, 8, 8, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
425 9, 9, 10, 10, 11, 12, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
426 6, 6, 7, 8, 9, 9, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
427 9, 10, 10, 11, 11, 12, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
428 7, 7, 8, 9, 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
429 10, 11, 11, 11, 11, 12, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
430 8, 7, 9, 9, 10, 10, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
431 10, 11, 11, 12, 12, 13, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
432 9, 8, 9, 10, 10, 10, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
433 11, 11, 12, 11, 13, 13, 14, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
434 9, 9, 10, 10, 11, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
435 11, 12, 12, 12, 13, 13, 14, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
436 10, 9, 10, 11, 11, 11, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
437 12, 12, 13, 13, 13, 14, 16, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
438 9, 8, 9, 10, 10, 11, 11, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
439 12, 12, 12, 13, 13, 14, 15, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
440 10, 9, 10, 10, 11, 11, 11, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
441 12, 13, 13, 14, 14, 14, 16, 15,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
442 10, 10, 10, 11, 11, 12, 12, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
443 12, 13, 14, 13, 14, 15, 16, 17,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
444 11, 10, 10, 11, 12, 12, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
445 13, 13, 13, 14, 15, 15, 15, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
446 11, 11, 11, 12, 12, 13, 12, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
447 14, 14, 15, 15, 15, 16, 16, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
448 12, 11, 12, 13, 13, 13, 14, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
449 14, 14, 14, 15, 16, 15, 16, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
450 13, 12, 12, 13, 13, 13, 15, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
451 14, 17, 15, 15, 15, 17, 16, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
452 12, 12, 13, 14, 14, 14, 15, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
453 15, 15, 16, 16, 19, 18, 19, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
454 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
455
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
456 const uint16_t mpa_huffcodes_15[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
457 0x0007, 0x000c, 0x0012, 0x0035, 0x002f, 0x004c, 0x007c, 0x006c,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
458 0x0059, 0x007b, 0x006c, 0x0077, 0x006b, 0x0051, 0x007a, 0x003f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
459 0x000d, 0x0005, 0x0010, 0x001b, 0x002e, 0x0024, 0x003d, 0x0033,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
460 0x002a, 0x0046, 0x0034, 0x0053, 0x0041, 0x0029, 0x003b, 0x0024,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
461 0x0013, 0x0011, 0x000f, 0x0018, 0x0029, 0x0022, 0x003b, 0x0030,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
462 0x0028, 0x0040, 0x0032, 0x004e, 0x003e, 0x0050, 0x0038, 0x0021,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
463 0x001d, 0x001c, 0x0019, 0x002b, 0x0027, 0x003f, 0x0037, 0x005d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
464 0x004c, 0x003b, 0x005d, 0x0048, 0x0036, 0x004b, 0x0032, 0x001d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
465 0x0034, 0x0016, 0x002a, 0x0028, 0x0043, 0x0039, 0x005f, 0x004f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
466 0x0048, 0x0039, 0x0059, 0x0045, 0x0031, 0x0042, 0x002e, 0x001b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
467 0x004d, 0x0025, 0x0023, 0x0042, 0x003a, 0x0034, 0x005b, 0x004a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
468 0x003e, 0x0030, 0x004f, 0x003f, 0x005a, 0x003e, 0x0028, 0x0026,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
469 0x007d, 0x0020, 0x003c, 0x0038, 0x0032, 0x005c, 0x004e, 0x0041,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
470 0x0037, 0x0057, 0x0047, 0x0033, 0x0049, 0x0033, 0x0046, 0x001e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
471 0x006d, 0x0035, 0x0031, 0x005e, 0x0058, 0x004b, 0x0042, 0x007a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
472 0x005b, 0x0049, 0x0038, 0x002a, 0x0040, 0x002c, 0x0015, 0x0019,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
473 0x005a, 0x002b, 0x0029, 0x004d, 0x0049, 0x003f, 0x0038, 0x005c,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
474 0x004d, 0x0042, 0x002f, 0x0043, 0x0030, 0x0035, 0x0024, 0x0014,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
475 0x0047, 0x0022, 0x0043, 0x003c, 0x003a, 0x0031, 0x0058, 0x004c,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
476 0x0043, 0x006a, 0x0047, 0x0036, 0x0026, 0x0027, 0x0017, 0x000f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
477 0x006d, 0x0035, 0x0033, 0x002f, 0x005a, 0x0052, 0x003a, 0x0039,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
478 0x0030, 0x0048, 0x0039, 0x0029, 0x0017, 0x001b, 0x003e, 0x0009,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
479 0x0056, 0x002a, 0x0028, 0x0025, 0x0046, 0x0040, 0x0034, 0x002b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
480 0x0046, 0x0037, 0x002a, 0x0019, 0x001d, 0x0012, 0x000b, 0x000b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
481 0x0076, 0x0044, 0x001e, 0x0037, 0x0032, 0x002e, 0x004a, 0x0041,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
482 0x0031, 0x0027, 0x0018, 0x0010, 0x0016, 0x000d, 0x000e, 0x0007,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
483 0x005b, 0x002c, 0x0027, 0x0026, 0x0022, 0x003f, 0x0034, 0x002d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
484 0x001f, 0x0034, 0x001c, 0x0013, 0x000e, 0x0008, 0x0009, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
485 0x007b, 0x003c, 0x003a, 0x0035, 0x002f, 0x002b, 0x0020, 0x0016,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
486 0x0025, 0x0018, 0x0011, 0x000c, 0x000f, 0x000a, 0x0002, 0x0001,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
487 0x0047, 0x0025, 0x0022, 0x001e, 0x001c, 0x0014, 0x0011, 0x001a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
488 0x0015, 0x0010, 0x000a, 0x0006, 0x0008, 0x0006, 0x0002, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
489 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
490
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
491 const uint8_t mpa_huffbits_15[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
492 3, 4, 5, 7, 7, 8, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
493 9, 10, 10, 11, 11, 11, 12, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
494 4, 3, 5, 6, 7, 7, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
495 8, 9, 9, 10, 10, 10, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
496 5, 5, 5, 6, 7, 7, 8, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
497 8, 9, 9, 10, 10, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
498 6, 6, 6, 7, 7, 8, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
499 9, 9, 10, 10, 10, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
500 7, 6, 7, 7, 8, 8, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
501 9, 9, 10, 10, 10, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
502 8, 7, 7, 8, 8, 8, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
503 9, 9, 10, 10, 11, 11, 11, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
504 9, 7, 8, 8, 8, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
505 9, 10, 10, 10, 11, 11, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
506 9, 8, 8, 9, 9, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
507 10, 10, 10, 10, 11, 11, 11, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
508 9, 8, 8, 9, 9, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
509 10, 10, 10, 11, 11, 12, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
510 9, 8, 9, 9, 9, 9, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
511 10, 11, 11, 11, 11, 12, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
512 10, 9, 9, 9, 10, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
513 10, 11, 11, 11, 11, 12, 13, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
514 10, 9, 9, 9, 10, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
515 11, 11, 11, 11, 12, 12, 12, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
516 11, 10, 9, 10, 10, 10, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
517 11, 11, 11, 11, 12, 12, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
518 11, 10, 10, 10, 10, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
519 11, 12, 12, 12, 12, 12, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
520 12, 11, 11, 11, 11, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
521 12, 12, 12, 12, 13, 13, 12, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
522 12, 11, 11, 11, 11, 11, 11, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
523 12, 12, 12, 12, 13, 13, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
524 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
525
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
526 const uint16_t mpa_huffcodes_16[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
527 0x0001, 0x0005, 0x000e, 0x002c, 0x004a, 0x003f, 0x006e, 0x005d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
528 0x00ac, 0x0095, 0x008a, 0x00f2, 0x00e1, 0x00c3, 0x0178, 0x0011,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
529 0x0003, 0x0004, 0x000c, 0x0014, 0x0023, 0x003e, 0x0035, 0x002f,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
530 0x0053, 0x004b, 0x0044, 0x0077, 0x00c9, 0x006b, 0x00cf, 0x0009,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
531 0x000f, 0x000d, 0x0017, 0x0026, 0x0043, 0x003a, 0x0067, 0x005a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
532 0x00a1, 0x0048, 0x007f, 0x0075, 0x006e, 0x00d1, 0x00ce, 0x0010,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
533 0x002d, 0x0015, 0x0027, 0x0045, 0x0040, 0x0072, 0x0063, 0x0057,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
534 0x009e, 0x008c, 0x00fc, 0x00d4, 0x00c7, 0x0183, 0x016d, 0x001a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
535 0x004b, 0x0024, 0x0044, 0x0041, 0x0073, 0x0065, 0x00b3, 0x00a4,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
536 0x009b, 0x0108, 0x00f6, 0x00e2, 0x018b, 0x017e, 0x016a, 0x0009,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
537 0x0042, 0x001e, 0x003b, 0x0038, 0x0066, 0x00b9, 0x00ad, 0x0109,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
538 0x008e, 0x00fd, 0x00e8, 0x0190, 0x0184, 0x017a, 0x01bd, 0x0010,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
539 0x006f, 0x0036, 0x0034, 0x0064, 0x00b8, 0x00b2, 0x00a0, 0x0085,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
540 0x0101, 0x00f4, 0x00e4, 0x00d9, 0x0181, 0x016e, 0x02cb, 0x000a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
541 0x0062, 0x0030, 0x005b, 0x0058, 0x00a5, 0x009d, 0x0094, 0x0105,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
542 0x00f8, 0x0197, 0x018d, 0x0174, 0x017c, 0x0379, 0x0374, 0x0008,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
543 0x0055, 0x0054, 0x0051, 0x009f, 0x009c, 0x008f, 0x0104, 0x00f9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
544 0x01ab, 0x0191, 0x0188, 0x017f, 0x02d7, 0x02c9, 0x02c4, 0x0007,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
545 0x009a, 0x004c, 0x0049, 0x008d, 0x0083, 0x0100, 0x00f5, 0x01aa,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
546 0x0196, 0x018a, 0x0180, 0x02df, 0x0167, 0x02c6, 0x0160, 0x000b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
547 0x008b, 0x0081, 0x0043, 0x007d, 0x00f7, 0x00e9, 0x00e5, 0x00db,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
548 0x0189, 0x02e7, 0x02e1, 0x02d0, 0x0375, 0x0372, 0x01b7, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
549 0x00f3, 0x0078, 0x0076, 0x0073, 0x00e3, 0x00df, 0x018c, 0x02ea,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
550 0x02e6, 0x02e0, 0x02d1, 0x02c8, 0x02c2, 0x00df, 0x01b4, 0x0006,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
551 0x00ca, 0x00e0, 0x00de, 0x00da, 0x00d8, 0x0185, 0x0182, 0x017d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
552 0x016c, 0x0378, 0x01bb, 0x02c3, 0x01b8, 0x01b5, 0x06c0, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
553 0x02eb, 0x00d3, 0x00d2, 0x00d0, 0x0172, 0x017b, 0x02de, 0x02d3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
554 0x02ca, 0x06c7, 0x0373, 0x036d, 0x036c, 0x0d83, 0x0361, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
555 0x0179, 0x0171, 0x0066, 0x00bb, 0x02d6, 0x02d2, 0x0166, 0x02c7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
556 0x02c5, 0x0362, 0x06c6, 0x0367, 0x0d82, 0x0366, 0x01b2, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
557 0x000c, 0x000a, 0x0007, 0x000b, 0x000a, 0x0011, 0x000b, 0x0009,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
558 0x000d, 0x000c, 0x000a, 0x0007, 0x0005, 0x0003, 0x0001, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
559 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
560
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
561 const uint8_t mpa_huffbits_16[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
562 1, 4, 6, 8, 9, 9, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
563 11, 11, 11, 12, 12, 12, 13, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
564 3, 4, 6, 7, 8, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
565 10, 10, 10, 11, 12, 11, 12, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
566 6, 6, 7, 8, 9, 9, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
567 11, 10, 11, 11, 11, 12, 12, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
568 8, 7, 8, 9, 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
569 11, 11, 12, 12, 12, 13, 13, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
570 9, 8, 9, 9, 10, 10, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
571 11, 12, 12, 12, 13, 13, 13, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
572 9, 8, 9, 9, 10, 11, 11, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
573 11, 12, 12, 13, 13, 13, 14, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
574 10, 9, 9, 10, 11, 11, 11, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
575 12, 12, 12, 12, 13, 13, 14, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
576 10, 9, 10, 10, 11, 11, 11, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
577 12, 13, 13, 13, 13, 15, 15, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
578 10, 10, 10, 11, 11, 11, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
579 13, 13, 13, 13, 14, 14, 14, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
580 11, 10, 10, 11, 11, 12, 12, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
581 13, 13, 13, 14, 13, 14, 13, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
582 11, 11, 10, 11, 12, 12, 12, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
583 13, 14, 14, 14, 15, 15, 14, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
584 12, 11, 11, 11, 12, 12, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
585 14, 14, 14, 14, 14, 13, 14, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
586 12, 12, 12, 12, 12, 13, 13, 13,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
587 13, 15, 14, 14, 14, 14, 16, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
588 14, 12, 12, 12, 13, 13, 14, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
589 14, 16, 15, 15, 15, 17, 15, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
590 13, 13, 11, 12, 14, 14, 13, 14,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
591 14, 15, 16, 15, 17, 15, 14, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
592 9, 8, 8, 9, 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
593 11, 11, 11, 11, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
594 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
595
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
596 const uint16_t mpa_huffcodes_24[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
597 0x000f, 0x000d, 0x002e, 0x0050, 0x0092, 0x0106, 0x00f8, 0x01b2,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
598 0x01aa, 0x029d, 0x028d, 0x0289, 0x026d, 0x0205, 0x0408, 0x0058,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
599 0x000e, 0x000c, 0x0015, 0x0026, 0x0047, 0x0082, 0x007a, 0x00d8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
600 0x00d1, 0x00c6, 0x0147, 0x0159, 0x013f, 0x0129, 0x0117, 0x002a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
601 0x002f, 0x0016, 0x0029, 0x004a, 0x0044, 0x0080, 0x0078, 0x00dd,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
602 0x00cf, 0x00c2, 0x00b6, 0x0154, 0x013b, 0x0127, 0x021d, 0x0012,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
603 0x0051, 0x0027, 0x004b, 0x0046, 0x0086, 0x007d, 0x0074, 0x00dc,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
604 0x00cc, 0x00be, 0x00b2, 0x0145, 0x0137, 0x0125, 0x010f, 0x0010,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
605 0x0093, 0x0048, 0x0045, 0x0087, 0x007f, 0x0076, 0x0070, 0x00d2,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
606 0x00c8, 0x00bc, 0x0160, 0x0143, 0x0132, 0x011d, 0x021c, 0x000e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
607 0x0107, 0x0042, 0x0081, 0x007e, 0x0077, 0x0072, 0x00d6, 0x00ca,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
608 0x00c0, 0x00b4, 0x0155, 0x013d, 0x012d, 0x0119, 0x0106, 0x000c,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
609 0x00f9, 0x007b, 0x0079, 0x0075, 0x0071, 0x00d7, 0x00ce, 0x00c3,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
610 0x00b9, 0x015b, 0x014a, 0x0134, 0x0123, 0x0110, 0x0208, 0x000a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
611 0x01b3, 0x0073, 0x006f, 0x006d, 0x00d3, 0x00cb, 0x00c4, 0x00bb,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
612 0x0161, 0x014c, 0x0139, 0x012a, 0x011b, 0x0213, 0x017d, 0x0011,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
613 0x01ab, 0x00d4, 0x00d0, 0x00cd, 0x00c9, 0x00c1, 0x00ba, 0x00b1,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
614 0x00a9, 0x0140, 0x012f, 0x011e, 0x010c, 0x0202, 0x0179, 0x0010,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
615 0x014f, 0x00c7, 0x00c5, 0x00bf, 0x00bd, 0x00b5, 0x00ae, 0x014d,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
616 0x0141, 0x0131, 0x0121, 0x0113, 0x0209, 0x017b, 0x0173, 0x000b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
617 0x029c, 0x00b8, 0x00b7, 0x00b3, 0x00af, 0x0158, 0x014b, 0x013a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
618 0x0130, 0x0122, 0x0115, 0x0212, 0x017f, 0x0175, 0x016e, 0x000a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
619 0x028c, 0x015a, 0x00ab, 0x00a8, 0x00a4, 0x013e, 0x0135, 0x012b,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
620 0x011f, 0x0114, 0x0107, 0x0201, 0x0177, 0x0170, 0x016a, 0x0006,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
621 0x0288, 0x0142, 0x013c, 0x0138, 0x0133, 0x012e, 0x0124, 0x011c,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
622 0x010d, 0x0105, 0x0200, 0x0178, 0x0172, 0x016c, 0x0167, 0x0004,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
623 0x026c, 0x012c, 0x0128, 0x0126, 0x0120, 0x011a, 0x0111, 0x010a,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
624 0x0203, 0x017c, 0x0176, 0x0171, 0x016d, 0x0169, 0x0165, 0x0002,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
625 0x0409, 0x0118, 0x0116, 0x0112, 0x010b, 0x0108, 0x0103, 0x017e,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
626 0x017a, 0x0174, 0x016f, 0x016b, 0x0168, 0x0166, 0x0164, 0x0000,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
627 0x002b, 0x0014, 0x0013, 0x0011, 0x000f, 0x000d, 0x000b, 0x0009,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
628 0x0007, 0x0006, 0x0004, 0x0007, 0x0005, 0x0003, 0x0001, 0x0003,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
629 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
630
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
631 const uint8_t mpa_huffbits_24[256] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
632 4, 4, 6, 7, 8, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
633 10, 11, 11, 11, 11, 11, 12, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
634 4, 4, 5, 6, 7, 8, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
635 9, 9, 10, 10, 10, 10, 10, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
636 6, 5, 6, 7, 7, 8, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
637 9, 9, 9, 10, 10, 10, 11, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
638 7, 6, 7, 7, 8, 8, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
639 9, 9, 9, 10, 10, 10, 10, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
640 8, 7, 7, 8, 8, 8, 8, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
641 9, 9, 10, 10, 10, 10, 11, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
642 9, 7, 8, 8, 8, 8, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
643 9, 9, 10, 10, 10, 10, 10, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
644 9, 8, 8, 8, 8, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
645 9, 10, 10, 10, 10, 10, 11, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
646 10, 8, 8, 8, 9, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
647 10, 10, 10, 10, 10, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
648 10, 9, 9, 9, 9, 9, 9, 9,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
649 9, 10, 10, 10, 10, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
650 10, 9, 9, 9, 9, 9, 9, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
651 10, 10, 10, 10, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
652 11, 9, 9, 9, 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
653 10, 10, 10, 11, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
654 11, 10, 9, 9, 9, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
655 10, 10, 10, 11, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
656 11, 10, 10, 10, 10, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
657 10, 10, 11, 11, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
658 11, 10, 10, 10, 10, 10, 10, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
659 11, 11, 11, 11, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
660 12, 10, 10, 10, 10, 10, 10, 11,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
661 11, 11, 11, 11, 11, 11, 11, 8,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
662 8, 7, 7, 7, 7, 7, 7, 7,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
663 7, 7, 7, 8, 8, 8, 8, 4,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
664 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
665
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
666 const HuffTable mpa_huff_tables[16] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
667 { 1, NULL, NULL },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
668 { 2, mpa_huffbits_1, mpa_huffcodes_1 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
669 { 3, mpa_huffbits_2, mpa_huffcodes_2 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
670 { 3, mpa_huffbits_3, mpa_huffcodes_3 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
671 { 4, mpa_huffbits_5, mpa_huffcodes_5 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
672 { 4, mpa_huffbits_6, mpa_huffcodes_6 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
673 { 6, mpa_huffbits_7, mpa_huffcodes_7 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
674 { 6, mpa_huffbits_8, mpa_huffcodes_8 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
675 { 6, mpa_huffbits_9, mpa_huffcodes_9 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
676 { 8, mpa_huffbits_10, mpa_huffcodes_10 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
677 { 8, mpa_huffbits_11, mpa_huffcodes_11 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
678 { 8, mpa_huffbits_12, mpa_huffcodes_12 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
679 { 16, mpa_huffbits_13, mpa_huffcodes_13 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
680 { 16, mpa_huffbits_15, mpa_huffcodes_15 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
681 { 16, mpa_huffbits_16, mpa_huffcodes_16 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
682 { 16, mpa_huffbits_24, mpa_huffcodes_24 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
683 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
684
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
685 const uint8_t mpa_huff_data[32][2] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
686 { 0, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
687 { 1, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
688 { 2, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
689 { 3, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
690 { 0, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
691 { 4, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
692 { 5, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
693 { 6, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
694 { 7, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
695 { 8, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
696 { 9, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
697 { 10, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
698 { 11, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
699 { 12, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
700 { 0, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
701 { 13, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
702 { 14, 1 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
703 { 14, 2 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
704 { 14, 3 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
705 { 14, 4 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
706 { 14, 6 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
707 { 14, 8 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
708 { 14, 10 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
709 { 14, 13 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
710 { 15, 4 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
711 { 15, 5 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
712 { 15, 6 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
713 { 15, 7 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
714 { 15, 8 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
715 { 15, 9 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
716 { 15, 11 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
717 { 15, 13 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
718 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
719
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
720
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
721 /* huffman tables for quadrules */
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
722 static uint8_t mpa_quad_codes[2][16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
723 { 1, 5, 4, 5, 6, 5, 4, 4, 7, 3, 6, 0, 7, 2, 3, 1, },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
724 { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
725 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
726
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
727 static uint8_t mpa_quad_bits[2][16] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
728 { 1, 4, 4, 5, 4, 6, 5, 6, 4, 5, 5, 6, 5, 6, 6, 6, },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
729 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
730 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
731
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
732 /* band size tables */
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
733 const uint8_t band_size_long[9][22] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
734 { 4, 4, 4, 4, 4, 4, 6, 6, 8, 8, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
735 12, 16, 20, 24, 28, 34, 42, 50, 54, 76, 158, }, /* 44100 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
736 { 4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 10,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
737 12, 16, 18, 22, 28, 34, 40, 46, 54, 54, 192, }, /* 48000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
738 { 4, 4, 4, 4, 4, 4, 6, 6, 8, 10, 12,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
739 16, 20, 24, 30, 38, 46, 56, 68, 84, 102, 26, }, /* 32000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
740 { 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
741 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54, }, /* 22050 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
742 { 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
743 18, 22, 26, 32, 38, 46, 52, 64, 70, 76, 36, }, /* 24000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
744 { 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
745 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54, }, /* 16000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
746 { 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
747 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54, }, /* 11025 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
748 { 6, 6, 6, 6, 6, 6, 8, 10, 12, 14, 16,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
749 20, 24, 28, 32, 38, 46, 52, 60, 68, 58, 54, }, /* 12000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
750 { 12, 12, 12, 12, 12, 12, 16, 20, 24, 28, 32,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
751 40, 48, 56, 64, 76, 90, 2, 2, 2, 2, 2, }, /* 8000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
752 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
753
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
754 const uint8_t band_size_short[9][13] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
755 { 4, 4, 4, 4, 6, 8, 10, 12, 14, 18, 22, 30, 56, }, /* 44100 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
756 { 4, 4, 4, 4, 6, 6, 10, 12, 14, 16, 20, 26, 66, }, /* 48000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
757 { 4, 4, 4, 4, 6, 8, 12, 16, 20, 26, 34, 42, 12, }, /* 32000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
758 { 4, 4, 4, 6, 6, 8, 10, 14, 18, 26, 32, 42, 18, }, /* 22050 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
759 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 32, 44, 12, }, /* 24000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
760 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 16000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
761 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 11025 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
762 { 4, 4, 4, 6, 8, 10, 12, 14, 18, 24, 30, 40, 18, }, /* 12000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
763 { 8, 8, 8, 12, 16, 20, 24, 28, 36, 2, 2, 2, 26, }, /* 8000 */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
764 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
765
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 83
diff changeset
766 const uint8_t mpa_pretab[2][22] = {
83
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
767 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
768 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0 },
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
769 };
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
770
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
771 /* table for alias reduction (XXX: store it as integer !) */
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
772 const float ci_table[8] = {
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
773 -0.6, -0.535, -0.33, -0.185, -0.095, -0.041, -0.0142, -0.0037,
2969a96650e5 added mpeg audio decoder tables
glantau
parents:
diff changeset
774 };