diff options
Diffstat (limited to 'src/plugins/ffmpeg/libavcodec/ac3tab.c')
-rw-r--r-- | src/plugins/ffmpeg/libavcodec/ac3tab.c | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/src/plugins/ffmpeg/libavcodec/ac3tab.c b/src/plugins/ffmpeg/libavcodec/ac3tab.c deleted file mode 100644 index 66afcd4..0000000 --- a/src/plugins/ffmpeg/libavcodec/ac3tab.c +++ /dev/null | |||
@@ -1,262 +0,0 @@ | |||
1 | /* | ||
2 | * AC3 tables | ||
3 | * copyright (c) 2001 Fabrice Bellard | ||
4 | * | ||
5 | * This file is part of FFmpeg. | ||
6 | * | ||
7 | * FFmpeg is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU Lesser General Public | ||
9 | * License as published by the Free Software Foundation; either | ||
10 | * version 2.1 of the License, or (at your option) any later version. | ||
11 | * | ||
12 | * FFmpeg is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * Lesser General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU Lesser General Public | ||
18 | * License along with FFmpeg; if not, write to the Free Software | ||
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file ac3tab.c | ||
24 | * tables taken directly from AC3 spec. | ||
25 | */ | ||
26 | |||
27 | #include "ac3tab.h" | ||
28 | |||
29 | /** | ||
30 | * Possible frame sizes. | ||
31 | * from ATSC A/52 Table 5.18 Frame Size Code Table. | ||
32 | */ | ||
33 | const uint16_t ff_ac3_frame_size_tab[38][3] = { | ||
34 | { 64, 69, 96 }, | ||
35 | { 64, 70, 96 }, | ||
36 | { 80, 87, 120 }, | ||
37 | { 80, 88, 120 }, | ||
38 | { 96, 104, 144 }, | ||
39 | { 96, 105, 144 }, | ||
40 | { 112, 121, 168 }, | ||
41 | { 112, 122, 168 }, | ||
42 | { 128, 139, 192 }, | ||
43 | { 128, 140, 192 }, | ||
44 | { 160, 174, 240 }, | ||
45 | { 160, 175, 240 }, | ||
46 | { 192, 208, 288 }, | ||
47 | { 192, 209, 288 }, | ||
48 | { 224, 243, 336 }, | ||
49 | { 224, 244, 336 }, | ||
50 | { 256, 278, 384 }, | ||
51 | { 256, 279, 384 }, | ||
52 | { 320, 348, 480 }, | ||
53 | { 320, 349, 480 }, | ||
54 | { 384, 417, 576 }, | ||
55 | { 384, 418, 576 }, | ||
56 | { 448, 487, 672 }, | ||
57 | { 448, 488, 672 }, | ||
58 | { 512, 557, 768 }, | ||
59 | { 512, 558, 768 }, | ||
60 | { 640, 696, 960 }, | ||
61 | { 640, 697, 960 }, | ||
62 | { 768, 835, 1152 }, | ||
63 | { 768, 836, 1152 }, | ||
64 | { 896, 975, 1344 }, | ||
65 | { 896, 976, 1344 }, | ||
66 | { 1024, 1114, 1536 }, | ||
67 | { 1024, 1115, 1536 }, | ||
68 | { 1152, 1253, 1728 }, | ||
69 | { 1152, 1254, 1728 }, | ||
70 | { 1280, 1393, 1920 }, | ||
71 | { 1280, 1394, 1920 }, | ||
72 | }; | ||
73 | |||
74 | /** | ||
75 | * Maps audio coding mode (acmod) to number of full-bandwidth channels. | ||
76 | * from ATSC A/52 Table 5.8 Audio Coding Mode | ||
77 | */ | ||
78 | const uint8_t ff_ac3_channels_tab[8] = { | ||
79 | 2, 1, 2, 3, 3, 4, 4, 5 | ||
80 | }; | ||
81 | |||
82 | /* possible frequencies */ | ||
83 | const uint16_t ff_ac3_sample_rate_tab[3] = { 48000, 44100, 32000 }; | ||
84 | |||
85 | /* possible bitrates */ | ||
86 | const uint16_t ff_ac3_bitrate_tab[19] = { | ||
87 | 32, 40, 48, 56, 64, 80, 96, 112, 128, | ||
88 | 160, 192, 224, 256, 320, 384, 448, 512, 576, 640 | ||
89 | }; | ||
90 | |||
91 | /* AC3 MDCT window */ | ||
92 | |||
93 | /* MDCT window */ | ||
94 | const int16_t ff_ac3_window[256] = { | ||
95 | 4, 7, 12, 16, 21, 28, 34, 42, | ||
96 | 51, 61, 72, 84, 97, 111, 127, 145, | ||
97 | 164, 184, 207, 231, 257, 285, 315, 347, | ||
98 | 382, 419, 458, 500, 544, 591, 641, 694, | ||
99 | 750, 810, 872, 937, 1007, 1079, 1155, 1235, | ||
100 | 1318, 1406, 1497, 1593, 1692, 1796, 1903, 2016, | ||
101 | 2132, 2253, 2379, 2509, 2644, 2783, 2927, 3076, | ||
102 | 3230, 3389, 3552, 3721, 3894, 4072, 4255, 4444, | ||
103 | 4637, 4835, 5038, 5246, 5459, 5677, 5899, 6127, | ||
104 | 6359, 6596, 6837, 7083, 7334, 7589, 7848, 8112, | ||
105 | 8380, 8652, 8927, 9207, 9491, 9778,10069,10363, | ||
106 | 10660,10960,11264,11570,11879,12190,12504,12820, | ||
107 | 13138,13458,13780,14103,14427,14753,15079,15407, | ||
108 | 15735,16063,16392,16720,17049,17377,17705,18032, | ||
109 | 18358,18683,19007,19330,19651,19970,20287,20602, | ||
110 | 20914,21225,21532,21837,22139,22438,22733,23025, | ||
111 | 23314,23599,23880,24157,24430,24699,24964,25225, | ||
112 | 25481,25732,25979,26221,26459,26691,26919,27142, | ||
113 | 27359,27572,27780,27983,28180,28373,28560,28742, | ||
114 | 28919,29091,29258,29420,29577,29729,29876,30018, | ||
115 | 30155,30288,30415,30538,30657,30771,30880,30985, | ||
116 | 31086,31182,31274,31363,31447,31528,31605,31678, | ||
117 | 31747,31814,31877,31936,31993,32046,32097,32145, | ||
118 | 32190,32232,32272,32310,32345,32378,32409,32438, | ||
119 | 32465,32490,32513,32535,32556,32574,32592,32608, | ||
120 | 32623,32636,32649,32661,32671,32681,32690,32698, | ||
121 | 32705,32712,32718,32724,32729,32733,32737,32741, | ||
122 | 32744,32747,32750,32752,32754,32756,32757,32759, | ||
123 | 32760,32761,32762,32763,32764,32764,32765,32765, | ||
124 | 32766,32766,32766,32766,32767,32767,32767,32767, | ||
125 | 32767,32767,32767,32767,32767,32767,32767,32767, | ||
126 | 32767,32767,32767,32767,32767,32767,32767,32767, | ||
127 | }; | ||
128 | |||
129 | const uint8_t ff_ac3_log_add_tab[260]= { | ||
130 | 0x40,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38,0x37, | ||
131 | 0x36,0x35,0x34,0x34,0x33,0x32,0x31,0x30,0x2f,0x2f, | ||
132 | 0x2e,0x2d,0x2c,0x2c,0x2b,0x2a,0x29,0x29,0x28,0x27, | ||
133 | 0x26,0x26,0x25,0x24,0x24,0x23,0x23,0x22,0x21,0x21, | ||
134 | 0x20,0x20,0x1f,0x1e,0x1e,0x1d,0x1d,0x1c,0x1c,0x1b, | ||
135 | 0x1b,0x1a,0x1a,0x19,0x19,0x18,0x18,0x17,0x17,0x16, | ||
136 | 0x16,0x15,0x15,0x15,0x14,0x14,0x13,0x13,0x13,0x12, | ||
137 | 0x12,0x12,0x11,0x11,0x11,0x10,0x10,0x10,0x0f,0x0f, | ||
138 | 0x0f,0x0e,0x0e,0x0e,0x0d,0x0d,0x0d,0x0d,0x0c,0x0c, | ||
139 | 0x0c,0x0c,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, | ||
140 | 0x0a,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x08, | ||
141 | 0x08,0x08,0x07,0x07,0x07,0x07,0x07,0x07,0x06,0x06, | ||
142 | 0x06,0x06,0x06,0x06,0x06,0x06,0x05,0x05,0x05,0x05, | ||
143 | 0x05,0x05,0x05,0x05,0x04,0x04,0x04,0x04,0x04,0x04, | ||
144 | 0x04,0x04,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x03, | ||
145 | 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x02, | ||
146 | 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, | ||
147 | 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01, | ||
148 | 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, | ||
149 | 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, | ||
150 | 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, | ||
151 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, | ||
152 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, | ||
153 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, | ||
154 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, | ||
155 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, | ||
156 | }; | ||
157 | |||
158 | const uint16_t ff_ac3_hearing_threshold_tab[50][3]= { | ||
159 | { 0x04d0,0x04f0,0x0580 }, | ||
160 | { 0x04d0,0x04f0,0x0580 }, | ||
161 | { 0x0440,0x0460,0x04b0 }, | ||
162 | { 0x0400,0x0410,0x0450 }, | ||
163 | { 0x03e0,0x03e0,0x0420 }, | ||
164 | { 0x03c0,0x03d0,0x03f0 }, | ||
165 | { 0x03b0,0x03c0,0x03e0 }, | ||
166 | { 0x03b0,0x03b0,0x03d0 }, | ||
167 | { 0x03a0,0x03b0,0x03c0 }, | ||
168 | { 0x03a0,0x03a0,0x03b0 }, | ||
169 | { 0x03a0,0x03a0,0x03b0 }, | ||
170 | { 0x03a0,0x03a0,0x03b0 }, | ||
171 | { 0x03a0,0x03a0,0x03a0 }, | ||
172 | { 0x0390,0x03a0,0x03a0 }, | ||
173 | { 0x0390,0x0390,0x03a0 }, | ||
174 | { 0x0390,0x0390,0x03a0 }, | ||
175 | { 0x0380,0x0390,0x03a0 }, | ||
176 | { 0x0380,0x0380,0x03a0 }, | ||
177 | { 0x0370,0x0380,0x03a0 }, | ||
178 | { 0x0370,0x0380,0x03a0 }, | ||
179 | { 0x0360,0x0370,0x0390 }, | ||
180 | { 0x0360,0x0370,0x0390 }, | ||
181 | { 0x0350,0x0360,0x0390 }, | ||
182 | { 0x0350,0x0360,0x0390 }, | ||
183 | { 0x0340,0x0350,0x0380 }, | ||
184 | { 0x0340,0x0350,0x0380 }, | ||
185 | { 0x0330,0x0340,0x0380 }, | ||
186 | { 0x0320,0x0340,0x0370 }, | ||
187 | { 0x0310,0x0320,0x0360 }, | ||
188 | { 0x0300,0x0310,0x0350 }, | ||
189 | { 0x02f0,0x0300,0x0340 }, | ||
190 | { 0x02f0,0x02f0,0x0330 }, | ||
191 | { 0x02f0,0x02f0,0x0320 }, | ||
192 | { 0x02f0,0x02f0,0x0310 }, | ||
193 | { 0x0300,0x02f0,0x0300 }, | ||
194 | { 0x0310,0x0300,0x02f0 }, | ||
195 | { 0x0340,0x0320,0x02f0 }, | ||
196 | { 0x0390,0x0350,0x02f0 }, | ||
197 | { 0x03e0,0x0390,0x0300 }, | ||
198 | { 0x0420,0x03e0,0x0310 }, | ||
199 | { 0x0460,0x0420,0x0330 }, | ||
200 | { 0x0490,0x0450,0x0350 }, | ||
201 | { 0x04a0,0x04a0,0x03c0 }, | ||
202 | { 0x0460,0x0490,0x0410 }, | ||
203 | { 0x0440,0x0460,0x0470 }, | ||
204 | { 0x0440,0x0440,0x04a0 }, | ||
205 | { 0x0520,0x0480,0x0460 }, | ||
206 | { 0x0800,0x0630,0x0440 }, | ||
207 | { 0x0840,0x0840,0x0450 }, | ||
208 | { 0x0840,0x0840,0x04e0 }, | ||
209 | }; | ||
210 | |||
211 | const uint8_t ff_ac3_bap_tab[64]= { | ||
212 | 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, | ||
213 | 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, | ||
214 | 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, | ||
215 | 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, | ||
216 | 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, | ||
217 | 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, | ||
218 | 15, 15, 15, 15, | ||
219 | }; | ||
220 | |||
221 | const uint8_t ff_ac3_slow_decay_tab[4]={ | ||
222 | 0x0f, 0x11, 0x13, 0x15, | ||
223 | }; | ||
224 | |||
225 | const uint8_t ff_ac3_fast_decay_tab[4]={ | ||
226 | 0x3f, 0x53, 0x67, 0x7b, | ||
227 | }; | ||
228 | |||
229 | const uint16_t ff_ac3_slow_gain_tab[4]= { | ||
230 | 0x540, 0x4d8, 0x478, 0x410, | ||
231 | }; | ||
232 | |||
233 | const uint16_t ff_ac3_db_per_bit_tab[4]= { | ||
234 | 0x000, 0x700, 0x900, 0xb00, | ||
235 | }; | ||
236 | |||
237 | const int16_t ff_ac3_floor_tab[8]= { | ||
238 | 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800, | ||
239 | }; | ||
240 | |||
241 | const uint16_t ff_ac3_fast_gain_tab[8]= { | ||
242 | 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400, | ||
243 | }; | ||
244 | |||
245 | const uint8_t ff_ac3_critical_band_size_tab[50]={ | ||
246 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ||
247 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, | ||
248 | 3, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 24, 24, 24, 24, 24 | ||
249 | }; | ||
250 | /** | ||
251 | * Default channel map for a dependent substream defined by acmod | ||
252 | */ | ||
253 | const uint16_t ff_eac3_default_chmap[8] = { | ||
254 | AC3_CHMAP_L | AC3_CHMAP_R, // FIXME Ch1+Ch2 | ||
255 | AC3_CHMAP_C, | ||
256 | AC3_CHMAP_L | AC3_CHMAP_R, | ||
257 | AC3_CHMAP_L | AC3_CHMAP_C | AC3_CHMAP_R, | ||
258 | AC3_CHMAP_L | AC3_CHMAP_R | AC3_CHMAP_C_SUR, | ||
259 | AC3_CHMAP_L | AC3_CHMAP_C | AC3_CHMAP_R | AC3_CHMAP_C_SUR, | ||
260 | AC3_CHMAP_L | AC3_CHMAP_R | AC3_CHMAP_L_SUR | AC3_CHMAP_R_SUR, | ||
261 | AC3_CHMAP_L | AC3_CHMAP_C | AC3_CHMAP_R | AC3_CHMAP_L_SUR | AC3_CHMAP_R_SUR | ||
262 | }; | ||