~ubuntu-branches/debian/wheezy/vlc/wheezy

« back to all changes in this revision

Viewing changes to extras/ffmpeg/libavcodec/ac3tab.h

Tags: upstream-0.7.2.final
ImportĀ upstreamĀ versionĀ 0.7.2.final

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * @file ac3tab.h
 
3
 * tables taken directly from AC3 spec.
 
4
 */
 
5
 
 
6
/* possible frequencies */
 
7
const uint16_t ac3_freqs[3] = { 48000, 44100, 32000 };
 
8
 
 
9
/* possible bitrates */
 
10
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 */
 
18
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,  
 
51
};
 
52
 
 
53
static uint8_t masktab[253];
 
54
 
 
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,
 
82
};
 
83
 
 
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 },
 
135
};
 
136
 
 
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,
 
145
};
 
146
 
 
147
const uint8_t sdecaytab[4]={ 
 
148
    0x0f, 0x11, 0x13, 0x15,
 
149
};
 
150
 
 
151
const uint8_t fdecaytab[4]={ 
 
152
    0x3f, 0x53, 0x67, 0x7b, 
 
153
};
 
154
 
 
155
const uint16_t sgaintab[4]= { 
 
156
    0x540, 0x4d8, 0x478, 0x410,
 
157
};
 
158
 
 
159
const uint16_t dbkneetab[4]= { 
 
160
    0x000, 0x700, 0x900, 0xb00,
 
161
};
 
162
 
 
163
const uint16_t floortab[8]= { 
 
164
    0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800,
 
165
};
 
166
 
 
167
const uint16_t fgaintab[8]= {
 
168
    0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
 
169
};
 
170
 
 
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 
 
175
};
 
176
 
 
177
static uint8_t bndtab[51]; 
 
178
 
 
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];
 
185
 
 
186
static uint16_t crc_table[256];