blob: 37e3fdcc13d7dc6a0095d88f147c85c03e06cda3
1 | /* |
2 | ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding |
3 | ** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com |
4 | ** |
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. |
9 | ** |
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. |
14 | ** |
15 | ** You should have received a copy of the GNU General Public License |
16 | ** along with this program; if not, write to the Free Software |
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 | ** The "appropriate copyright message" mentioned in section 2c of the GPLv2 |
23 | ** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" |
24 | ** |
25 | ** Commercial non-GPL licensing of this software is possible. |
26 | ** For more info contact Nero AG through Mpeg4AAClicense@nero.com. |
27 | ** |
28 | ** $Id: hcb_9.h,v 1.5 2007/11/01 12:34:11 menno Exp $ |
29 | **/ |
30 | |
31 | /* Binary search huffman table HCB_9 */ |
32 | |
33 | |
34 | static hcb_bin_pair hcb9[] = { |
35 | { /* 0 */ 0, { 1, 2 } }, |
36 | { /* 1 */ 1, { 0, 0 } }, |
37 | { /* 2 */ 0, { 1, 2 } }, |
38 | { /* 3 */ 0, { 2, 3 } }, |
39 | { /* 4 */ 0, { 3, 4 } }, |
40 | { /* 5 */ 1, { 1, 0 } }, |
41 | { /* 6 */ 1, { 0, 1 } }, |
42 | { /* 7 */ 0, { 2, 3 } }, |
43 | { /* 8 */ 0, { 3, 4 } }, |
44 | { /* 9 */ 1, { 1, 1 } }, |
45 | { /* 10 */ 0, { 3, 4 } }, |
46 | { /* 11 */ 0, { 4, 5 } }, |
47 | { /* 12 */ 0, { 5, 6 } }, |
48 | { /* 13 */ 0, { 6, 7 } }, |
49 | { /* 14 */ 0, { 7, 8 } }, |
50 | { /* 15 */ 0, { 8, 9 } }, |
51 | { /* 16 */ 0, { 9, 10 } }, |
52 | { /* 17 */ 0, { 10, 11 } }, |
53 | { /* 18 */ 0, { 11, 12 } }, |
54 | { /* 19 */ 1, { 2, 1 } }, |
55 | { /* 20 */ 1, { 1, 2 } }, |
56 | { /* 21 */ 1, { 2, 0 } }, |
57 | { /* 22 */ 1, { 0, 2 } }, |
58 | { /* 23 */ 0, { 8, 9 } }, |
59 | { /* 24 */ 0, { 9, 10 } }, |
60 | { /* 25 */ 0, { 10, 11 } }, |
61 | { /* 26 */ 0, { 11, 12 } }, |
62 | { /* 27 */ 0, { 12, 13 } }, |
63 | { /* 28 */ 0, { 13, 14 } }, |
64 | { /* 29 */ 0, { 14, 15 } }, |
65 | { /* 30 */ 0, { 15, 16 } }, |
66 | { /* 31 */ 1, { 3, 1 } }, |
67 | { /* 32 */ 1, { 2, 2 } }, |
68 | { /* 33 */ 1, { 1, 3 } }, |
69 | { /* 34 */ 0, { 13, 14 } }, |
70 | { /* 35 */ 0, { 14, 15 } }, |
71 | { /* 36 */ 0, { 15, 16 } }, |
72 | { /* 37 */ 0, { 16, 17 } }, |
73 | { /* 38 */ 0, { 17, 18 } }, |
74 | { /* 39 */ 0, { 18, 19 } }, |
75 | { /* 40 */ 0, { 19, 20 } }, |
76 | { /* 41 */ 0, { 20, 21 } }, |
77 | { /* 42 */ 0, { 21, 22 } }, |
78 | { /* 43 */ 0, { 22, 23 } }, |
79 | { /* 44 */ 0, { 23, 24 } }, |
80 | { /* 45 */ 0, { 24, 25 } }, |
81 | { /* 46 */ 0, { 25, 26 } }, |
82 | { /* 47 */ 1, { 3, 0 } }, |
83 | { /* 48 */ 1, { 0, 3 } }, |
84 | { /* 49 */ 1, { 2, 3 } }, |
85 | { /* 50 */ 1, { 3, 2 } }, |
86 | { /* 51 */ 1, { 1, 4 } }, |
87 | { /* 52 */ 1, { 4, 1 } }, |
88 | { /* 53 */ 1, { 2, 4 } }, |
89 | { /* 54 */ 1, { 1, 5 } }, |
90 | { /* 55 */ 0, { 18, 19 } }, |
91 | { /* 56 */ 0, { 19, 20 } }, |
92 | { /* 57 */ 0, { 20, 21 } }, |
93 | { /* 58 */ 0, { 21, 22 } }, |
94 | { /* 59 */ 0, { 22, 23 } }, |
95 | { /* 60 */ 0, { 23, 24 } }, |
96 | { /* 61 */ 0, { 24, 25 } }, |
97 | { /* 62 */ 0, { 25, 26 } }, |
98 | { /* 63 */ 0, { 26, 27 } }, |
99 | { /* 64 */ 0, { 27, 28 } }, |
100 | { /* 65 */ 0, { 28, 29 } }, |
101 | { /* 66 */ 0, { 29, 30 } }, |
102 | { /* 67 */ 0, { 30, 31 } }, |
103 | { /* 68 */ 0, { 31, 32 } }, |
104 | { /* 69 */ 0, { 32, 33 } }, |
105 | { /* 70 */ 0, { 33, 34 } }, |
106 | { /* 71 */ 0, { 34, 35 } }, |
107 | { /* 72 */ 0, { 35, 36 } }, |
108 | { /* 73 */ 1, { 4, 2 } }, |
109 | { /* 74 */ 1, { 3, 3 } }, |
110 | { /* 75 */ 1, { 0, 4 } }, |
111 | { /* 76 */ 1, { 4, 0 } }, |
112 | { /* 77 */ 1, { 5, 1 } }, |
113 | { /* 78 */ 1, { 2, 5 } }, |
114 | { /* 79 */ 1, { 1, 6 } }, |
115 | { /* 80 */ 1, { 3, 4 } }, |
116 | { /* 81 */ 1, { 5, 2 } }, |
117 | { /* 82 */ 1, { 6, 1 } }, |
118 | { /* 83 */ 1, { 4, 3 } }, |
119 | { /* 84 */ 0, { 25, 26 } }, |
120 | { /* 85 */ 0, { 26, 27 } }, |
121 | { /* 86 */ 0, { 27, 28 } }, |
122 | { /* 87 */ 0, { 28, 29 } }, |
123 | { /* 88 */ 0, { 29, 30 } }, |
124 | { /* 89 */ 0, { 30, 31 } }, |
125 | { /* 90 */ 0, { 31, 32 } }, |
126 | { /* 91 */ 0, { 32, 33 } }, |
127 | { /* 92 */ 0, { 33, 34 } }, |
128 | { /* 93 */ 0, { 34, 35 } }, |
129 | { /* 94 */ 0, { 35, 36 } }, |
130 | { /* 95 */ 0, { 36, 37 } }, |
131 | { /* 96 */ 0, { 37, 38 } }, |
132 | { /* 97 */ 0, { 38, 39 } }, |
133 | { /* 98 */ 0, { 39, 40 } }, |
134 | { /* 99 */ 0, { 40, 41 } }, |
135 | { /* 00 */ 0, { 41, 42 } }, |
136 | { /* 01 */ 0, { 42, 43 } }, |
137 | { /* 02 */ 0, { 43, 44 } }, |
138 | { /* 03 */ 0, { 44, 45 } }, |
139 | { /* 04 */ 0, { 45, 46 } }, |
140 | { /* 05 */ 0, { 46, 47 } }, |
141 | { /* 06 */ 0, { 47, 48 } }, |
142 | { /* 07 */ 0, { 48, 49 } }, |
143 | { /* 08 */ 0, { 49, 50 } }, |
144 | { /* 09 */ 1, { 0, 5 } }, |
145 | { /* 10 */ 1, { 2, 6 } }, |
146 | { /* 11 */ 1, { 5, 0 } }, |
147 | { /* 12 */ 1, { 1, 7 } }, |
148 | { /* 13 */ 1, { 3, 5 } }, |
149 | { /* 14 */ 1, { 1, 8 } }, |
150 | { /* 15 */ 1, { 8, 1 } }, |
151 | { /* 16 */ 1, { 4, 4 } }, |
152 | { /* 17 */ 1, { 5, 3 } }, |
153 | { /* 18 */ 1, { 6, 2 } }, |
154 | { /* 19 */ 1, { 7, 1 } }, |
155 | { /* 20 */ 1, { 0, 6 } }, |
156 | { /* 21 */ 1, { 8, 2 } }, |
157 | { /* 22 */ 1, { 2, 8 } }, |
158 | { /* 23 */ 1, { 3, 6 } }, |
159 | { /* 24 */ 1, { 2, 7 } }, |
160 | { /* 25 */ 1, { 4, 5 } }, |
161 | { /* 26 */ 1, { 9, 1 } }, |
162 | { /* 27 */ 1, { 1, 9 } }, |
163 | { /* 28 */ 1, { 7, 2 } }, |
164 | { /* 29 */ 0, { 30, 31 } }, |
165 | { /* 30 */ 0, { 31, 32 } }, |
166 | { /* 31 */ 0, { 32, 33 } }, |
167 | { /* 32 */ 0, { 33, 34 } }, |
168 | { /* 33 */ 0, { 34, 35 } }, |
169 | { /* 34 */ 0, { 35, 36 } }, |
170 | { /* 35 */ 0, { 36, 37 } }, |
171 | { /* 36 */ 0, { 37, 38 } }, |
172 | { /* 37 */ 0, { 38, 39 } }, |
173 | { /* 38 */ 0, { 39, 40 } }, |
174 | { /* 39 */ 0, { 40, 41 } }, |
175 | { /* 40 */ 0, { 41, 42 } }, |
176 | { /* 41 */ 0, { 42, 43 } }, |
177 | { /* 42 */ 0, { 43, 44 } }, |
178 | { /* 43 */ 0, { 44, 45 } }, |
179 | { /* 44 */ 0, { 45, 46 } }, |
180 | { /* 45 */ 0, { 46, 47 } }, |
181 | { /* 46 */ 0, { 47, 48 } }, |
182 | { /* 47 */ 0, { 48, 49 } }, |
183 | { /* 48 */ 0, { 49, 50 } }, |
184 | { /* 49 */ 0, { 50, 51 } }, |
185 | { /* 50 */ 0, { 51, 52 } }, |
186 | { /* 51 */ 0, { 52, 53 } }, |
187 | { /* 52 */ 0, { 53, 54 } }, |
188 | { /* 53 */ 0, { 54, 55 } }, |
189 | { /* 54 */ 0, { 55, 56 } }, |
190 | { /* 55 */ 0, { 56, 57 } }, |
191 | { /* 56 */ 0, { 57, 58 } }, |
192 | { /* 57 */ 0, { 58, 59 } }, |
193 | { /* 58 */ 0, { 59, 60 } }, |
194 | { /* 59 */ 1, { 6, 0 } }, |
195 | { /* 60 */ 1, { 5, 4 } }, |
196 | { /* 61 */ 1, { 6, 3 } }, |
197 | { /* 62 */ 1, { 8, 3 } }, |
198 | { /* 63 */ 1, { 0, 7 } }, |
199 | { /* 64 */ 1, { 9, 2 } }, |
200 | { /* 65 */ 1, { 3, 8 } }, |
201 | { /* 66 */ 1, { 4, 6 } }, |
202 | { /* 67 */ 1, { 3, 7 } }, |
203 | { /* 68 */ 1, { 0, 8 } }, |
204 | { /* 69 */ 1, { 10, 1 } }, |
205 | { /* 70 */ 1, { 6, 4 } }, |
206 | { /* 71 */ 1, { 2, 9 } }, |
207 | { /* 72 */ 1, { 5, 5 } }, |
208 | { /* 73 */ 1, { 8, 0 } }, |
209 | { /* 74 */ 1, { 7, 0 } }, |
210 | { /* 75 */ 1, { 7, 3 } }, |
211 | { /* 76 */ 1, { 10, 2 } }, |
212 | { /* 77 */ 1, { 9, 3 } }, |
213 | { /* 78 */ 1, { 8, 4 } }, |
214 | { /* 79 */ 1, { 1, 10 } }, |
215 | { /* 80 */ 1, { 7, 4 } }, |
216 | { /* 81 */ 1, { 6, 5 } }, |
217 | { /* 82 */ 1, { 5, 6 } }, |
218 | { /* 83 */ 1, { 4, 8 } }, |
219 | { /* 84 */ 1, { 4, 7 } }, |
220 | { /* 85 */ 1, { 3, 9 } }, |
221 | { /* 86 */ 1, { 11, 1 } }, |
222 | { /* 87 */ 1, { 5, 8 } }, |
223 | { /* 88 */ 1, { 9, 0 } }, |
224 | { /* 89 */ 1, { 8, 5 } }, |
225 | { /* 90 */ 0, { 29, 30 } }, |
226 | { /* 91 */ 0, { 30, 31 } }, |
227 | { /* 92 */ 0, { 31, 32 } }, |
228 | { /* 93 */ 0, { 32, 33 } }, |
229 | { /* 94 */ 0, { 33, 34 } }, |
230 | { /* 95 */ 0, { 34, 35 } }, |
231 | { /* 96 */ 0, { 35, 36 } }, |
232 | { /* 97 */ 0, { 36, 37 } }, |
233 | { /* 98 */ 0, { 37, 38 } }, |
234 | { /* 99 */ 0, { 38, 39 } }, |
235 | { /* 00 */ 0, { 39, 40 } }, |
236 | { /* 01 */ 0, { 40, 41 } }, |
237 | { /* 02 */ 0, { 41, 42 } }, |
238 | { /* 03 */ 0, { 42, 43 } }, |
239 | { /* 04 */ 0, { 43, 44 } }, |
240 | { /* 05 */ 0, { 44, 45 } }, |
241 | { /* 06 */ 0, { 45, 46 } }, |
242 | { /* 07 */ 0, { 46, 47 } }, |
243 | { /* 08 */ 0, { 47, 48 } }, |
244 | { /* 09 */ 0, { 48, 49 } }, |
245 | { /* 10 */ 0, { 49, 50 } }, |
246 | { /* 11 */ 0, { 50, 51 } }, |
247 | { /* 12 */ 0, { 51, 52 } }, |
248 | { /* 13 */ 0, { 52, 53 } }, |
249 | { /* 14 */ 0, { 53, 54 } }, |
250 | { /* 15 */ 0, { 54, 55 } }, |
251 | { /* 16 */ 0, { 55, 56 } }, |
252 | { /* 17 */ 0, { 56, 57 } }, |
253 | { /* 18 */ 0, { 57, 58 } }, |
254 | { /* 19 */ 1, { 10, 3 } }, |
255 | { /* 20 */ 1, { 2, 10 } }, |
256 | { /* 21 */ 1, { 0, 9 } }, |
257 | { /* 22 */ 1, { 11, 2 } }, |
258 | { /* 23 */ 1, { 9, 4 } }, |
259 | { /* 24 */ 1, { 6, 6 } }, |
260 | { /* 25 */ 1, { 12, 1 } }, |
261 | { /* 26 */ 1, { 4, 9 } }, |
262 | { /* 27 */ 1, { 8, 6 } }, |
263 | { /* 28 */ 1, { 1, 11 } }, |
264 | { /* 29 */ 1, { 9, 5 } }, |
265 | { /* 30 */ 1, { 10, 4 } }, |
266 | { /* 31 */ 1, { 5, 7 } }, |
267 | { /* 32 */ 1, { 7, 5 } }, |
268 | { /* 33 */ 1, { 2, 11 } }, |
269 | { /* 34 */ 1, { 1, 12 } }, |
270 | { /* 35 */ 1, { 12, 2 } }, |
271 | { /* 36 */ 1, { 11, 3 } }, |
272 | { /* 37 */ 1, { 3, 10 } }, |
273 | { /* 38 */ 1, { 5, 9 } }, |
274 | { /* 39 */ 1, { 6, 7 } }, |
275 | { /* 40 */ 1, { 8, 7 } }, |
276 | { /* 41 */ 1, { 11, 4 } }, |
277 | { /* 42 */ 1, { 0, 10 } }, |
278 | { /* 43 */ 1, { 7, 6 } }, |
279 | { /* 44 */ 1, { 12, 3 } }, |
280 | { /* 45 */ 1, { 10, 0 } }, |
281 | { /* 46 */ 1, { 10, 5 } }, |
282 | { /* 47 */ 1, { 4, 10 } }, |
283 | { /* 48 */ 1, { 6, 8 } }, |
284 | { /* 49 */ 1, { 2, 12 } }, |
285 | { /* 50 */ 1, { 9, 6 } }, |
286 | { /* 51 */ 1, { 9, 7 } }, |
287 | { /* 52 */ 1, { 4, 11 } }, |
288 | { /* 53 */ 1, { 11, 0 } }, |
289 | { /* 54 */ 1, { 6, 9 } }, |
290 | { /* 55 */ 1, { 3, 11 } }, |
291 | { /* 56 */ 1, { 5, 10 } }, |
292 | { /* 57 */ 0, { 20, 21 } }, |
293 | { /* 58 */ 0, { 21, 22 } }, |
294 | { /* 59 */ 0, { 22, 23 } }, |
295 | { /* 60 */ 0, { 23, 24 } }, |
296 | { /* 61 */ 0, { 24, 25 } }, |
297 | { /* 62 */ 0, { 25, 26 } }, |
298 | { /* 63 */ 0, { 26, 27 } }, |
299 | { /* 64 */ 0, { 27, 28 } }, |
300 | { /* 65 */ 0, { 28, 29 } }, |
301 | { /* 66 */ 0, { 29, 30 } }, |
302 | { /* 67 */ 0, { 30, 31 } }, |
303 | { /* 68 */ 0, { 31, 32 } }, |
304 | { /* 69 */ 0, { 32, 33 } }, |
305 | { /* 70 */ 0, { 33, 34 } }, |
306 | { /* 71 */ 0, { 34, 35 } }, |
307 | { /* 72 */ 0, { 35, 36 } }, |
308 | { /* 73 */ 0, { 36, 37 } }, |
309 | { /* 74 */ 0, { 37, 38 } }, |
310 | { /* 75 */ 0, { 38, 39 } }, |
311 | { /* 76 */ 0, { 39, 40 } }, |
312 | { /* 77 */ 1, { 8, 8 } }, |
313 | { /* 78 */ 1, { 7, 8 } }, |
314 | { /* 79 */ 1, { 12, 5 } }, |
315 | { /* 80 */ 1, { 3, 12 } }, |
316 | { /* 81 */ 1, { 11, 5 } }, |
317 | { /* 82 */ 1, { 7, 7 } }, |
318 | { /* 83 */ 1, { 12, 4 } }, |
319 | { /* 84 */ 1, { 11, 6 } }, |
320 | { /* 85 */ 1, { 10, 6 } }, |
321 | { /* 86 */ 1, { 4, 12 } }, |
322 | { /* 87 */ 1, { 7, 9 } }, |
323 | { /* 88 */ 1, { 5, 11 } }, |
324 | { /* 89 */ 1, { 0, 11 } }, |
325 | { /* 90 */ 1, { 12, 6 } }, |
326 | { /* 91 */ 1, { 6, 10 } }, |
327 | { /* 92 */ 1, { 12, 0 } }, |
328 | { /* 93 */ 1, { 10, 7 } }, |
329 | { /* 94 */ 1, { 5, 12 } }, |
330 | { /* 95 */ 1, { 7, 10 } }, |
331 | { /* 96 */ 1, { 9, 8 } }, |
332 | { /* 97 */ 1, { 0, 12 } }, |
333 | { /* 98 */ 1, { 11, 7 } }, |
334 | { /* 99 */ 1, { 8, 9 } }, |
335 | { /* 00 */ 1, { 9, 9 } }, |
336 | { /* 01 */ 1, { 10, 8 } }, |
337 | { /* 02 */ 1, { 7, 11 } }, |
338 | { /* 03 */ 1, { 12, 7 } }, |
339 | { /* 04 */ 1, { 6, 11 } }, |
340 | { /* 05 */ 1, { 8, 11 } }, |
341 | { /* 06 */ 1, { 11, 8 } }, |
342 | { /* 07 */ 1, { 7, 12 } }, |
343 | { /* 08 */ 1, { 6, 12 } }, |
344 | { /* 09 */ 0, { 8, 9 } }, |
345 | { /* 10 */ 0, { 9, 10 } }, |
346 | { /* 11 */ 0, { 10, 11 } }, |
347 | { /* 12 */ 0, { 11, 12 } }, |
348 | { /* 13 */ 0, { 12, 13 } }, |
349 | { /* 14 */ 0, { 13, 14 } }, |
350 | { /* 15 */ 0, { 14, 15 } }, |
351 | { /* 16 */ 0, { 15, 16 } }, |
352 | { /* 17 */ 1, { 8, 10 } }, |
353 | { /* 18 */ 1, { 10, 9 } }, |
354 | { /* 19 */ 1, { 8, 12 } }, |
355 | { /* 20 */ 1, { 9, 10 } }, |
356 | { /* 21 */ 1, { 9, 11 } }, |
357 | { /* 22 */ 1, { 9, 12 } }, |
358 | { /* 23 */ 1, { 10, 11 } }, |
359 | { /* 24 */ 1, { 12, 9 } }, |
360 | { /* 25 */ 1, { 10, 10 } }, |
361 | { /* 26 */ 1, { 11, 9 } }, |
362 | { /* 27 */ 1, { 12, 8 } }, |
363 | { /* 28 */ 1, { 11, 10 } }, |
364 | { /* 29 */ 1, { 12, 10 } }, |
365 | { /* 30 */ 1, { 12, 11 } }, |
366 | { /* 31 */ 0, { 2, 3 } }, |
367 | { /* 32 */ 0, { 3, 4 } }, |
368 | { /* 33 */ 1, { 10, 12 } }, |
369 | { /* 34 */ 1, { 11, 11 } }, |
370 | { /* 35 */ 1, { 11, 12 } }, |
371 | { /* 36 */ 1, { 12, 12 } } |
372 | }; |
373 |