1 /********************************************************************
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. *
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
9 * by the XIPHOPHORUS Company http://www.xiph.org/ *
11 ********************************************************************
13 function: toplevel residue templates 16/22kHz
14 last mod: $Id: residue_16.h,v 1.3 2002/07/11 10:27:55 xiphmont Exp $
16 ********************************************************************/
18 /***** residue backends *********************************************/
20 static static_bookblock _resbook_16s_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}
34 static static_bookblock _resbook_16s_1={
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}
48 static static_bookblock _resbook_16s_2={
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}
63 static vorbis_residue_template _res_16s_0[]={
64 {2,0, &_residue_44_mid,
65 &_huff_book__16c0_s_single,&_huff_book__16c0_s_single,
66 &_resbook_16s_0,&_resbook_16s_0},
68 static vorbis_residue_template _res_16s_1[]={
69 {2,0, &_residue_44_mid,
70 &_huff_book__16c1_s_short,&_huff_book__16c1_s_short,
71 &_resbook_16s_1,&_resbook_16s_1},
73 {2,0, &_residue_44_mid,
74 &_huff_book__16c1_s_long,&_huff_book__16c1_s_long,
75 &_resbook_16s_1,&_resbook_16s_1}
77 static vorbis_residue_template _res_16s_2[]={
78 {2,0, &_residue_44_high,
79 &_huff_book__16c2_s_short,&_huff_book__16c2_s_short,
80 &_resbook_16s_2,&_resbook_16s_2},
82 {2,0, &_residue_44_high,
83 &_huff_book__16c2_s_long,&_huff_book__16c2_s_long,
84 &_resbook_16s_2,&_resbook_16s_2}
87 static 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 */
93 static static_bookblock _resbook_16u_0={
101 {&_16u0__p6_0,&_16u0__p6_1},
102 {&_16u0__p7_0,&_16u0__p7_1,&_16u0__p7_2}
105 static static_bookblock _resbook_16u_1={
114 {&_16u1__p7_0,&_16u1__p7_1},
115 {&_16u1__p8_0,&_16u1__p8_1},
116 {&_16u1__p9_0,&_16u1__p9_1,&_16u1__p9_2}
119 static static_bookblock _resbook_16u_2={
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}
134 static vorbis_residue_template _res_16u_0[]={
135 {1,0, &_residue_44_low_un,
136 &_huff_book__16u0__single,&_huff_book__16u0__single,
137 &_resbook_16u_0,&_resbook_16u_0},
139 static vorbis_residue_template _res_16u_1[]={
140 {1,0, &_residue_44_mid_un,
141 &_huff_book__16u1__short,&_huff_book__16u1__short,
142 &_resbook_16u_1,&_resbook_16u_1},
144 {1,0, &_residue_44_mid_un,
145 &_huff_book__16u1__long,&_huff_book__16u1__long,
146 &_resbook_16u_1,&_resbook_16u_1}
148 static vorbis_residue_template _res_16u_2[]={
149 {1,0, &_residue_44_hi_un,
150 &_huff_book__16u2__short,&_huff_book__16u2__short,
151 &_resbook_16u_2,&_resbook_16u_2},
153 {1,0, &_residue_44_hi_un,
154 &_huff_book__16u2__long,&_huff_book__16u2__long,
155 &_resbook_16u_2,&_resbook_16u_2}
159 static 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 */