annotate liba52/tables.h @ 1795:920e6381e1fe libavcodec

2 byte shorter userdata for mpeg4 in the past it was startcode,string,00,7F,startcode now it is startcode,string,stratcode both are mpeg4 compliant, as according to the standard the userdata lasts until the next 00 00 01 (startcode prefix) but some very primitive decoders which simply skip until the first 00 byte and then expect the next valid startcode might fail with the old variant, just a theory though (didnt test if quicktime can decode it now)
author michael
date Sun, 08 Feb 2004 22:52:35 +0000
parents 68d0a38bd802
children 0b546eab515d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
1 /*
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
2 * tables.h
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
3 * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org>
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
4 * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
5 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
6 * This file is part of a52dec, a free ATSC A-52 stream decoder.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
7 * See http://liba52.sourceforge.net/ for updates.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
8 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
9 * a52dec is free software; you can redistribute it and/or modify
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
12 * (at your option) any later version.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
13 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
14 * a52dec is distributed in the hope that it will be useful,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
17 * GNU General Public License for more details.
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
18 *
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
22 */
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
23
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
24 static const int8_t exp_1[128] = {
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
25 -2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
26 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
27 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
28 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
29 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
30 25,25,25
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
31 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
32 static const int8_t exp_2[128] = {
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
33 -2,-2,-2,-2,-2,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
34 -2,-2,-2,-2,-2,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
35 -2,-2,-2,-2,-2,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
36 -2,-2,-2,-2,-2,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
37 -2,-2,-2,-2,-2,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
38 25,25,25
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
39 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
40 static const int8_t exp_3[128] = {
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
41 -2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
42 -2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
43 -2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
44 -2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
45 -2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,-2,-1, 0, 1, 2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
46 25,25,25
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
47 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
48
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
49 #define Q(x) ROUND (32768.0 * x)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
50
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
51 #define Q0 Q (-2/3)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
52 #define Q1 Q (0)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
53 #define Q2 Q (2/3)
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
54
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
55 static const quantizer_t q_1_0[32] = {
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
56 Q0, Q0, Q0, Q0, Q0, Q0, Q0, Q0, Q0,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
57 Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q1,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
58 Q2, Q2, Q2, Q2, Q2, Q2, Q2, Q2, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
59 0, 0, 0, 0, 0
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
60 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
61
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
62 static const quantizer_t q_1_1[32] = {
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
63 Q0, Q0, Q0, Q1, Q1, Q1, Q2, Q2, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
64 Q0, Q0, Q0, Q1, Q1, Q1, Q2, Q2, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
65 Q0, Q0, Q0, Q1, Q1, Q1, Q2, Q2, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
66 0, 0, 0, 0, 0
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
67 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
68
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
69 static const quantizer_t q_1_2[32] = {
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
70 Q0, Q1, Q2, Q0, Q1, Q2, Q0, Q1, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
71 Q0, Q1, Q2, Q0, Q1, Q2, Q0, Q1, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
72 Q0, Q1, Q2, Q0, Q1, Q2, Q0, Q1, Q2,
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
73 0, 0, 0, 0, 0
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
74 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
75
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
76 #undef Q0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
77 #undef Q1
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
78 #undef Q2
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
79
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
80 #define Q0 Q (-4/5)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
81 #define Q1 Q (-2/5)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
82 #define Q2 Q (0)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
83 #define Q3 Q (2/5)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
84 #define Q4 Q (4/5)
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
85
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
86 static const quantizer_t q_2_0[128] = {
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
87 Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,Q0,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
88 Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,Q1,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
89 Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,Q2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
90 Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,Q3,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
91 Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
92 0,0,0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
93 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
94
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
95 static const quantizer_t q_2_1[128] = {
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
96 Q0,Q0,Q0,Q0,Q0,Q1,Q1,Q1,Q1,Q1,Q2,Q2,Q2,Q2,Q2,Q3,Q3,Q3,Q3,Q3,Q4,Q4,Q4,Q4,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
97 Q0,Q0,Q0,Q0,Q0,Q1,Q1,Q1,Q1,Q1,Q2,Q2,Q2,Q2,Q2,Q3,Q3,Q3,Q3,Q3,Q4,Q4,Q4,Q4,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
98 Q0,Q0,Q0,Q0,Q0,Q1,Q1,Q1,Q1,Q1,Q2,Q2,Q2,Q2,Q2,Q3,Q3,Q3,Q3,Q3,Q4,Q4,Q4,Q4,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
99 Q0,Q0,Q0,Q0,Q0,Q1,Q1,Q1,Q1,Q1,Q2,Q2,Q2,Q2,Q2,Q3,Q3,Q3,Q3,Q3,Q4,Q4,Q4,Q4,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
100 Q0,Q0,Q0,Q0,Q0,Q1,Q1,Q1,Q1,Q1,Q2,Q2,Q2,Q2,Q2,Q3,Q3,Q3,Q3,Q3,Q4,Q4,Q4,Q4,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
101 0,0,0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
102 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
103
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
104 static const quantizer_t q_2_2[128] = {
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
105 Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
106 Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
107 Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
108 Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
109 Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,Q0,Q1,Q2,Q3,Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
110 0,0,0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
111 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
112
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
113 #undef Q0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
114 #undef Q1
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
115 #undef Q2
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
116 #undef Q3
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
117 #undef Q4
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
118
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
119 static const quantizer_t q_3[8] = {
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
120 Q (-6/7), Q (-4/7), Q (-2/7), Q (0), Q (2/7), Q (4/7), Q (6/7), 0
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
121 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
122
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
123 #define Q0 Q (-10/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
124 #define Q1 Q (-8/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
125 #define Q2 Q (-6/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
126 #define Q3 Q (-4/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
127 #define Q4 Q (-2/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
128 #define Q5 Q (0)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
129 #define Q6 Q (2/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
130 #define Q7 Q (4/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
131 #define Q8 Q (6/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
132 #define Q9 Q (8/11)
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
133 #define QA Q (10/11)
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
134
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
135 static const quantizer_t q_4_0[128] = {
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
136 Q0, Q0, Q0, Q0, Q0, Q0, Q0, Q0, Q0, Q0, Q0,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
137 Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q1, Q1,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
138 Q2, Q2, Q2, Q2, Q2, Q2, Q2, Q2, Q2, Q2, Q2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
139 Q3, Q3, Q3, Q3, Q3, Q3, Q3, Q3, Q3, Q3, Q3,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
140 Q4, Q4, Q4, Q4, Q4, Q4, Q4, Q4, Q4, Q4, Q4,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
141 Q5, Q5, Q5, Q5, Q5, Q5, Q5, Q5, Q5, Q5, Q5,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
142 Q6, Q6, Q6, Q6, Q6, Q6, Q6, Q6, Q6, Q6, Q6,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
143 Q7, Q7, Q7, Q7, Q7, Q7, Q7, Q7, Q7, Q7, Q7,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
144 Q8, Q8, Q8, Q8, Q8, Q8, Q8, Q8, Q8, Q8, Q8,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
145 Q9, Q9, Q9, Q9, Q9, Q9, Q9, Q9, Q9, Q9, Q9,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
146 QA, QA, QA, QA, QA, QA, QA, QA, QA, QA, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
147 0, 0, 0, 0, 0, 0, 0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
148 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
149
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
150 static const quantizer_t q_4_1[128] = {
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
151 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
152 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
153 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
154 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
155 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
156 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
157 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
158 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
159 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
160 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
161 Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, QA,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
162 0, 0, 0, 0, 0, 0, 0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
163 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
164
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
165 #undef Q0
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
166 #undef Q1
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
167 #undef Q2
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
168 #undef Q3
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
169 #undef Q4
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
170 #undef Q5
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
171 #undef Q6
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
172 #undef Q7
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
173 #undef Q8
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
174 #undef Q9
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
175 #undef QA
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
176
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
177 static const quantizer_t q_5[16] = {
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
178 Q (-14/15), Q (-12/15), Q (-10/15), Q (-8/15), Q (-6/15),
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
179 Q (-4/15), Q (-2/15), Q (0), Q (2/15), Q (4/15),
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
180 Q (6/15), Q (8/15), Q (10/15), Q (12/15), Q (14/15), 0
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
181 };
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
182
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
183 #ifndef LIBA52_FIXED
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
184 static const sample_t scale_factor[25] = {
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
185 0.000030517578125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
186 0.0000152587890625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
187 0.00000762939453125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
188 0.000003814697265625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
189 0.0000019073486328125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
190 0.00000095367431640625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
191 0.000000476837158203125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
192 0.0000002384185791015625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
193 0.00000011920928955078125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
194 0.000000059604644775390625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
195 0.0000000298023223876953125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
196 0.00000001490116119384765625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
197 0.000000007450580596923828125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
198 0.0000000037252902984619140625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
199 0.00000000186264514923095703125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
200 0.000000000931322574615478515625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
201 0.0000000004656612873077392578125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
202 0.00000000023283064365386962890625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
203 0.000000000116415321826934814453125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
204 0.0000000000582076609134674072265625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
205 0.00000000002910383045673370361328125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
206 0.000000000014551915228366851806640625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
207 0.0000000000072759576141834259033203125,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
208 0.00000000000363797880709171295166015625,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
209 0.000000000001818989403545856475830078125
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
210 };
1072
68d0a38bd802 * sync with main liba52 sources
kabi
parents: 332
diff changeset
211 #endif
332
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
212
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
213 static const uint16_t dither_lut[256] = {
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
214 0x0000, 0xa011, 0xe033, 0x4022, 0x6077, 0xc066, 0x8044, 0x2055,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
215 0xc0ee, 0x60ff, 0x20dd, 0x80cc, 0xa099, 0x0088, 0x40aa, 0xe0bb,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
216 0x21cd, 0x81dc, 0xc1fe, 0x61ef, 0x41ba, 0xe1ab, 0xa189, 0x0198,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
217 0xe123, 0x4132, 0x0110, 0xa101, 0x8154, 0x2145, 0x6167, 0xc176,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
218 0x439a, 0xe38b, 0xa3a9, 0x03b8, 0x23ed, 0x83fc, 0xc3de, 0x63cf,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
219 0x8374, 0x2365, 0x6347, 0xc356, 0xe303, 0x4312, 0x0330, 0xa321,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
220 0x6257, 0xc246, 0x8264, 0x2275, 0x0220, 0xa231, 0xe213, 0x4202,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
221 0xa2b9, 0x02a8, 0x428a, 0xe29b, 0xc2ce, 0x62df, 0x22fd, 0x82ec,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
222 0x8734, 0x2725, 0x6707, 0xc716, 0xe743, 0x4752, 0x0770, 0xa761,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
223 0x47da, 0xe7cb, 0xa7e9, 0x07f8, 0x27ad, 0x87bc, 0xc79e, 0x678f,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
224 0xa6f9, 0x06e8, 0x46ca, 0xe6db, 0xc68e, 0x669f, 0x26bd, 0x86ac,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
225 0x6617, 0xc606, 0x8624, 0x2635, 0x0660, 0xa671, 0xe653, 0x4642,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
226 0xc4ae, 0x64bf, 0x249d, 0x848c, 0xa4d9, 0x04c8, 0x44ea, 0xe4fb,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
227 0x0440, 0xa451, 0xe473, 0x4462, 0x6437, 0xc426, 0x8404, 0x2415,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
228 0xe563, 0x4572, 0x0550, 0xa541, 0x8514, 0x2505, 0x6527, 0xc536,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
229 0x258d, 0x859c, 0xc5be, 0x65af, 0x45fa, 0xe5eb, 0xa5c9, 0x05d8,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
230 0xae79, 0x0e68, 0x4e4a, 0xee5b, 0xce0e, 0x6e1f, 0x2e3d, 0x8e2c,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
231 0x6e97, 0xce86, 0x8ea4, 0x2eb5, 0x0ee0, 0xaef1, 0xeed3, 0x4ec2,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
232 0x8fb4, 0x2fa5, 0x6f87, 0xcf96, 0xefc3, 0x4fd2, 0x0ff0, 0xafe1,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
233 0x4f5a, 0xef4b, 0xaf69, 0x0f78, 0x2f2d, 0x8f3c, 0xcf1e, 0x6f0f,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
234 0xede3, 0x4df2, 0x0dd0, 0xadc1, 0x8d94, 0x2d85, 0x6da7, 0xcdb6,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
235 0x2d0d, 0x8d1c, 0xcd3e, 0x6d2f, 0x4d7a, 0xed6b, 0xad49, 0x0d58,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
236 0xcc2e, 0x6c3f, 0x2c1d, 0x8c0c, 0xac59, 0x0c48, 0x4c6a, 0xec7b,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
237 0x0cc0, 0xacd1, 0xecf3, 0x4ce2, 0x6cb7, 0xcca6, 0x8c84, 0x2c95,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
238 0x294d, 0x895c, 0xc97e, 0x696f, 0x493a, 0xe92b, 0xa909, 0x0918,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
239 0xe9a3, 0x49b2, 0x0990, 0xa981, 0x89d4, 0x29c5, 0x69e7, 0xc9f6,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
240 0x0880, 0xa891, 0xe8b3, 0x48a2, 0x68f7, 0xc8e6, 0x88c4, 0x28d5,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
241 0xc86e, 0x687f, 0x285d, 0x884c, 0xa819, 0x0808, 0x482a, 0xe83b,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
242 0x6ad7, 0xcac6, 0x8ae4, 0x2af5, 0x0aa0, 0xaab1, 0xea93, 0x4a82,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
243 0xaa39, 0x0a28, 0x4a0a, 0xea1b, 0xca4e, 0x6a5f, 0x2a7d, 0x8a6c,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
244 0x4b1a, 0xeb0b, 0xab29, 0x0b38, 0x2b6d, 0x8b7c, 0xcb5e, 0x6b4f,
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
245 0x8bf4, 0x2be5, 0x6bc7, 0xcbd6, 0xeb83, 0x4b92, 0x0bb0, 0xaba1
207cc56d18f8 * add support for liba52
kabi
parents:
diff changeset
246 };