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