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