VirtualBox

source: vbox/trunk/src/libs/ffmpeg-20060710/libavcodec/ac3tab.h@ 9441

Last change on this file since 9441 was 5776, checked in by vboxsync, 17 years ago

ffmpeg: exported to OSE

File size: 6.3 KB
Line 
1/**
2 * @file ac3tab.h
3 * tables taken directly from AC3 spec.
4 */
5
6/* possible frequencies */
7static const uint16_t ac3_freqs[3] = { 48000, 44100, 32000 };
8
9/* possible bitrates */
10static 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
13};
14
15/* AC3 MDCT window */
16
17/* MDCT window */
18static 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,
3010660,10960,11264,11570,11879,12190,12504,12820,
3113138,13458,13780,14103,14427,14753,15079,15407,
3215735,16063,16392,16720,17049,17377,17705,18032,
3318358,18683,19007,19330,19651,19970,20287,20602,
3420914,21225,21532,21837,22139,22438,22733,23025,
3523314,23599,23880,24157,24430,24699,24964,25225,
3625481,25732,25979,26221,26459,26691,26919,27142,
3727359,27572,27780,27983,28180,28373,28560,28742,
3828919,29091,29258,29420,29577,29729,29876,30018,
3930155,30288,30415,30538,30657,30771,30880,30985,
4031086,31182,31274,31363,31447,31528,31605,31678,
4131747,31814,31877,31936,31993,32046,32097,32145,
4232190,32232,32272,32310,32345,32378,32409,32438,
4332465,32490,32513,32535,32556,32574,32592,32608,
4432623,32636,32649,32661,32671,32681,32690,32698,
4532705,32712,32718,32724,32729,32733,32737,32741,
4632744,32747,32750,32752,32754,32756,32757,32759,
4732760,32761,32762,32763,32764,32764,32765,32765,
4832766,32766,32766,32766,32767,32767,32767,32767,
4932767,32767,32767,32767,32767,32767,32767,32767,
5032767,32767,32767,32767,32767,32767,32767,32767,
51};
52
53static uint8_t masktab[253];
54
55static const uint8_t latab[260]= {
560x0040,0x003f,0x003e,0x003d,0x003c,0x003b,0x003a,0x0039,0x0038,0x0037,
570x0036,0x0035,0x0034,0x0034,0x0033,0x0032,0x0031,0x0030,0x002f,0x002f,
580x002e,0x002d,0x002c,0x002c,0x002b,0x002a,0x0029,0x0029,0x0028,0x0027,
590x0026,0x0026,0x0025,0x0024,0x0024,0x0023,0x0023,0x0022,0x0021,0x0021,
600x0020,0x0020,0x001f,0x001e,0x001e,0x001d,0x001d,0x001c,0x001c,0x001b,
610x001b,0x001a,0x001a,0x0019,0x0019,0x0018,0x0018,0x0017,0x0017,0x0016,
620x0016,0x0015,0x0015,0x0015,0x0014,0x0014,0x0013,0x0013,0x0013,0x0012,
630x0012,0x0012,0x0011,0x0011,0x0011,0x0010,0x0010,0x0010,0x000f,0x000f,
640x000f,0x000e,0x000e,0x000e,0x000d,0x000d,0x000d,0x000d,0x000c,0x000c,
650x000c,0x000c,0x000b,0x000b,0x000b,0x000b,0x000a,0x000a,0x000a,0x000a,
660x000a,0x0009,0x0009,0x0009,0x0009,0x0009,0x0008,0x0008,0x0008,0x0008,
670x0008,0x0008,0x0007,0x0007,0x0007,0x0007,0x0007,0x0007,0x0006,0x0006,
680x0006,0x0006,0x0006,0x0006,0x0006,0x0006,0x0005,0x0005,0x0005,0x0005,
690x0005,0x0005,0x0005,0x0005,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
700x0004,0x0004,0x0004,0x0004,0x0004,0x0003,0x0003,0x0003,0x0003,0x0003,
710x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0002,
720x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
730x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0001,0x0001,
740x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
750x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
760x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
770x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
780x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
790x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
800x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
810x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
82};
83
84static 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 },
135};
136
137static 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,
145};
146
147static const uint8_t sdecaytab[4]={
148 0x0f, 0x11, 0x13, 0x15,
149};
150
151static const uint8_t fdecaytab[4]={
152 0x3f, 0x53, 0x67, 0x7b,
153};
154
155static const uint16_t sgaintab[4]= {
156 0x540, 0x4d8, 0x478, 0x410,
157};
158
159static const uint16_t dbkneetab[4]= {
160 0x000, 0x700, 0x900, 0xb00,
161};
162
163static const uint16_t floortab[8]= {
164 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800,
165};
166
167static const uint16_t fgaintab[8]= {
168 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
169};
170
171static 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
175};
176
177static uint8_t bndtab[51];
178
179/* fft & mdct sin cos tables */
180static int16_t costab[64];
181static int16_t sintab[64];
182static int16_t fft_rev[512];
183static int16_t xcos1[128];
184static int16_t xsin1[128];
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette