cannam@86: /******************************************************************** cannam@86: * * cannam@86: * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * cannam@86: * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * cannam@86: * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * cannam@86: * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * cannam@86: * * cannam@86: * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 * cannam@86: * by the Xiph.Org Foundation http://www.xiph.org/ * cannam@86: * * cannam@86: ******************************************************************** cannam@86: cannam@86: function: toplevel residue templates 8/11kHz cannam@86: last mod: $Id: residue_8.h 16962 2010-03-11 07:30:34Z xiphmont $ cannam@86: cannam@86: ********************************************************************/ cannam@86: cannam@86: #include "vorbis/codec.h" cannam@86: #include "backends.h" cannam@86: cannam@86: /***** residue backends *********************************************/ cannam@86: cannam@86: static const static_bookblock _resbook_8s_0={ cannam@86: { cannam@86: {0}, cannam@86: {0,0,&_8c0_s_p1_0}, cannam@86: {0}, cannam@86: {0,0,&_8c0_s_p3_0}, cannam@86: {0,0,&_8c0_s_p4_0}, cannam@86: {0,0,&_8c0_s_p5_0}, cannam@86: {0,0,&_8c0_s_p6_0}, cannam@86: {&_8c0_s_p7_0,&_8c0_s_p7_1}, cannam@86: {&_8c0_s_p8_0,&_8c0_s_p8_1}, cannam@86: {&_8c0_s_p9_0,&_8c0_s_p9_1,&_8c0_s_p9_2} cannam@86: } cannam@86: }; cannam@86: static const static_bookblock _resbook_8s_1={ cannam@86: { cannam@86: {0}, cannam@86: {0,0,&_8c1_s_p1_0}, cannam@86: {0}, cannam@86: {0,0,&_8c1_s_p3_0}, cannam@86: {0,0,&_8c1_s_p4_0}, cannam@86: {0,0,&_8c1_s_p5_0}, cannam@86: {0,0,&_8c1_s_p6_0}, cannam@86: {&_8c1_s_p7_0,&_8c1_s_p7_1}, cannam@86: {&_8c1_s_p8_0,&_8c1_s_p8_1}, cannam@86: {&_8c1_s_p9_0,&_8c1_s_p9_1,&_8c1_s_p9_2} cannam@86: } cannam@86: }; cannam@86: cannam@86: static const vorbis_residue_template _res_8s_0[]={ cannam@86: {2,0,32, &_residue_44_mid, cannam@86: &_huff_book__8c0_s_single,&_huff_book__8c0_s_single, cannam@86: &_resbook_8s_0,&_resbook_8s_0}, cannam@86: }; cannam@86: static const vorbis_residue_template _res_8s_1[]={ cannam@86: {2,0,32, &_residue_44_mid, cannam@86: &_huff_book__8c1_s_single,&_huff_book__8c1_s_single, cannam@86: &_resbook_8s_1,&_resbook_8s_1}, cannam@86: }; cannam@86: cannam@86: static const vorbis_mapping_template _mapres_template_8_stereo[2]={ cannam@86: { _map_nominal, _res_8s_0 }, /* 0 */ cannam@86: { _map_nominal, _res_8s_1 }, /* 1 */ cannam@86: }; cannam@86: cannam@86: static const static_bookblock _resbook_8u_0={ cannam@86: { cannam@86: {0}, cannam@86: {0,0,&_8u0__p1_0}, cannam@86: {0,0,&_8u0__p2_0}, cannam@86: {0,0,&_8u0__p3_0}, cannam@86: {0,0,&_8u0__p4_0}, cannam@86: {0,0,&_8u0__p5_0}, cannam@86: {&_8u0__p6_0,&_8u0__p6_1}, cannam@86: {&_8u0__p7_0,&_8u0__p7_1,&_8u0__p7_2} cannam@86: } cannam@86: }; cannam@86: static const static_bookblock _resbook_8u_1={ cannam@86: { cannam@86: {0}, cannam@86: {0,0,&_8u1__p1_0}, cannam@86: {0,0,&_8u1__p2_0}, cannam@86: {0,0,&_8u1__p3_0}, cannam@86: {0,0,&_8u1__p4_0}, cannam@86: {0,0,&_8u1__p5_0}, cannam@86: {0,0,&_8u1__p6_0}, cannam@86: {&_8u1__p7_0,&_8u1__p7_1}, cannam@86: {&_8u1__p8_0,&_8u1__p8_1}, cannam@86: {&_8u1__p9_0,&_8u1__p9_1,&_8u1__p9_2} cannam@86: } cannam@86: }; cannam@86: cannam@86: static const vorbis_residue_template _res_8u_0[]={ cannam@86: {1,0,32, &_residue_44_low_un, cannam@86: &_huff_book__8u0__single,&_huff_book__8u0__single, cannam@86: &_resbook_8u_0,&_resbook_8u_0}, cannam@86: }; cannam@86: static const vorbis_residue_template _res_8u_1[]={ cannam@86: {1,0,32, &_residue_44_mid_un, cannam@86: &_huff_book__8u1__single,&_huff_book__8u1__single, cannam@86: &_resbook_8u_1,&_resbook_8u_1}, cannam@86: }; cannam@86: cannam@86: static const vorbis_mapping_template _mapres_template_8_uncoupled[2]={ cannam@86: { _map_nominal_u, _res_8u_0 }, /* 0 */ cannam@86: { _map_nominal_u, _res_8u_1 }, /* 1 */ cannam@86: };