Mercurial > mplayer.hg
annotate libfaad2/codebook/hcb_1.h @ 32605:7b4f8ecdc33b
Fix mp_check_mp3_header: it checked for a byte-swapped MP3-header
on little-endian, and on big-endian it would only accept a MP3-header
that would be valid when read in both directions.
The latter was the reason for bug 905, causing the PS demuxer to
claim files far too agressively (the MP3 check avoiding misdetection
as DV is not exactly a sane approach, but it mostly works).
author | reimar |
---|---|
date | Sat, 11 Dec 2010 21:11:33 +0000 |
parents | e83eef58b30a |
children |
rev | line source |
---|---|
10725 | 1 /* |
2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding | |
3 ** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
14726
diff
changeset
|
4 ** |
10725 | 5 ** This program is free software; you can redistribute it and/or modify |
6 ** it under the terms of the GNU General Public License as published by | |
7 ** the Free Software Foundation; either version 2 of the License, or | |
8 ** (at your option) any later version. | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
14726
diff
changeset
|
9 ** |
10725 | 10 ** This program is distributed in the hope that it will be useful, |
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ** GNU General Public License for more details. | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
14726
diff
changeset
|
14 ** |
10725 | 15 ** You should have received a copy of the GNU General Public License |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
14726
diff
changeset
|
16 ** along with this program; if not, write to the Free Software |
10725 | 17 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 ** | |
19 ** Any non-GPL usage of this software or parts of this software is strictly | |
20 ** forbidden. | |
21 ** | |
22 ** Commercial non-GPL licensing of this software is possible. | |
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. | |
24 ** | |
14726
1d5a49e6d9db
Remove modification notice from files that have not been locally modified.
diego
parents:
12625
diff
changeset
|
25 ** $Id: hcb_1.h,v 1.3 2003/09/09 18:12:01 menno Exp $ |
10725 | 26 **/ |
27 | |
28 /* 2-step huffman table HCB_1 */ | |
29 | |
30 | |
31 /* 1st step: 5 bits | |
32 * 2^5 = 32 entries | |
33 * | |
34 * Used to find offset into 2nd step table and number of extra bits to get | |
35 */ | |
36 static hcb hcb1_1[] = { | |
37 { /* 00000 */ 0, 0 }, | |
38 { /* */ 0, 0 }, | |
39 { /* */ 0, 0 }, | |
40 { /* */ 0, 0 }, | |
41 { /* */ 0, 0 }, | |
42 { /* */ 0, 0 }, | |
43 { /* */ 0, 0 }, | |
44 { /* */ 0, 0 }, | |
45 { /* */ 0, 0 }, | |
46 { /* */ 0, 0 }, | |
47 { /* */ 0, 0 }, | |
48 { /* */ 0, 0 }, | |
49 { /* */ 0, 0 }, | |
50 { /* */ 0, 0 }, | |
51 { /* */ 0, 0 }, | |
52 { /* */ 0, 0 }, | |
53 { /* 10000 */ 1, 0 }, | |
54 { /* 10001 */ 2, 0 }, | |
55 { /* 10010 */ 3, 0 }, | |
56 { /* 10011 */ 4, 0 }, | |
57 { /* 10100 */ 5, 0 }, | |
58 { /* 10101 */ 6, 0 }, | |
59 { /* 10110 */ 7, 0 }, | |
60 { /* 10111 */ 8, 0 }, | |
61 | |
62 /* 7 bit codewords */ | |
63 { /* 11000 */ 9, 2 }, | |
64 { /* 11001 */ 13, 2 }, | |
65 { /* 11010 */ 17, 2 }, | |
66 { /* 11011 */ 21, 2 }, | |
67 { /* 11100 */ 25, 2 }, | |
68 { /* 11101 */ 29, 2 }, | |
69 | |
70 /* 9 bit codewords */ | |
71 { /* 11110 */ 33, 4 }, | |
72 | |
73 /* 9/10/11 bit codewords */ | |
74 { /* 11111 */ 49, 6 } | |
75 }; | |
76 | |
77 /* 2nd step table | |
78 * | |
79 * Gives size of codeword and actual data (x,y,v,w) | |
80 */ | |
81 static hcb_2_quad hcb1_2[] = { | |
82 /* 1 bit codeword */ | |
83 { 1, 0, 0, 0, 0 }, | |
84 | |
85 /* 5 bit codewords */ | |
86 { 5, 1, 0, 0, 0 }, | |
87 { 5, -1, 0, 0, 0 }, | |
88 { 5, 0, 0, 0, -1 }, | |
89 { 5, 0, 1, 0, 0 }, | |
90 { 5, 0, 0, 0, 1 }, | |
91 { 5, 0, 0, -1, 0 }, | |
92 { 5, 0, 0, 1, 0 }, | |
93 { 5, 0, -1, 0, 0 }, | |
94 | |
95 /* 7 bit codewords */ | |
96 /* first 5 bits: 11000 */ | |
97 { 7, 1, -1, 0, 0 }, | |
98 { 7, -1, 1, 0, 0 }, | |
99 { 7, 0, 0, -1, 1 }, | |
100 { 7, 0, 1, -1, 0 }, | |
101 /* first 5 bits: 11001 */ | |
102 { 7, 0, -1, 1, 0 }, | |
103 { 7, 0, 0, 1, -1 }, | |
104 { 7, 1, 1, 0, 0 }, | |
105 { 7, 0, 0, -1, -1 }, | |
106 /* first 5 bits: 11010 */ | |
107 { 7, -1, -1, 0, 0 }, | |
108 { 7, 0, -1, -1, 0 }, | |
109 { 7, 1, 0, -1, 0 }, | |
110 { 7, 0, 1, 0, -1 }, | |
111 /* first 5 bits: 11011 */ | |
112 { 7, -1, 0, 1, 0 }, | |
113 { 7, 0, 0, 1, 1 }, | |
114 { 7, 1, 0, 1, 0 }, | |
115 { 7, 0, -1, 0, 1 }, | |
116 /* first 5 bits: 11100 */ | |
117 { 7, 0, 1, 1, 0 }, | |
118 { 7, 0, 1, 0, 1 }, | |
119 { 7, -1, 0, -1, 0 }, | |
120 { 7, 1, 0, 0, 1 }, | |
121 /* first 5 bits: 11101 */ | |
122 { 7, -1, 0, 0, -1 }, | |
123 { 7, 1, 0, 0, -1 }, | |
124 { 7, -1, 0, 0, 1 }, | |
125 { 7, 0, -1, 0, -1 }, | |
126 | |
127 /* 9 bit codeword */ | |
128 /* first 5 bits: 11110 */ | |
129 { 9, 1, 1, -1, 0 }, | |
130 { 9, -1, 1, -1, 0 }, | |
131 { 9, 1, -1, 1, 0 }, | |
132 { 9, 0, 1, 1, -1 }, | |
133 { 9, 0, 1, -1, 1 }, | |
134 { 9, 0, -1, 1, 1 }, | |
135 { 9, 0, -1, 1, -1 }, | |
136 { 9, 1, -1, -1, 0 }, | |
137 { 9, 1, 0, -1, 1 }, | |
138 { 9, 0, 1, -1, -1 }, | |
139 { 9, -1, 1, 1, 0 }, | |
140 { 9, -1, 0, 1, -1 }, | |
141 { 9, -1, -1, 1, 0 }, | |
142 { 9, 0, -1, -1, 1 }, | |
143 { 9, 1, -1, 0, 1 }, | |
144 { 9, 1, -1, 0, -1 }, | |
145 | |
146 /* 9/10/11 bit codewords */ | |
147 /* first 5 bits: 11111 */ | |
148 /* 9 bit: reading 11 bits -> 2 too much so 4 entries for each codeword */ | |
149 { 9, -1, 1, 0, -1 }, { 9, -1, 1, 0, -1 }, { 9, -1, 1, 0, -1 }, { 9, -1, 1, 0, -1 }, | |
150 { 9, -1, -1, -1, 0 }, { 9, -1, -1, -1, 0 }, { 9, -1, -1, -1, 0 }, { 9, -1, -1, -1, 0 }, | |
151 { 9, 0, -1, -1, -1 }, { 9, 0, -1, -1, -1 }, { 9, 0, -1, -1, -1 }, { 9, 0, -1, -1, -1 }, | |
152 { 9, 0, 1, 1, 1 }, { 9, 0, 1, 1, 1 }, { 9, 0, 1, 1, 1 }, { 9, 0, 1, 1, 1 }, | |
153 { 9, 1, 0, 1, -1 }, { 9, 1, 0, 1, -1 }, { 9, 1, 0, 1, -1 }, { 9, 1, 0, 1, -1 }, | |
154 { 9, 1, 1, 0, 1 }, { 9, 1, 1, 0, 1 }, { 9, 1, 1, 0, 1 }, { 9, 1, 1, 0, 1 }, | |
155 { 9, -1, 1, 0, 1 }, { 9, -1, 1, 0, 1 }, { 9, -1, 1, 0, 1 }, { 9, -1, 1, 0, 1 }, | |
156 { 9, 1, 1, 1, 0 }, { 9, 1, 1, 1, 0 }, { 9, 1, 1, 1, 0 }, { 9, 1, 1, 1, 0 }, | |
157 /* 10 bit: reading 11 bits -> 1 too much so 2 entries for each codeword */ | |
158 { 10, -1, -1, 0, 1 }, { 10, -1, -1, 0, 1 }, | |
159 { 10, -1, 0, -1, -1 }, { 10, -1, 0, -1, -1 }, | |
160 { 10, 1, 1, 0, -1 }, { 10, 1, 1, 0, -1 }, | |
161 { 10, 1, 0, -1, -1 }, { 10, 1, 0, -1, -1 }, | |
162 { 10, -1, 0, -1, 1 }, { 10, -1, 0, -1, 1 }, | |
163 { 10, -1, -1, 0, -1 }, { 10, -1, -1, 0, -1 }, | |
164 { 10, -1, 0, 1, 1 }, { 10, -1, 0, 1, 1 }, | |
165 { 10, 1, 0, 1, 1 }, { 10, 1, 0, 1, 1 }, | |
166 /* 11 bit */ | |
167 { 11, 1, -1, 1, -1 }, | |
168 { 11, -1, 1, -1, 1 }, | |
169 { 11, -1, 1, 1, -1 }, | |
170 { 11, 1, -1, -1, 1 }, | |
171 { 11, 1, 1, 1, 1 }, | |
172 { 11, -1, -1, 1, 1 }, | |
173 { 11, 1, 1, -1, -1 }, | |
174 { 11, -1, -1, 1, -1 }, | |
175 { 11, -1, -1, -1, -1 }, | |
176 { 11, 1, 1, -1, 1 }, | |
177 { 11, 1, -1, 1, 1 }, | |
178 { 11, -1, 1, 1, 1 }, | |
179 { 11, -1, 1, -1, -1 }, | |
180 { 11, -1, -1, -1, 1 }, | |
181 { 11, 1, -1, -1, -1 }, | |
182 { 11, 1, 1, 1, -1 } | |
183 }; |