michael@0: /******************************************************************** michael@0: * * michael@0: * This FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * michael@0: * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * michael@0: * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * michael@0: * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * michael@0: * * michael@0: * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * michael@0: * by the Xiph.Org Foundation http://www.xiph.org/ * michael@0: * * michael@0: ******************************************************************** michael@0: michael@0: function: toplevel residue templates 16/22kHz michael@0: last mod: $Id: residue_16.h 16962 2010-03-11 07:30:34Z xiphmont $ michael@0: michael@0: ********************************************************************/ michael@0: michael@0: /***** residue backends *********************************************/ michael@0: michael@0: static const static_bookblock _resbook_16s_0={ michael@0: { michael@0: {0}, michael@0: {0,0,&_16c0_s_p1_0}, michael@0: {0}, michael@0: {0,0,&_16c0_s_p3_0}, michael@0: {0,0,&_16c0_s_p4_0}, michael@0: {0,0,&_16c0_s_p5_0}, michael@0: {0,0,&_16c0_s_p6_0}, michael@0: {&_16c0_s_p7_0,&_16c0_s_p7_1}, michael@0: {&_16c0_s_p8_0,&_16c0_s_p8_1}, michael@0: {&_16c0_s_p9_0,&_16c0_s_p9_1,&_16c0_s_p9_2} michael@0: } michael@0: }; michael@0: static const static_bookblock _resbook_16s_1={ michael@0: { michael@0: {0}, michael@0: {0,0,&_16c1_s_p1_0}, michael@0: {0}, michael@0: {0,0,&_16c1_s_p3_0}, michael@0: {0,0,&_16c1_s_p4_0}, michael@0: {0,0,&_16c1_s_p5_0}, michael@0: {0,0,&_16c1_s_p6_0}, michael@0: {&_16c1_s_p7_0,&_16c1_s_p7_1}, michael@0: {&_16c1_s_p8_0,&_16c1_s_p8_1}, michael@0: {&_16c1_s_p9_0,&_16c1_s_p9_1,&_16c1_s_p9_2} michael@0: } michael@0: }; michael@0: static const static_bookblock _resbook_16s_2={ michael@0: { michael@0: {0}, michael@0: {0,0,&_16c2_s_p1_0}, michael@0: {0,0,&_16c2_s_p2_0}, michael@0: {0,0,&_16c2_s_p3_0}, michael@0: {0,0,&_16c2_s_p4_0}, michael@0: {&_16c2_s_p5_0,&_16c2_s_p5_1}, michael@0: {&_16c2_s_p6_0,&_16c2_s_p6_1}, michael@0: {&_16c2_s_p7_0,&_16c2_s_p7_1}, michael@0: {&_16c2_s_p8_0,&_16c2_s_p8_1}, michael@0: {&_16c2_s_p9_0,&_16c2_s_p9_1,&_16c2_s_p9_2} michael@0: } michael@0: }; michael@0: michael@0: static const vorbis_residue_template _res_16s_0[]={ michael@0: {2,0,32, &_residue_44_mid, michael@0: &_huff_book__16c0_s_single,&_huff_book__16c0_s_single, michael@0: &_resbook_16s_0,&_resbook_16s_0}, michael@0: }; michael@0: static const vorbis_residue_template _res_16s_1[]={ michael@0: {2,0,32, &_residue_44_mid, michael@0: &_huff_book__16c1_s_short,&_huff_book__16c1_s_short, michael@0: &_resbook_16s_1,&_resbook_16s_1}, michael@0: michael@0: {2,0,32, &_residue_44_mid, michael@0: &_huff_book__16c1_s_long,&_huff_book__16c1_s_long, michael@0: &_resbook_16s_1,&_resbook_16s_1} michael@0: }; michael@0: static const vorbis_residue_template _res_16s_2[]={ michael@0: {2,0,32, &_residue_44_high, michael@0: &_huff_book__16c2_s_short,&_huff_book__16c2_s_short, michael@0: &_resbook_16s_2,&_resbook_16s_2}, michael@0: michael@0: {2,0,32, &_residue_44_high, michael@0: &_huff_book__16c2_s_long,&_huff_book__16c2_s_long, michael@0: &_resbook_16s_2,&_resbook_16s_2} michael@0: }; michael@0: michael@0: static const vorbis_mapping_template _mapres_template_16_stereo[3]={ michael@0: { _map_nominal, _res_16s_0 }, /* 0 */ michael@0: { _map_nominal, _res_16s_1 }, /* 1 */ michael@0: { _map_nominal, _res_16s_2 }, /* 2 */ michael@0: }; michael@0: michael@0: static const static_bookblock _resbook_16u_0={ michael@0: { michael@0: {0}, michael@0: {0,0,&_16u0__p1_0}, michael@0: {0,0,&_16u0__p2_0}, michael@0: {0,0,&_16u0__p3_0}, michael@0: {0,0,&_16u0__p4_0}, michael@0: {0,0,&_16u0__p5_0}, michael@0: {&_16u0__p6_0,&_16u0__p6_1}, michael@0: {&_16u0__p7_0,&_16u0__p7_1,&_16u0__p7_2} michael@0: } michael@0: }; michael@0: static const static_bookblock _resbook_16u_1={ michael@0: { michael@0: {0}, michael@0: {0,0,&_16u1__p1_0}, michael@0: {0,0,&_16u1__p2_0}, michael@0: {0,0,&_16u1__p3_0}, michael@0: {0,0,&_16u1__p4_0}, michael@0: {0,0,&_16u1__p5_0}, michael@0: {0,0,&_16u1__p6_0}, michael@0: {&_16u1__p7_0,&_16u1__p7_1}, michael@0: {&_16u1__p8_0,&_16u1__p8_1}, michael@0: {&_16u1__p9_0,&_16u1__p9_1,&_16u1__p9_2} michael@0: } michael@0: }; michael@0: static const static_bookblock _resbook_16u_2={ michael@0: { michael@0: {0}, michael@0: {0,0,&_16u2_p1_0}, michael@0: {0,0,&_16u2_p2_0}, michael@0: {0,0,&_16u2_p3_0}, michael@0: {0,0,&_16u2_p4_0}, michael@0: {&_16u2_p5_0,&_16u2_p5_1}, michael@0: {&_16u2_p6_0,&_16u2_p6_1}, michael@0: {&_16u2_p7_0,&_16u2_p7_1}, michael@0: {&_16u2_p8_0,&_16u2_p8_1}, michael@0: {&_16u2_p9_0,&_16u2_p9_1,&_16u2_p9_2} michael@0: } michael@0: }; michael@0: michael@0: static const vorbis_residue_template _res_16u_0[]={ michael@0: {1,0,32, &_residue_44_low_un, michael@0: &_huff_book__16u0__single,&_huff_book__16u0__single, michael@0: &_resbook_16u_0,&_resbook_16u_0}, michael@0: }; michael@0: static const vorbis_residue_template _res_16u_1[]={ michael@0: {1,0,32, &_residue_44_mid_un, michael@0: &_huff_book__16u1__short,&_huff_book__16u1__short, michael@0: &_resbook_16u_1,&_resbook_16u_1}, michael@0: michael@0: {1,0,32, &_residue_44_mid_un, michael@0: &_huff_book__16u1__long,&_huff_book__16u1__long, michael@0: &_resbook_16u_1,&_resbook_16u_1} michael@0: }; michael@0: static const vorbis_residue_template _res_16u_2[]={ michael@0: {1,0,32, &_residue_44_hi_un, michael@0: &_huff_book__16u2__short,&_huff_book__16u2__short, michael@0: &_resbook_16u_2,&_resbook_16u_2}, michael@0: michael@0: {1,0,32, &_residue_44_hi_un, michael@0: &_huff_book__16u2__long,&_huff_book__16u2__long, michael@0: &_resbook_16u_2,&_resbook_16u_2} michael@0: }; michael@0: michael@0: michael@0: static const vorbis_mapping_template _mapres_template_16_uncoupled[3]={ michael@0: { _map_nominal_u, _res_16u_0 }, /* 0 */ michael@0: { _map_nominal_u, _res_16u_1 }, /* 1 */ michael@0: { _map_nominal_u, _res_16u_2 }, /* 2 */ michael@0: };