Add undefine macro.
[plumiferos.git] / extern / ffmpeg / libavcodec / ac3tab.h
blobd8771fbeee82eeb92f9505c9ac2d2b81819deced
1 /**
2 * @file ac3tab.h
3 * tables taken directly from AC3 spec.
4 */
6 /* possible frequencies */
7 static const uint16_t ac3_freqs[3] = { 48000, 44100, 32000 };
9 /* possible bitrates */
10 static const uint16_t ac3_bitratetab[19] = {
11 32, 40, 48, 56, 64, 80, 96, 112, 128,
12 160, 192, 224, 256, 320, 384, 448, 512, 576, 640
15 /* AC3 MDCT window */
17 /* MDCT window */
18 static const int16_t ac3_window[256] = {
19 4, 7, 12, 16, 21, 28, 34, 42,
20 51, 61, 72, 84, 97, 111, 127, 145,
21 164, 184, 207, 231, 257, 285, 315, 347,
22 382, 419, 458, 500, 544, 591, 641, 694,
23 750, 810, 872, 937, 1007, 1079, 1155, 1235,
24 1318, 1406, 1497, 1593, 1692, 1796, 1903, 2016,
25 2132, 2253, 2379, 2509, 2644, 2783, 2927, 3076,
26 3230, 3389, 3552, 3721, 3894, 4072, 4255, 4444,
27 4637, 4835, 5038, 5246, 5459, 5677, 5899, 6127,
28 6359, 6596, 6837, 7083, 7334, 7589, 7848, 8112,
29 8380, 8652, 8927, 9207, 9491, 9778,10069,10363,
30 10660,10960,11264,11570,11879,12190,12504,12820,
31 13138,13458,13780,14103,14427,14753,15079,15407,
32 15735,16063,16392,16720,17049,17377,17705,18032,
33 18358,18683,19007,19330,19651,19970,20287,20602,
34 20914,21225,21532,21837,22139,22438,22733,23025,
35 23314,23599,23880,24157,24430,24699,24964,25225,
36 25481,25732,25979,26221,26459,26691,26919,27142,
37 27359,27572,27780,27983,28180,28373,28560,28742,
38 28919,29091,29258,29420,29577,29729,29876,30018,
39 30155,30288,30415,30538,30657,30771,30880,30985,
40 31086,31182,31274,31363,31447,31528,31605,31678,
41 31747,31814,31877,31936,31993,32046,32097,32145,
42 32190,32232,32272,32310,32345,32378,32409,32438,
43 32465,32490,32513,32535,32556,32574,32592,32608,
44 32623,32636,32649,32661,32671,32681,32690,32698,
45 32705,32712,32718,32724,32729,32733,32737,32741,
46 32744,32747,32750,32752,32754,32756,32757,32759,
47 32760,32761,32762,32763,32764,32764,32765,32765,
48 32766,32766,32766,32766,32767,32767,32767,32767,
49 32767,32767,32767,32767,32767,32767,32767,32767,
50 32767,32767,32767,32767,32767,32767,32767,32767,
53 static uint8_t masktab[253];
55 static const uint8_t latab[260]= {
56 0x0040,0x003f,0x003e,0x003d,0x003c,0x003b,0x003a,0x0039,0x0038,0x0037,
57 0x0036,0x0035,0x0034,0x0034,0x0033,0x0032,0x0031,0x0030,0x002f,0x002f,
58 0x002e,0x002d,0x002c,0x002c,0x002b,0x002a,0x0029,0x0029,0x0028,0x0027,
59 0x0026,0x0026,0x0025,0x0024,0x0024,0x0023,0x0023,0x0022,0x0021,0x0021,
60 0x0020,0x0020,0x001f,0x001e,0x001e,0x001d,0x001d,0x001c,0x001c,0x001b,
61 0x001b,0x001a,0x001a,0x0019,0x0019,0x0018,0x0018,0x0017,0x0017,0x0016,
62 0x0016,0x0015,0x0015,0x0015,0x0014,0x0014,0x0013,0x0013,0x0013,0x0012,
63 0x0012,0x0012,0x0011,0x0011,0x0011,0x0010,0x0010,0x0010,0x000f,0x000f,
64 0x000f,0x000e,0x000e,0x000e,0x000d,0x000d,0x000d,0x000d,0x000c,0x000c,
65 0x000c,0x000c,0x000b,0x000b,0x000b,0x000b,0x000a,0x000a,0x000a,0x000a,
66 0x000a,0x0009,0x0009,0x0009,0x0009,0x0009,0x0008,0x0008,0x0008,0x0008,
67 0x0008,0x0008,0x0007,0x0007,0x0007,0x0007,0x0007,0x0007,0x0006,0x0006,
68 0x0006,0x0006,0x0006,0x0006,0x0006,0x0006,0x0005,0x0005,0x0005,0x0005,
69 0x0005,0x0005,0x0005,0x0005,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
70 0x0004,0x0004,0x0004,0x0004,0x0004,0x0003,0x0003,0x0003,0x0003,0x0003,
71 0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0002,
72 0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
73 0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0001,0x0001,
74 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
75 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
76 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
77 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
78 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
79 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
80 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
81 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
84 static const uint16_t hth[50][3]= {
85 { 0x04d0,0x04f0,0x0580 },
86 { 0x04d0,0x04f0,0x0580 },
87 { 0x0440,0x0460,0x04b0 },
88 { 0x0400,0x0410,0x0450 },
89 { 0x03e0,0x03e0,0x0420 },
90 { 0x03c0,0x03d0,0x03f0 },
91 { 0x03b0,0x03c0,0x03e0 },
92 { 0x03b0,0x03b0,0x03d0 },
93 { 0x03a0,0x03b0,0x03c0 },
94 { 0x03a0,0x03a0,0x03b0 },
95 { 0x03a0,0x03a0,0x03b0 },
96 { 0x03a0,0x03a0,0x03b0 },
97 { 0x03a0,0x03a0,0x03a0 },
98 { 0x0390,0x03a0,0x03a0 },
99 { 0x0390,0x0390,0x03a0 },
100 { 0x0390,0x0390,0x03a0 },
101 { 0x0380,0x0390,0x03a0 },
102 { 0x0380,0x0380,0x03a0 },
103 { 0x0370,0x0380,0x03a0 },
104 { 0x0370,0x0380,0x03a0 },
105 { 0x0360,0x0370,0x0390 },
106 { 0x0360,0x0370,0x0390 },
107 { 0x0350,0x0360,0x0390 },
108 { 0x0350,0x0360,0x0390 },
109 { 0x0340,0x0350,0x0380 },
110 { 0x0340,0x0350,0x0380 },
111 { 0x0330,0x0340,0x0380 },
112 { 0x0320,0x0340,0x0370 },
113 { 0x0310,0x0320,0x0360 },
114 { 0x0300,0x0310,0x0350 },
115 { 0x02f0,0x0300,0x0340 },
116 { 0x02f0,0x02f0,0x0330 },
117 { 0x02f0,0x02f0,0x0320 },
118 { 0x02f0,0x02f0,0x0310 },
119 { 0x0300,0x02f0,0x0300 },
120 { 0x0310,0x0300,0x02f0 },
121 { 0x0340,0x0320,0x02f0 },
122 { 0x0390,0x0350,0x02f0 },
123 { 0x03e0,0x0390,0x0300 },
124 { 0x0420,0x03e0,0x0310 },
125 { 0x0460,0x0420,0x0330 },
126 { 0x0490,0x0450,0x0350 },
127 { 0x04a0,0x04a0,0x03c0 },
128 { 0x0460,0x0490,0x0410 },
129 { 0x0440,0x0460,0x0470 },
130 { 0x0440,0x0440,0x04a0 },
131 { 0x0520,0x0480,0x0460 },
132 { 0x0800,0x0630,0x0440 },
133 { 0x0840,0x0840,0x0450 },
134 { 0x0840,0x0840,0x04e0 },
137 static const uint8_t baptab[64]= {
138 0, 1, 1, 1, 1, 1, 2, 2, 3, 3,
139 3, 4, 4, 5, 5, 6, 6, 6, 6, 7,
140 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
141 9, 10, 10, 10, 10, 11, 11, 11, 11, 12,
142 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,
143 14, 14, 14, 14, 14, 15, 15, 15, 15, 15,
144 15, 15, 15, 15,
147 static const uint8_t sdecaytab[4]={
148 0x0f, 0x11, 0x13, 0x15,
151 static const uint8_t fdecaytab[4]={
152 0x3f, 0x53, 0x67, 0x7b,
155 static const uint16_t sgaintab[4]= {
156 0x540, 0x4d8, 0x478, 0x410,
159 static const uint16_t dbkneetab[4]= {
160 0x000, 0x700, 0x900, 0xb00,
163 static const uint16_t floortab[8]= {
164 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800,
167 static const uint16_t fgaintab[8]= {
168 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
171 static const uint8_t bndsz[50]={
172 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
173 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
174 3, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 24, 24, 24, 24, 24
177 static uint8_t bndtab[51];
179 /* fft & mdct sin cos tables */
180 static int16_t costab[64];
181 static int16_t sintab[64];
182 static int16_t fft_rev[512];
183 static int16_t xcos1[128];
184 static int16_t xsin1[128];