annotate ac3tab.c @ 5319:40af705cef7e libavcodec

AC-3 decoder, soc revision 69, Aug 31 07:12:56 2006 UTC by cloud9 Fix the bugs: 1. The quality of output because of incorrect windowing coefficients. New code for window generation. 2. Dynrng values were reset where dynrng value is present in the first block, but not in the subsequent block.
author jbr
date Sat, 14 Jul 2007 16:03:14 +0000
parents 60603c9c89d1
children 7dfd69f9af60
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
1 /*
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
2 * AC3 tables
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
3 * copyright (c) 2001 Fabrice Bellard
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
15 * Lesser General Public License for more details.
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
16 *
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
20 */
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3668
diff changeset
21
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
22 /**
4879
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
23 * @file ac3tab.c
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
24 * tables taken directly from AC3 spec.
1e39f273ecd6 per file doxy
michaelni
parents: 1064
diff changeset
25 */
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
26
4879
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
27 #include "ac3tab.h"
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
28
4645
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
29 /**
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
30 * Possible frame sizes.
4679
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
31 * from ATSC A/52 Table 5.18 Frame Size Code Table.
4645
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
32 */
4679
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
33 const uint16_t ff_ac3_frame_sizes[38][3] = {
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
34 { 64, 69, 96 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
35 { 64, 70, 96 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
36 { 80, 87, 120 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
37 { 80, 88, 120 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
38 { 96, 104, 144 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
39 { 96, 105, 144 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
40 { 112, 121, 168 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
41 { 112, 122, 168 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
42 { 128, 139, 192 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
43 { 128, 140, 192 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
44 { 160, 174, 240 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
45 { 160, 175, 240 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
46 { 192, 208, 288 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
47 { 192, 209, 288 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
48 { 224, 243, 336 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
49 { 224, 244, 336 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
50 { 256, 278, 384 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
51 { 256, 279, 384 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
52 { 320, 348, 480 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
53 { 320, 349, 480 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
54 { 384, 417, 576 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
55 { 384, 418, 576 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
56 { 448, 487, 672 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
57 { 448, 488, 672 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
58 { 512, 557, 768 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
59 { 512, 558, 768 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
60 { 640, 696, 960 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
61 { 640, 697, 960 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
62 { 768, 835, 1152 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
63 { 768, 836, 1152 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
64 { 896, 975, 1344 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
65 { 896, 976, 1344 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
66 { 1024, 1114, 1536 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
67 { 1024, 1115, 1536 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
68 { 1152, 1253, 1728 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
69 { 1152, 1254, 1728 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
70 { 1280, 1393, 1920 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
71 { 1280, 1394, 1920 },
acdd4b24f5c5 hardcode ff_ac3_frame_sizes table
jbr
parents: 4645
diff changeset
72 };
4645
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
73
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
74 /**
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
75 * Maps audio coding mode (acmod) to number of full-bandwidth channels.
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
76 * from ATSC A/52 Table 5.8 Audio Coding Mode
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
77 */
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
78 const uint8_t ff_ac3_channels[8] = {
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
79 2, 1, 2, 3, 3, 4, 4, 5
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
80 };
056127e5df89 remove redundancy in AC-3 parser by using common tables from ac3tab.h
jbr
parents: 4643
diff changeset
81
782
dd7d5748d064 preparing integration of new AC3 decoder
bellard
parents: 0
diff changeset
82 /* possible frequencies */
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
83 const uint16_t ff_ac3_freqs[3] = { 48000, 44100, 32000 };
782
dd7d5748d064 preparing integration of new AC3 decoder
bellard
parents: 0
diff changeset
84
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
85 /* possible bitrates */
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
86 const uint16_t ff_ac3_bitratetab[19] = {
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
87 32, 40, 48, 56, 64, 80, 96, 112, 128,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
88 160, 192, 224, 256, 320, 384, 448, 512, 576, 640
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
89 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
90
3280
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
91 /* AC3 MDCT window */
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
92
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
93 /* MDCT window */
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
94 const int16_t ff_ac3_window[256] = {
3280
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
95 4, 7, 12, 16, 21, 28, 34, 42,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
96 51, 61, 72, 84, 97, 111, 127, 145,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
97 164, 184, 207, 231, 257, 285, 315, 347,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
98 382, 419, 458, 500, 544, 591, 641, 694,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
99 750, 810, 872, 937, 1007, 1079, 1155, 1235,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
100 1318, 1406, 1497, 1593, 1692, 1796, 1903, 2016,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
101 2132, 2253, 2379, 2509, 2644, 2783, 2927, 3076,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
102 3230, 3389, 3552, 3721, 3894, 4072, 4255, 4444,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
103 4637, 4835, 5038, 5246, 5459, 5677, 5899, 6127,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
104 6359, 6596, 6837, 7083, 7334, 7589, 7848, 8112,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
105 8380, 8652, 8927, 9207, 9491, 9778,10069,10363,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
106 10660,10960,11264,11570,11879,12190,12504,12820,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
107 13138,13458,13780,14103,14427,14753,15079,15407,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
108 15735,16063,16392,16720,17049,17377,17705,18032,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
109 18358,18683,19007,19330,19651,19970,20287,20602,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
110 20914,21225,21532,21837,22139,22438,22733,23025,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
111 23314,23599,23880,24157,24430,24699,24964,25225,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
112 25481,25732,25979,26221,26459,26691,26919,27142,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
113 27359,27572,27780,27983,28180,28373,28560,28742,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
114 28919,29091,29258,29420,29577,29729,29876,30018,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
115 30155,30288,30415,30538,30657,30771,30880,30985,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
116 31086,31182,31274,31363,31447,31528,31605,31678,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
117 31747,31814,31877,31936,31993,32046,32097,32145,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
118 32190,32232,32272,32310,32345,32378,32409,32438,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
119 32465,32490,32513,32535,32556,32574,32592,32608,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
120 32623,32636,32649,32661,32671,32681,32690,32698,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
121 32705,32712,32718,32724,32729,32733,32737,32741,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
122 32744,32747,32750,32752,32754,32756,32757,32759,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
123 32760,32761,32762,32763,32764,32764,32765,32765,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
124 32766,32766,32766,32766,32767,32767,32767,32767,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
125 32767,32767,32767,32767,32767,32767,32767,32767,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
126 32767,32767,32767,32767,32767,32767,32767,32767,
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
127 };
894ef0dba687 Revert bad ac3enc commit, the commited code was bigger and slower.
banan
parents: 3269
diff changeset
128
4879
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
129 const uint8_t ff_ac3_latab[260]= {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
130 0x0040,0x003f,0x003e,0x003d,0x003c,0x003b,0x003a,0x0039,0x0038,0x0037,
986e461dc072 Initial revision
glantau
parents:
diff changeset
131 0x0036,0x0035,0x0034,0x0034,0x0033,0x0032,0x0031,0x0030,0x002f,0x002f,
986e461dc072 Initial revision
glantau
parents:
diff changeset
132 0x002e,0x002d,0x002c,0x002c,0x002b,0x002a,0x0029,0x0029,0x0028,0x0027,
986e461dc072 Initial revision
glantau
parents:
diff changeset
133 0x0026,0x0026,0x0025,0x0024,0x0024,0x0023,0x0023,0x0022,0x0021,0x0021,
986e461dc072 Initial revision
glantau
parents:
diff changeset
134 0x0020,0x0020,0x001f,0x001e,0x001e,0x001d,0x001d,0x001c,0x001c,0x001b,
986e461dc072 Initial revision
glantau
parents:
diff changeset
135 0x001b,0x001a,0x001a,0x0019,0x0019,0x0018,0x0018,0x0017,0x0017,0x0016,
986e461dc072 Initial revision
glantau
parents:
diff changeset
136 0x0016,0x0015,0x0015,0x0015,0x0014,0x0014,0x0013,0x0013,0x0013,0x0012,
986e461dc072 Initial revision
glantau
parents:
diff changeset
137 0x0012,0x0012,0x0011,0x0011,0x0011,0x0010,0x0010,0x0010,0x000f,0x000f,
986e461dc072 Initial revision
glantau
parents:
diff changeset
138 0x000f,0x000e,0x000e,0x000e,0x000d,0x000d,0x000d,0x000d,0x000c,0x000c,
986e461dc072 Initial revision
glantau
parents:
diff changeset
139 0x000c,0x000c,0x000b,0x000b,0x000b,0x000b,0x000a,0x000a,0x000a,0x000a,
986e461dc072 Initial revision
glantau
parents:
diff changeset
140 0x000a,0x0009,0x0009,0x0009,0x0009,0x0009,0x0008,0x0008,0x0008,0x0008,
986e461dc072 Initial revision
glantau
parents:
diff changeset
141 0x0008,0x0008,0x0007,0x0007,0x0007,0x0007,0x0007,0x0007,0x0006,0x0006,
986e461dc072 Initial revision
glantau
parents:
diff changeset
142 0x0006,0x0006,0x0006,0x0006,0x0006,0x0006,0x0005,0x0005,0x0005,0x0005,
986e461dc072 Initial revision
glantau
parents:
diff changeset
143 0x0005,0x0005,0x0005,0x0005,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
986e461dc072 Initial revision
glantau
parents:
diff changeset
144 0x0004,0x0004,0x0004,0x0004,0x0004,0x0003,0x0003,0x0003,0x0003,0x0003,
986e461dc072 Initial revision
glantau
parents:
diff changeset
145 0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0003,0x0002,
986e461dc072 Initial revision
glantau
parents:
diff changeset
146 0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
986e461dc072 Initial revision
glantau
parents:
diff changeset
147 0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0001,0x0001,
986e461dc072 Initial revision
glantau
parents:
diff changeset
148 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
986e461dc072 Initial revision
glantau
parents:
diff changeset
149 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
986e461dc072 Initial revision
glantau
parents:
diff changeset
150 0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
986e461dc072 Initial revision
glantau
parents:
diff changeset
151 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
986e461dc072 Initial revision
glantau
parents:
diff changeset
152 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
986e461dc072 Initial revision
glantau
parents:
diff changeset
153 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
986e461dc072 Initial revision
glantau
parents:
diff changeset
154 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
986e461dc072 Initial revision
glantau
parents:
diff changeset
155 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
986e461dc072 Initial revision
glantau
parents:
diff changeset
156 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
157
4879
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
158 const uint16_t ff_ac3_hth[50][3]= {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
159 { 0x04d0,0x04f0,0x0580 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
160 { 0x04d0,0x04f0,0x0580 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
161 { 0x0440,0x0460,0x04b0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
162 { 0x0400,0x0410,0x0450 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
163 { 0x03e0,0x03e0,0x0420 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
164 { 0x03c0,0x03d0,0x03f0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
165 { 0x03b0,0x03c0,0x03e0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
166 { 0x03b0,0x03b0,0x03d0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
167 { 0x03a0,0x03b0,0x03c0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
168 { 0x03a0,0x03a0,0x03b0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
169 { 0x03a0,0x03a0,0x03b0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
170 { 0x03a0,0x03a0,0x03b0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
171 { 0x03a0,0x03a0,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
172 { 0x0390,0x03a0,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
173 { 0x0390,0x0390,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
174 { 0x0390,0x0390,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
175 { 0x0380,0x0390,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
176 { 0x0380,0x0380,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
177 { 0x0370,0x0380,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
178 { 0x0370,0x0380,0x03a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
179 { 0x0360,0x0370,0x0390 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
180 { 0x0360,0x0370,0x0390 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
181 { 0x0350,0x0360,0x0390 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
182 { 0x0350,0x0360,0x0390 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
183 { 0x0340,0x0350,0x0380 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
184 { 0x0340,0x0350,0x0380 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
185 { 0x0330,0x0340,0x0380 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
186 { 0x0320,0x0340,0x0370 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
187 { 0x0310,0x0320,0x0360 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
188 { 0x0300,0x0310,0x0350 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
189 { 0x02f0,0x0300,0x0340 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
190 { 0x02f0,0x02f0,0x0330 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
191 { 0x02f0,0x02f0,0x0320 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
192 { 0x02f0,0x02f0,0x0310 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
193 { 0x0300,0x02f0,0x0300 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
194 { 0x0310,0x0300,0x02f0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
195 { 0x0340,0x0320,0x02f0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
196 { 0x0390,0x0350,0x02f0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
197 { 0x03e0,0x0390,0x0300 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
198 { 0x0420,0x03e0,0x0310 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
199 { 0x0460,0x0420,0x0330 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
200 { 0x0490,0x0450,0x0350 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
201 { 0x04a0,0x04a0,0x03c0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
202 { 0x0460,0x0490,0x0410 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
203 { 0x0440,0x0460,0x0470 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
204 { 0x0440,0x0440,0x04a0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
205 { 0x0520,0x0480,0x0460 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
206 { 0x0800,0x0630,0x0440 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
207 { 0x0840,0x0840,0x0450 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
208 { 0x0840,0x0840,0x04e0 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
209 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
210
4879
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
211 const uint8_t ff_ac3_baptab[64]= {
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
212 0, 1, 1, 1, 1, 1, 2, 2, 3, 3,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
213 3, 4, 4, 5, 5, 6, 6, 6, 6, 7,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
214 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
215 9, 10, 10, 10, 10, 11, 11, 11, 11, 12,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
216 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
217 14, 14, 14, 14, 14, 15, 15, 15, 15, 15,
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
218 15, 15, 15, 15,
986e461dc072 Initial revision
glantau
parents:
diff changeset
219 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
220
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
221 const uint8_t ff_sdecaytab[4]={
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
222 0x0f, 0x11, 0x13, 0x15,
986e461dc072 Initial revision
glantau
parents:
diff changeset
223 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
224
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
225 const uint8_t ff_fdecaytab[4]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
226 0x3f, 0x53, 0x67, 0x7b,
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
227 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
228
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
229 const uint16_t ff_sgaintab[4]= {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
230 0x540, 0x4d8, 0x478, 0x410,
986e461dc072 Initial revision
glantau
parents:
diff changeset
231 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
232
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
233 const uint16_t ff_dbkneetab[4]= {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
234 0x000, 0x700, 0x900, 0xb00,
986e461dc072 Initial revision
glantau
parents:
diff changeset
235 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
236
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
237 const int16_t ff_floortab[8]= {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
238 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800,
986e461dc072 Initial revision
glantau
parents:
diff changeset
239 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
240
4643
1e175640dad3 Remove common code from AC-3 encoder and utilize ac3.c.
jbr
parents: 3947
diff changeset
241 const uint16_t ff_fgaintab[8]= {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
242 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400,
986e461dc072 Initial revision
glantau
parents:
diff changeset
243 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
244
4879
60603c9c89d1 move ac3 tables from a .h to a .c
aurel
parents: 4679
diff changeset
245 const uint8_t ff_ac3_bndsz[50]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
246 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
247 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2097
diff changeset
248 3, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 24, 24, 24, 24, 24
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
249 };