vrshoot

view libs/vorbis/modes/residue_44p51.h @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line source
1 /********************************************************************
2 * *
3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7 * *
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
9 * by the Xiph.Org Foundation http://www.xiph.org/ *
10 * *
11 ********************************************************************
13 function: toplevel residue templates for 32/44.1/48kHz uncoupled
14 last mod: $Id$
16 ********************************************************************/
18 #include "vorbis/codec.h"
19 #include "backends.h"
21 #include "books/coupled/res_books_51.h"
23 /***** residue backends *********************************************/
25 static const vorbis_info_residue0 _residue_44p_lo={
26 0,-1, -1, 7,-1,-1,
27 /* 0 1 2 3 4 5 6 7 8 */
28 {0},
29 {-1},
30 { 0, 1, 2, 7, 17, 31},
31 { 0, 0, 99, 7, 17, 31},
32 };
34 static const vorbis_info_residue0 _residue_44p={
35 0,-1, -1, 8,-1,-1,
36 /* 0 1 2 3 4 5 6 7 8 */
37 {0},
38 {-1},
39 { 0, 1, 1, 2, 7, 17, 31},
40 { 0, 0, 99, 99, 7, 17, 31},
41 };
43 static const vorbis_info_residue0 _residue_44p_hi={
44 0,-1, -1, 8,-1,-1,
45 /* 0 1 2 3 4 5 6 7 8 */
46 {0},
47 {-1},
48 { 0, 1, 2, 4, 7, 17, 31},
49 { 0, 1, 2, 4, 7, 17, 31},
50 };
52 static const vorbis_info_residue0 _residue_44p_lfe={
53 0,-1, -1, 2,-1,-1,
54 /* 0 1 2 3 4 5 6 7 8 */
55 {0},
56 {-1},
57 { 32},
58 { -1}
59 };
61 static const static_bookblock _resbook_44p_n1={
62 {
63 {0},
64 {0,&_44pn1_p1_0},
66 {&_44pn1_p2_0,&_44pn1_p2_1,0},
67 {&_44pn1_p3_0,&_44pn1_p3_1,0},
68 {&_44pn1_p4_0,&_44pn1_p4_1,0},
70 {&_44pn1_p5_0,&_44pn1_p5_1,&_44pn1_p4_1},
71 {&_44pn1_p6_0,&_44pn1_p6_1,&_44pn1_p6_2},
72 }
73 };
75 static const static_bookblock _resbook_44p_0={
76 {
77 {0},
78 {0,&_44p0_p1_0},
80 {&_44p0_p2_0,&_44p0_p2_1,0},
81 {&_44p0_p3_0,&_44p0_p3_1,0},
82 {&_44p0_p4_0,&_44p0_p4_1,0},
84 {&_44p0_p5_0,&_44p0_p5_1,&_44p0_p4_1},
85 {&_44p0_p6_0,&_44p0_p6_1,&_44p0_p6_2},
86 }
87 };
89 static const static_bookblock _resbook_44p_1={
90 {
91 {0},
92 {0,&_44p1_p1_0},
94 {&_44p1_p2_0,&_44p1_p2_1,0},
95 {&_44p1_p3_0,&_44p1_p3_1,0},
96 {&_44p1_p4_0,&_44p1_p4_1,0},
98 {&_44p1_p5_0,&_44p1_p5_1,&_44p1_p4_1},
99 {&_44p1_p6_0,&_44p1_p6_1,&_44p1_p6_2},
100 }
101 };
103 static const static_bookblock _resbook_44p_2={
104 {
105 {0},
106 {0,0,&_44p2_p1_0},
107 {0,&_44p2_p2_0,0},
109 {&_44p2_p3_0,&_44p2_p3_1,0},
110 {&_44p2_p4_0,&_44p2_p4_1,0},
111 {&_44p2_p5_0,&_44p2_p5_1,0},
113 {&_44p2_p6_0,&_44p2_p6_1,&_44p2_p5_1},
114 {&_44p2_p7_0,&_44p2_p7_1,&_44p2_p7_2,&_44p2_p7_3}
115 }
116 };
117 static const static_bookblock _resbook_44p_3={
118 {
119 {0},
120 {0,0,&_44p3_p1_0},
121 {0,&_44p3_p2_0,0},
123 {&_44p3_p3_0,&_44p3_p3_1,0},
124 {&_44p3_p4_0,&_44p3_p4_1,0},
125 {&_44p3_p5_0,&_44p3_p5_1,0},
127 {&_44p3_p6_0,&_44p3_p6_1,&_44p3_p5_1},
128 {&_44p3_p7_0,&_44p3_p7_1,&_44p3_p7_2,&_44p3_p7_3}
129 }
130 };
131 static const static_bookblock _resbook_44p_4={
132 {
133 {0},
134 {0,0,&_44p4_p1_0},
135 {0,&_44p4_p2_0,0},
137 {&_44p4_p3_0,&_44p4_p3_1,0},
138 {&_44p4_p4_0,&_44p4_p4_1,0},
139 {&_44p4_p5_0,&_44p4_p5_1,0},
141 {&_44p4_p6_0,&_44p4_p6_1,&_44p4_p5_1},
142 {&_44p4_p7_0,&_44p4_p7_1,&_44p4_p7_2,&_44p4_p7_3}
143 }
144 };
145 static const static_bookblock _resbook_44p_5={
146 {
147 {0},
148 {0,0,&_44p5_p1_0},
149 {0,&_44p5_p2_0,0},
151 {&_44p5_p3_0,&_44p5_p3_1,0},
152 {&_44p5_p4_0,&_44p5_p4_1,0},
153 {&_44p5_p5_0,&_44p5_p5_1,0},
155 {&_44p5_p6_0,&_44p5_p6_1,&_44p5_p5_1},
156 {&_44p5_p7_0,&_44p5_p7_1,&_44p5_p7_2,&_44p5_p7_3}
157 }
158 };
159 static const static_bookblock _resbook_44p_6={
160 {
161 {0},
162 {0,0,&_44p6_p1_0},
163 {0,&_44p6_p2_0,0},
165 {&_44p6_p3_0,&_44p6_p3_1,0},
166 {&_44p6_p4_0,&_44p6_p4_1,0},
167 {&_44p6_p5_0,&_44p6_p5_1,0},
169 {&_44p6_p6_0,&_44p6_p6_1,&_44p6_p5_1},
170 {&_44p6_p7_0,&_44p6_p7_1,&_44p6_p7_2,&_44p6_p7_3}
171 }
172 };
173 static const static_bookblock _resbook_44p_7={
174 {
175 {0},
176 {0,0,&_44p7_p1_0},
177 {0,&_44p7_p2_0,0},
179 {&_44p7_p3_0,&_44p7_p3_1,0},
180 {&_44p7_p4_0,&_44p7_p4_1,0},
181 {&_44p7_p5_0,&_44p7_p5_1,0},
183 {&_44p7_p6_0,&_44p7_p6_1,&_44p7_p5_1},
184 {&_44p7_p7_0,&_44p7_p7_1,&_44p7_p7_2,&_44p7_p7_3}
185 }
186 };
187 static const static_bookblock _resbook_44p_8={
188 {
189 {0},
190 {0,0,&_44p8_p1_0},
191 {0,&_44p8_p2_0,0},
193 {&_44p8_p3_0,&_44p8_p3_1,0},
194 {&_44p8_p4_0,&_44p8_p4_1,0},
195 {&_44p8_p5_0,&_44p8_p5_1,0},
197 {&_44p8_p6_0,&_44p8_p6_1,&_44p8_p5_1},
198 {&_44p8_p7_0,&_44p8_p7_1,&_44p8_p7_2,&_44p8_p7_3}
199 }
200 };
201 static const static_bookblock _resbook_44p_9={
202 {
203 {0},
204 {0,0,&_44p9_p1_0},
205 {0,&_44p9_p2_0,0},
207 {&_44p9_p3_0,&_44p9_p3_1,0},
208 {&_44p9_p4_0,&_44p9_p4_1,0},
209 {&_44p9_p5_0,&_44p9_p5_1,0},
211 {&_44p9_p6_0,&_44p9_p6_1,&_44p9_p5_1},
212 {&_44p9_p7_0,&_44p9_p7_1,&_44p9_p7_2,&_44p9_p7_3}
213 }
214 };
216 static const static_bookblock _resbook_44p_ln1={
217 {
218 {&_44pn1_l0_0,&_44pn1_l0_1,0},
219 {&_44pn1_l1_0,&_44pn1_p6_1,&_44pn1_p6_2},
220 }
221 };
222 static const static_bookblock _resbook_44p_l0={
223 {
224 {&_44p0_l0_0,&_44p0_l0_1,0},
225 {&_44p0_l1_0,&_44p0_p6_1,&_44p0_p6_2},
226 }
227 };
228 static const static_bookblock _resbook_44p_l1={
229 {
230 {&_44p1_l0_0,&_44p1_l0_1,0},
231 {&_44p1_l1_0,&_44p1_p6_1,&_44p1_p6_2},
232 }
233 };
234 static const static_bookblock _resbook_44p_l2={
235 {
236 {&_44p2_l0_0,&_44p2_l0_1,0},
237 {&_44p2_l1_0,&_44p2_p7_2,&_44p2_p7_3},
238 }
239 };
240 static const static_bookblock _resbook_44p_l3={
241 {
242 {&_44p3_l0_0,&_44p3_l0_1,0},
243 {&_44p3_l1_0,&_44p3_p7_2,&_44p3_p7_3},
244 }
245 };
246 static const static_bookblock _resbook_44p_l4={
247 {
248 {&_44p4_l0_0,&_44p4_l0_1,0},
249 {&_44p4_l1_0,&_44p4_p7_2,&_44p4_p7_3},
250 }
251 };
252 static const static_bookblock _resbook_44p_l5={
253 {
254 {&_44p5_l0_0,&_44p5_l0_1,0},
255 {&_44p5_l1_0,&_44p5_p7_2,&_44p5_p7_3},
256 }
257 };
258 static const static_bookblock _resbook_44p_l6={
259 {
260 {&_44p6_l0_0,&_44p6_l0_1,0},
261 {&_44p6_l1_0,&_44p6_p7_2,&_44p6_p7_3},
262 }
263 };
264 static const static_bookblock _resbook_44p_l7={
265 {
266 {&_44p7_l0_0,&_44p7_l0_1,0},
267 {&_44p7_l1_0,&_44p7_p7_2,&_44p7_p7_3},
268 }
269 };
270 static const static_bookblock _resbook_44p_l8={
271 {
272 {&_44p8_l0_0,&_44p8_l0_1,0},
273 {&_44p8_l1_0,&_44p8_p7_2,&_44p8_p7_3},
274 }
275 };
276 static const static_bookblock _resbook_44p_l9={
277 {
278 {&_44p9_l0_0,&_44p9_l0_1,0},
279 {&_44p9_l1_0,&_44p9_p7_2,&_44p9_p7_3},
280 }
281 };
284 static const vorbis_info_mapping0 _map_nominal_51[2]={
285 {2, {0,0,0,0,0,1}, {0,2}, {0,2}, 4,{0,3,0,0},{2,4,1,3}},
286 {2, {0,0,0,0,0,1}, {1,2}, {1,2}, 4,{0,3,0,0},{2,4,1,3}}
287 };
288 static const vorbis_info_mapping0 _map_nominal_51u[2]={
289 {2, {0,0,0,0,0,1}, {0,2}, {0,2}, 0,{0},{0}},
290 {2, {0,0,0,0,0,1}, {1,2}, {1,2}, 0,{0},{0}}
291 };
293 static const vorbis_residue_template _res_44p51_n1[]={
294 {2,0,30, &_residue_44p_lo,
295 &_huff_book__44pn1_short,&_huff_book__44pn1_short,
296 &_resbook_44p_n1,&_resbook_44p_n1},
298 {2,0,30, &_residue_44p_lo,
299 &_huff_book__44pn1_long,&_huff_book__44pn1_long,
300 &_resbook_44p_n1,&_resbook_44p_n1},
302 {1,2,6, &_residue_44p_lfe,
303 &_huff_book__44pn1_lfe,&_huff_book__44pn1_lfe,
304 &_resbook_44p_ln1,&_resbook_44p_ln1}
305 };
306 static const vorbis_residue_template _res_44p51_0[]={
307 {2,0,15, &_residue_44p_lo,
308 &_huff_book__44p0_short,&_huff_book__44p0_short,
309 &_resbook_44p_0,&_resbook_44p_0},
311 {2,0,30, &_residue_44p_lo,
312 &_huff_book__44p0_long,&_huff_book__44p0_long,
313 &_resbook_44p_0,&_resbook_44p_0},
315 {1,2,6, &_residue_44p_lfe,
316 &_huff_book__44p0_lfe,&_huff_book__44p0_lfe,
317 &_resbook_44p_l0,&_resbook_44p_l0}
318 };
319 static const vorbis_residue_template _res_44p51_1[]={
320 {2,0,15, &_residue_44p_lo,
321 &_huff_book__44p1_short,&_huff_book__44p1_short,
322 &_resbook_44p_1,&_resbook_44p_1},
324 {2,0,30, &_residue_44p_lo,
325 &_huff_book__44p1_long,&_huff_book__44p1_long,
326 &_resbook_44p_1,&_resbook_44p_1},
328 {1,2,6, &_residue_44p_lfe,
329 &_huff_book__44p1_lfe,&_huff_book__44p1_lfe,
330 &_resbook_44p_l1,&_resbook_44p_l1}
331 };
332 static const vorbis_residue_template _res_44p51_2[]={
333 {2,0,15, &_residue_44p,
334 &_huff_book__44p2_short,&_huff_book__44p2_short,
335 &_resbook_44p_2,&_resbook_44p_2},
337 {2,0,30, &_residue_44p,
338 &_huff_book__44p2_long,&_huff_book__44p2_long,
339 &_resbook_44p_2,&_resbook_44p_2},
341 {1,2,6, &_residue_44p_lfe,
342 &_huff_book__44p2_lfe,&_huff_book__44p2_lfe,
343 &_resbook_44p_l2,&_resbook_44p_l2}
344 };
345 static const vorbis_residue_template _res_44p51_3[]={
346 {2,0,15, &_residue_44p,
347 &_huff_book__44p3_short,&_huff_book__44p3_short,
348 &_resbook_44p_3,&_resbook_44p_3},
350 {2,0,30, &_residue_44p,
351 &_huff_book__44p3_long,&_huff_book__44p3_long,
352 &_resbook_44p_3,&_resbook_44p_3},
354 {1,2,6, &_residue_44p_lfe,
355 &_huff_book__44p3_lfe,&_huff_book__44p3_lfe,
356 &_resbook_44p_l3,&_resbook_44p_l3}
357 };
358 static const vorbis_residue_template _res_44p51_4[]={
359 {2,0,15, &_residue_44p,
360 &_huff_book__44p4_short,&_huff_book__44p4_short,
361 &_resbook_44p_4,&_resbook_44p_4},
363 {2,0,30, &_residue_44p,
364 &_huff_book__44p4_long,&_huff_book__44p4_long,
365 &_resbook_44p_4,&_resbook_44p_4},
367 {1,2,6, &_residue_44p_lfe,
368 &_huff_book__44p4_lfe,&_huff_book__44p4_lfe,
369 &_resbook_44p_l4,&_resbook_44p_l4}
370 };
371 static const vorbis_residue_template _res_44p51_5[]={
372 {2,0,15, &_residue_44p_hi,
373 &_huff_book__44p5_short,&_huff_book__44p5_short,
374 &_resbook_44p_5,&_resbook_44p_5},
376 {2,0,30, &_residue_44p_hi,
377 &_huff_book__44p5_long,&_huff_book__44p5_long,
378 &_resbook_44p_5,&_resbook_44p_5},
380 {1,2,6, &_residue_44p_lfe,
381 &_huff_book__44p5_lfe,&_huff_book__44p5_lfe,
382 &_resbook_44p_l5,&_resbook_44p_l5}
383 };
384 static const vorbis_residue_template _res_44p51_6[]={
385 {2,0,15, &_residue_44p_hi,
386 &_huff_book__44p6_short,&_huff_book__44p6_short,
387 &_resbook_44p_6,&_resbook_44p_6},
389 {2,0,30, &_residue_44p_hi,
390 &_huff_book__44p6_long,&_huff_book__44p6_long,
391 &_resbook_44p_6,&_resbook_44p_6},
393 {1,2,6, &_residue_44p_lfe,
394 &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
395 &_resbook_44p_l6,&_resbook_44p_l6}
396 };
399 static const vorbis_residue_template _res_44p51_7[]={
400 {2,0,15, &_residue_44p_hi,
401 &_huff_book__44p7_short,&_huff_book__44p7_short,
402 &_resbook_44p_7,&_resbook_44p_7},
404 {2,0,30, &_residue_44p_hi,
405 &_huff_book__44p7_long,&_huff_book__44p7_long,
406 &_resbook_44p_7,&_resbook_44p_7},
408 {1,2,6, &_residue_44p_lfe,
409 &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
410 &_resbook_44p_l6,&_resbook_44p_l6}
411 };
412 static const vorbis_residue_template _res_44p51_8[]={
413 {2,0,15, &_residue_44p_hi,
414 &_huff_book__44p8_short,&_huff_book__44p8_short,
415 &_resbook_44p_8,&_resbook_44p_8},
417 {2,0,30, &_residue_44p_hi,
418 &_huff_book__44p8_long,&_huff_book__44p8_long,
419 &_resbook_44p_8,&_resbook_44p_8},
421 {1,2,6, &_residue_44p_lfe,
422 &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
423 &_resbook_44p_l6,&_resbook_44p_l6}
424 };
425 static const vorbis_residue_template _res_44p51_9[]={
426 {2,0,15, &_residue_44p_hi,
427 &_huff_book__44p9_short,&_huff_book__44p9_short,
428 &_resbook_44p_9,&_resbook_44p_9},
430 {2,0,30, &_residue_44p_hi,
431 &_huff_book__44p9_long,&_huff_book__44p9_long,
432 &_resbook_44p_9,&_resbook_44p_9},
434 {1,2,6, &_residue_44p_lfe,
435 &_huff_book__44p6_lfe,&_huff_book__44p6_lfe,
436 &_resbook_44p_l6,&_resbook_44p_l6}
437 };
439 static const vorbis_mapping_template _mapres_template_44_51[]={
440 { _map_nominal_51, _res_44p51_n1 }, /* -1 */
441 { _map_nominal_51, _res_44p51_0 }, /* 0 */
442 { _map_nominal_51, _res_44p51_1 }, /* 1 */
443 { _map_nominal_51, _res_44p51_2 }, /* 2 */
444 { _map_nominal_51, _res_44p51_3 }, /* 3 */
445 { _map_nominal_51, _res_44p51_4 }, /* 4 */
446 { _map_nominal_51u, _res_44p51_5 }, /* 5 */
447 { _map_nominal_51u, _res_44p51_6 }, /* 6 */
448 { _map_nominal_51u, _res_44p51_7 }, /* 7 */
449 { _map_nominal_51u, _res_44p51_8 }, /* 8 */
450 { _map_nominal_51u, _res_44p51_9 }, /* 9 */
451 };