|
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 ******************************************************************** |
|
12 |
|
13 function: toplevel residue templates for 32/44.1/48kHz uncoupled |
|
14 last mod: $Id: residue_44p51.h 19013 2013-11-12 04:04:50Z giles $ |
|
15 |
|
16 ********************************************************************/ |
|
17 |
|
18 #include "vorbis/codec.h" |
|
19 #include "backends.h" |
|
20 |
|
21 #include "books/coupled/res_books_51.h" |
|
22 |
|
23 /***** residue backends *********************************************/ |
|
24 |
|
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 }; |
|
33 |
|
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 }; |
|
42 |
|
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 }; |
|
51 |
|
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 }; |
|
60 |
|
61 static const static_bookblock _resbook_44p_n1={ |
|
62 { |
|
63 {0}, |
|
64 {0,&_44pn1_p1_0}, |
|
65 |
|
66 {&_44pn1_p2_0,&_44pn1_p2_1,0}, |
|
67 {&_44pn1_p3_0,&_44pn1_p3_1,0}, |
|
68 {&_44pn1_p4_0,&_44pn1_p4_1,0}, |
|
69 |
|
70 {&_44pn1_p5_0,&_44pn1_p5_1,&_44pn1_p4_1}, |
|
71 {&_44pn1_p6_0,&_44pn1_p6_1,&_44pn1_p6_2}, |
|
72 } |
|
73 }; |
|
74 |
|
75 static const static_bookblock _resbook_44p_0={ |
|
76 { |
|
77 {0}, |
|
78 {0,&_44p0_p1_0}, |
|
79 |
|
80 {&_44p0_p2_0,&_44p0_p2_1,0}, |
|
81 {&_44p0_p3_0,&_44p0_p3_1,0}, |
|
82 {&_44p0_p4_0,&_44p0_p4_1,0}, |
|
83 |
|
84 {&_44p0_p5_0,&_44p0_p5_1,&_44p0_p4_1}, |
|
85 {&_44p0_p6_0,&_44p0_p6_1,&_44p0_p6_2}, |
|
86 } |
|
87 }; |
|
88 |
|
89 static const static_bookblock _resbook_44p_1={ |
|
90 { |
|
91 {0}, |
|
92 {0,&_44p1_p1_0}, |
|
93 |
|
94 {&_44p1_p2_0,&_44p1_p2_1,0}, |
|
95 {&_44p1_p3_0,&_44p1_p3_1,0}, |
|
96 {&_44p1_p4_0,&_44p1_p4_1,0}, |
|
97 |
|
98 {&_44p1_p5_0,&_44p1_p5_1,&_44p1_p4_1}, |
|
99 {&_44p1_p6_0,&_44p1_p6_1,&_44p1_p6_2}, |
|
100 } |
|
101 }; |
|
102 |
|
103 static const static_bookblock _resbook_44p_2={ |
|
104 { |
|
105 {0}, |
|
106 {0,0,&_44p2_p1_0}, |
|
107 {0,&_44p2_p2_0,0}, |
|
108 |
|
109 {&_44p2_p3_0,&_44p2_p3_1,0}, |
|
110 {&_44p2_p4_0,&_44p2_p4_1,0}, |
|
111 {&_44p2_p5_0,&_44p2_p5_1,0}, |
|
112 |
|
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}, |
|
122 |
|
123 {&_44p3_p3_0,&_44p3_p3_1,0}, |
|
124 {&_44p3_p4_0,&_44p3_p4_1,0}, |
|
125 {&_44p3_p5_0,&_44p3_p5_1,0}, |
|
126 |
|
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}, |
|
136 |
|
137 {&_44p4_p3_0,&_44p4_p3_1,0}, |
|
138 {&_44p4_p4_0,&_44p4_p4_1,0}, |
|
139 {&_44p4_p5_0,&_44p4_p5_1,0}, |
|
140 |
|
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}, |
|
150 |
|
151 {&_44p5_p3_0,&_44p5_p3_1,0}, |
|
152 {&_44p5_p4_0,&_44p5_p4_1,0}, |
|
153 {&_44p5_p5_0,&_44p5_p5_1,0}, |
|
154 |
|
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}, |
|
164 |
|
165 {&_44p6_p3_0,&_44p6_p3_1,0}, |
|
166 {&_44p6_p4_0,&_44p6_p4_1,0}, |
|
167 {&_44p6_p5_0,&_44p6_p5_1,0}, |
|
168 |
|
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}, |
|
178 |
|
179 {&_44p7_p3_0,&_44p7_p3_1,0}, |
|
180 {&_44p7_p4_0,&_44p7_p4_1,0}, |
|
181 {&_44p7_p5_0,&_44p7_p5_1,0}, |
|
182 |
|
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}, |
|
192 |
|
193 {&_44p8_p3_0,&_44p8_p3_1,0}, |
|
194 {&_44p8_p4_0,&_44p8_p4_1,0}, |
|
195 {&_44p8_p5_0,&_44p8_p5_1,0}, |
|
196 |
|
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}, |
|
206 |
|
207 {&_44p9_p3_0,&_44p9_p3_1,0}, |
|
208 {&_44p9_p4_0,&_44p9_p4_1,0}, |
|
209 {&_44p9_p5_0,&_44p9_p5_1,0}, |
|
210 |
|
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 }; |
|
215 |
|
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 }; |
|
282 |
|
283 |
|
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 }; |
|
292 |
|
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}, |
|
297 |
|
298 {2,0,30, &_residue_44p_lo, |
|
299 &_huff_book__44pn1_long,&_huff_book__44pn1_long, |
|
300 &_resbook_44p_n1,&_resbook_44p_n1}, |
|
301 |
|
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}, |
|
310 |
|
311 {2,0,30, &_residue_44p_lo, |
|
312 &_huff_book__44p0_long,&_huff_book__44p0_long, |
|
313 &_resbook_44p_0,&_resbook_44p_0}, |
|
314 |
|
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}, |
|
323 |
|
324 {2,0,30, &_residue_44p_lo, |
|
325 &_huff_book__44p1_long,&_huff_book__44p1_long, |
|
326 &_resbook_44p_1,&_resbook_44p_1}, |
|
327 |
|
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}, |
|
336 |
|
337 {2,0,30, &_residue_44p, |
|
338 &_huff_book__44p2_long,&_huff_book__44p2_long, |
|
339 &_resbook_44p_2,&_resbook_44p_2}, |
|
340 |
|
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}, |
|
349 |
|
350 {2,0,30, &_residue_44p, |
|
351 &_huff_book__44p3_long,&_huff_book__44p3_long, |
|
352 &_resbook_44p_3,&_resbook_44p_3}, |
|
353 |
|
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}, |
|
362 |
|
363 {2,0,30, &_residue_44p, |
|
364 &_huff_book__44p4_long,&_huff_book__44p4_long, |
|
365 &_resbook_44p_4,&_resbook_44p_4}, |
|
366 |
|
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}, |
|
375 |
|
376 {2,0,30, &_residue_44p_hi, |
|
377 &_huff_book__44p5_long,&_huff_book__44p5_long, |
|
378 &_resbook_44p_5,&_resbook_44p_5}, |
|
379 |
|
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}, |
|
388 |
|
389 {2,0,30, &_residue_44p_hi, |
|
390 &_huff_book__44p6_long,&_huff_book__44p6_long, |
|
391 &_resbook_44p_6,&_resbook_44p_6}, |
|
392 |
|
393 {1,2,6, &_residue_44p_lfe, |
|
394 &_huff_book__44p6_lfe,&_huff_book__44p6_lfe, |
|
395 &_resbook_44p_l6,&_resbook_44p_l6} |
|
396 }; |
|
397 |
|
398 |
|
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}, |
|
403 |
|
404 {2,0,30, &_residue_44p_hi, |
|
405 &_huff_book__44p7_long,&_huff_book__44p7_long, |
|
406 &_resbook_44p_7,&_resbook_44p_7}, |
|
407 |
|
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}, |
|
416 |
|
417 {2,0,30, &_residue_44p_hi, |
|
418 &_huff_book__44p8_long,&_huff_book__44p8_long, |
|
419 &_resbook_44p_8,&_resbook_44p_8}, |
|
420 |
|
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}, |
|
429 |
|
430 {2,0,30, &_residue_44p_hi, |
|
431 &_huff_book__44p9_long,&_huff_book__44p9_long, |
|
432 &_resbook_44p_9,&_resbook_44p_9}, |
|
433 |
|
434 {1,2,6, &_residue_44p_lfe, |
|
435 &_huff_book__44p6_lfe,&_huff_book__44p6_lfe, |
|
436 &_resbook_44p_l6,&_resbook_44p_l6} |
|
437 }; |
|
438 |
|
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 }; |