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 }; 164