annotate ac3tab.c @ 8520:a0164882aa38 libavcodec

Generic metadata API. avi is updated as example. No version bump, the API still might change slightly ... No update to ffmpeg.c as requested by aurel.
author michael
date Sun, 04 Jan 2009 18:48:37 +0000
parents 1a93d3bbe3ee
children e9d9d946f213
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 /*
7470
1a93d3bbe3ee cosmetics: make all references to AC-3 capitalized and hyphenated
jbr
parents: 6671
diff changeset
2 * AC-3 tables
3699
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
7470
1a93d3bbe3ee cosmetics: make all references to AC-3 capitalized and hyphenated
jbr
parents: 6671
diff changeset
24 * tables taken directly from the AC-3 spec.
1106
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 */
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
33 const uint16_t ff_ac3_frame_size_tab[38][3] = {
4679
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 */
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
78 const uint8_t ff_ac3_channels_tab[8] = {
4645
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 */
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
83 const uint16_t ff_ac3_sample_rate_tab[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 */
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
86 const uint16_t ff_ac3_bitrate_tab[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
7470
1a93d3bbe3ee cosmetics: make all references to AC-3 capitalized and hyphenated
jbr
parents: 6671
diff changeset
91 /* AC-3 MDCT window */
3280
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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
129 const uint8_t ff_ac3_log_add_tab[260]= {
5671
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
130 0x40,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38,0x37,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
131 0x36,0x35,0x34,0x34,0x33,0x32,0x31,0x30,0x2f,0x2f,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
132 0x2e,0x2d,0x2c,0x2c,0x2b,0x2a,0x29,0x29,0x28,0x27,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
133 0x26,0x26,0x25,0x24,0x24,0x23,0x23,0x22,0x21,0x21,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
134 0x20,0x20,0x1f,0x1e,0x1e,0x1d,0x1d,0x1c,0x1c,0x1b,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
135 0x1b,0x1a,0x1a,0x19,0x19,0x18,0x18,0x17,0x17,0x16,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
136 0x16,0x15,0x15,0x15,0x14,0x14,0x13,0x13,0x13,0x12,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
137 0x12,0x12,0x11,0x11,0x11,0x10,0x10,0x10,0x0f,0x0f,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
138 0x0f,0x0e,0x0e,0x0e,0x0d,0x0d,0x0d,0x0d,0x0c,0x0c,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
139 0x0c,0x0c,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
140 0x0a,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x08,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
141 0x08,0x08,0x07,0x07,0x07,0x07,0x07,0x07,0x06,0x06,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
142 0x06,0x06,0x06,0x06,0x06,0x06,0x05,0x05,0x05,0x05,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
143 0x05,0x05,0x05,0x05,0x04,0x04,0x04,0x04,0x04,0x04,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
144 0x04,0x04,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x03,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
145 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x02,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
146 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
147 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
148 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
149 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
150 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
151 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
152 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
153 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
154 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
7dfd69f9af60 cosmetic
michael
parents: 4879
diff changeset
155 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
156 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
157
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
158 const uint16_t ff_ac3_hearing_threshold_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
211 const uint8_t ff_ac3_bap_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
221 const uint8_t ff_ac3_slow_decay_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
225 const uint8_t ff_ac3_fast_decay_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
229 const uint16_t ff_ac3_slow_gain_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
233 const uint16_t ff_ac3_db_per_bit_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
237 const int16_t ff_ac3_floor_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
241 const uint16_t ff_ac3_fast_gain_tab[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
6002
29635f7c3d9c cosmetics: rename ac3 tables
jbr
parents: 5671
diff changeset
245 const uint8_t ff_ac3_critical_band_size_tab[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 };
6671
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
250 /**
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
251 * Default channel map for a dependent substream defined by acmod
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
252 */
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
253 const uint16_t ff_eac3_default_chmap[8] = {
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
254 AC3_CHMAP_L | AC3_CHMAP_R, // FIXME Ch1+Ch2
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
255 AC3_CHMAP_C,
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
256 AC3_CHMAP_L | AC3_CHMAP_R,
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
257 AC3_CHMAP_L | AC3_CHMAP_C | AC3_CHMAP_R,
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
258 AC3_CHMAP_L | AC3_CHMAP_R | AC3_CHMAP_C_SUR,
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
259 AC3_CHMAP_L | AC3_CHMAP_C | AC3_CHMAP_R | AC3_CHMAP_C_SUR,
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
260 AC3_CHMAP_L | AC3_CHMAP_R | AC3_CHMAP_L_SUR | AC3_CHMAP_R_SUR,
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
261 AC3_CHMAP_L | AC3_CHMAP_C | AC3_CHMAP_R | AC3_CHMAP_L_SUR | AC3_CHMAP_R_SUR
2d0b86dfe5bb add a ff_ac3_parse_header_full() which calls ff_ac3_parse_header()
bwolowiec
parents: 6002
diff changeset
262 };