|
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-2009 * |
|
9 * by the Xiph.Org Foundation http://www.xiph.org/ * |
|
10 * * |
|
11 ******************************************************************** |
|
12 |
|
13 function: toplevel residue templates 16/22kHz |
|
14 last mod: $Id: residue_16.h 16962 2010-03-11 07:30:34Z xiphmont $ |
|
15 |
|
16 ********************************************************************/ |
|
17 |
|
18 /***** residue backends *********************************************/ |
|
19 |
|
20 static const static_bookblock _resbook_16s_0={ |
|
21 { |
|
22 {0}, |
|
23 {0,0,&_16c0_s_p1_0}, |
|
24 {0}, |
|
25 {0,0,&_16c0_s_p3_0}, |
|
26 {0,0,&_16c0_s_p4_0}, |
|
27 {0,0,&_16c0_s_p5_0}, |
|
28 {0,0,&_16c0_s_p6_0}, |
|
29 {&_16c0_s_p7_0,&_16c0_s_p7_1}, |
|
30 {&_16c0_s_p8_0,&_16c0_s_p8_1}, |
|
31 {&_16c0_s_p9_0,&_16c0_s_p9_1,&_16c0_s_p9_2} |
|
32 } |
|
33 }; |
|
34 static const static_bookblock _resbook_16s_1={ |
|
35 { |
|
36 {0}, |
|
37 {0,0,&_16c1_s_p1_0}, |
|
38 {0}, |
|
39 {0,0,&_16c1_s_p3_0}, |
|
40 {0,0,&_16c1_s_p4_0}, |
|
41 {0,0,&_16c1_s_p5_0}, |
|
42 {0,0,&_16c1_s_p6_0}, |
|
43 {&_16c1_s_p7_0,&_16c1_s_p7_1}, |
|
44 {&_16c1_s_p8_0,&_16c1_s_p8_1}, |
|
45 {&_16c1_s_p9_0,&_16c1_s_p9_1,&_16c1_s_p9_2} |
|
46 } |
|
47 }; |
|
48 static const static_bookblock _resbook_16s_2={ |
|
49 { |
|
50 {0}, |
|
51 {0,0,&_16c2_s_p1_0}, |
|
52 {0,0,&_16c2_s_p2_0}, |
|
53 {0,0,&_16c2_s_p3_0}, |
|
54 {0,0,&_16c2_s_p4_0}, |
|
55 {&_16c2_s_p5_0,&_16c2_s_p5_1}, |
|
56 {&_16c2_s_p6_0,&_16c2_s_p6_1}, |
|
57 {&_16c2_s_p7_0,&_16c2_s_p7_1}, |
|
58 {&_16c2_s_p8_0,&_16c2_s_p8_1}, |
|
59 {&_16c2_s_p9_0,&_16c2_s_p9_1,&_16c2_s_p9_2} |
|
60 } |
|
61 }; |
|
62 |
|
63 static const vorbis_residue_template _res_16s_0[]={ |
|
64 {2,0,32, &_residue_44_mid, |
|
65 &_huff_book__16c0_s_single,&_huff_book__16c0_s_single, |
|
66 &_resbook_16s_0,&_resbook_16s_0}, |
|
67 }; |
|
68 static const vorbis_residue_template _res_16s_1[]={ |
|
69 {2,0,32, &_residue_44_mid, |
|
70 &_huff_book__16c1_s_short,&_huff_book__16c1_s_short, |
|
71 &_resbook_16s_1,&_resbook_16s_1}, |
|
72 |
|
73 {2,0,32, &_residue_44_mid, |
|
74 &_huff_book__16c1_s_long,&_huff_book__16c1_s_long, |
|
75 &_resbook_16s_1,&_resbook_16s_1} |
|
76 }; |
|
77 static const vorbis_residue_template _res_16s_2[]={ |
|
78 {2,0,32, &_residue_44_high, |
|
79 &_huff_book__16c2_s_short,&_huff_book__16c2_s_short, |
|
80 &_resbook_16s_2,&_resbook_16s_2}, |
|
81 |
|
82 {2,0,32, &_residue_44_high, |
|
83 &_huff_book__16c2_s_long,&_huff_book__16c2_s_long, |
|
84 &_resbook_16s_2,&_resbook_16s_2} |
|
85 }; |
|
86 |
|
87 static const vorbis_mapping_template _mapres_template_16_stereo[3]={ |
|
88 { _map_nominal, _res_16s_0 }, /* 0 */ |
|
89 { _map_nominal, _res_16s_1 }, /* 1 */ |
|
90 { _map_nominal, _res_16s_2 }, /* 2 */ |
|
91 }; |
|
92 |
|
93 static const static_bookblock _resbook_16u_0={ |
|
94 { |
|
95 {0}, |
|
96 {0,0,&_16u0__p1_0}, |
|
97 {0,0,&_16u0__p2_0}, |
|
98 {0,0,&_16u0__p3_0}, |
|
99 {0,0,&_16u0__p4_0}, |
|
100 {0,0,&_16u0__p5_0}, |
|
101 {&_16u0__p6_0,&_16u0__p6_1}, |
|
102 {&_16u0__p7_0,&_16u0__p7_1,&_16u0__p7_2} |
|
103 } |
|
104 }; |
|
105 static const static_bookblock _resbook_16u_1={ |
|
106 { |
|
107 {0}, |
|
108 {0,0,&_16u1__p1_0}, |
|
109 {0,0,&_16u1__p2_0}, |
|
110 {0,0,&_16u1__p3_0}, |
|
111 {0,0,&_16u1__p4_0}, |
|
112 {0,0,&_16u1__p5_0}, |
|
113 {0,0,&_16u1__p6_0}, |
|
114 {&_16u1__p7_0,&_16u1__p7_1}, |
|
115 {&_16u1__p8_0,&_16u1__p8_1}, |
|
116 {&_16u1__p9_0,&_16u1__p9_1,&_16u1__p9_2} |
|
117 } |
|
118 }; |
|
119 static const static_bookblock _resbook_16u_2={ |
|
120 { |
|
121 {0}, |
|
122 {0,0,&_16u2_p1_0}, |
|
123 {0,0,&_16u2_p2_0}, |
|
124 {0,0,&_16u2_p3_0}, |
|
125 {0,0,&_16u2_p4_0}, |
|
126 {&_16u2_p5_0,&_16u2_p5_1}, |
|
127 {&_16u2_p6_0,&_16u2_p6_1}, |
|
128 {&_16u2_p7_0,&_16u2_p7_1}, |
|
129 {&_16u2_p8_0,&_16u2_p8_1}, |
|
130 {&_16u2_p9_0,&_16u2_p9_1,&_16u2_p9_2} |
|
131 } |
|
132 }; |
|
133 |
|
134 static const vorbis_residue_template _res_16u_0[]={ |
|
135 {1,0,32, &_residue_44_low_un, |
|
136 &_huff_book__16u0__single,&_huff_book__16u0__single, |
|
137 &_resbook_16u_0,&_resbook_16u_0}, |
|
138 }; |
|
139 static const vorbis_residue_template _res_16u_1[]={ |
|
140 {1,0,32, &_residue_44_mid_un, |
|
141 &_huff_book__16u1__short,&_huff_book__16u1__short, |
|
142 &_resbook_16u_1,&_resbook_16u_1}, |
|
143 |
|
144 {1,0,32, &_residue_44_mid_un, |
|
145 &_huff_book__16u1__long,&_huff_book__16u1__long, |
|
146 &_resbook_16u_1,&_resbook_16u_1} |
|
147 }; |
|
148 static const vorbis_residue_template _res_16u_2[]={ |
|
149 {1,0,32, &_residue_44_hi_un, |
|
150 &_huff_book__16u2__short,&_huff_book__16u2__short, |
|
151 &_resbook_16u_2,&_resbook_16u_2}, |
|
152 |
|
153 {1,0,32, &_residue_44_hi_un, |
|
154 &_huff_book__16u2__long,&_huff_book__16u2__long, |
|
155 &_resbook_16u_2,&_resbook_16u_2} |
|
156 }; |
|
157 |
|
158 |
|
159 static const vorbis_mapping_template _mapres_template_16_uncoupled[3]={ |
|
160 { _map_nominal_u, _res_16u_0 }, /* 0 */ |
|
161 { _map_nominal_u, _res_16u_1 }, /* 1 */ |
|
162 { _map_nominal_u, _res_16u_2 }, /* 2 */ |
|
163 }; |