examples/sfexamples/oggvorbiscodec/src/libvorbis/lib/modes/residue_44u.h

00001 /********************************************************************
00002  *                                                                  *
00003  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
00004  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
00005  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
00006  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
00007  *                                                                  *
00008  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
00009  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
00010  *                                                                  *
00011  ********************************************************************
00012 
00013  function: toplevel residue templates for 32/44.1/48kHz uncoupled
00014  last mod: $Id: residue_44u.h 7187 2004-07-20 07:24:27Z xiphmont $
00015 
00016  ********************************************************************/
00017 
00018 #include "vorbis/codec.h"
00019 #include "backends.h"
00020 #include "books/uncoupled/res_books_uncoupled.h"
00021 
00022 /***** residue backends *********************************************/
00023 
00024 
00025 static vorbis_info_residue0 _residue_44_low_un={
00026   0,-1, -1, 8,-1,
00027   {0},
00028   {-1},
00029   {  .5,  1.5,  1.5,  2.5,  2.5,  4.5, 28.5},
00030   {  -1,   25,   -1,   45,   -1,   -1,   -1}
00031 };
00032 
00033 static vorbis_info_residue0 _residue_44_mid_un={
00034   0,-1, -1, 10,-1,
00035   /*  0     1     2     3     4     5     6     7     8     9 */
00036   {0},
00037   {-1},
00038   {  .5,  1.5,  1.5,  2.5,  2.5,  4.5,  4.5, 16.5, 60.5},
00039   {  -1,   30,   -1,   50,   -1,   80,   -1,   -1,   -1}
00040 };
00041 
00042 static vorbis_info_residue0 _residue_44_hi_un={
00043   0,-1, -1, 10,-1,
00044   /*  0     1     2     3     4     5     6     7     8     9 */
00045   {0},
00046   {-1},
00047   {  .5,  1.5,  2.5,  4.5,  8.5, 16.5, 32.5, 71.5,157.5},
00048   {  -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1}
00049 };
00050 
00051 /* mapping conventions:
00052    only one submap (this would change for efficient 5.1 support for example)*/
00053 /* Four psychoacoustic profiles are used, one for each blocktype */
00054 static vorbis_info_mapping0 _map_nominal_u[2]={
00055   {1, {0,0}, {0}, {0}, 0,{0},{0}},
00056   {1, {0,0}, {1}, {1}, 0,{0},{0}}
00057 };
00058 
00059 static static_bookblock _resbook_44u_n1={
00060   {
00061     {0},
00062     {0,0,&_44un1__p1_0},
00063     {0,0,&_44un1__p2_0},
00064     {0,0,&_44un1__p3_0},
00065     {0,0,&_44un1__p4_0},
00066     {0,0,&_44un1__p5_0},
00067     {&_44un1__p6_0,&_44un1__p6_1},
00068     {&_44un1__p7_0,&_44un1__p7_1,&_44un1__p7_2}
00069    }
00070 };
00071 static static_bookblock _resbook_44u_0={
00072   {
00073     {0},
00074     {0,0,&_44u0__p1_0},
00075     {0,0,&_44u0__p2_0},
00076     {0,0,&_44u0__p3_0},
00077     {0,0,&_44u0__p4_0},
00078     {0,0,&_44u0__p5_0},
00079     {&_44u0__p6_0,&_44u0__p6_1},
00080     {&_44u0__p7_0,&_44u0__p7_1,&_44u0__p7_2}
00081    }
00082 };
00083 static static_bookblock _resbook_44u_1={
00084   {
00085     {0},
00086     {0,0,&_44u1__p1_0},
00087     {0,0,&_44u1__p2_0},
00088     {0,0,&_44u1__p3_0},
00089     {0,0,&_44u1__p4_0},
00090     {0,0,&_44u1__p5_0},
00091     {&_44u1__p6_0,&_44u1__p6_1},
00092     {&_44u1__p7_0,&_44u1__p7_1,&_44u1__p7_2}
00093    }
00094 };
00095 static static_bookblock _resbook_44u_2={
00096   {
00097     {0},
00098     {0,0,&_44u2__p1_0},
00099     {0,0,&_44u2__p2_0},
00100     {0,0,&_44u2__p3_0},
00101     {0,0,&_44u2__p4_0},
00102     {0,0,&_44u2__p5_0},
00103     {&_44u2__p6_0,&_44u2__p6_1},
00104     {&_44u2__p7_0,&_44u2__p7_1,&_44u2__p7_2}
00105    }
00106 };
00107 static static_bookblock _resbook_44u_3={
00108   {
00109     {0},
00110     {0,0,&_44u3__p1_0},
00111     {0,0,&_44u3__p2_0},
00112     {0,0,&_44u3__p3_0},
00113     {0,0,&_44u3__p4_0},
00114     {0,0,&_44u3__p5_0},
00115     {&_44u3__p6_0,&_44u3__p6_1},
00116     {&_44u3__p7_0,&_44u3__p7_1,&_44u3__p7_2}
00117    }
00118 };
00119 static static_bookblock _resbook_44u_4={
00120   {
00121     {0},
00122     {0,0,&_44u4__p1_0},
00123     {0,0,&_44u4__p2_0},
00124     {0,0,&_44u4__p3_0},
00125     {0,0,&_44u4__p4_0},
00126     {0,0,&_44u4__p5_0},
00127     {&_44u4__p6_0,&_44u4__p6_1},
00128     {&_44u4__p7_0,&_44u4__p7_1,&_44u4__p7_2}
00129    }
00130 };
00131 static static_bookblock _resbook_44u_5={
00132   {
00133     {0},
00134     {0,0,&_44u5__p1_0},
00135     {0,0,&_44u5__p2_0},
00136     {0,0,&_44u5__p3_0},
00137     {0,0,&_44u5__p4_0},
00138     {0,0,&_44u5__p5_0},
00139     {0,0,&_44u5__p6_0},
00140     {&_44u5__p7_0,&_44u5__p7_1},
00141     {&_44u5__p8_0,&_44u5__p8_1},
00142     {&_44u5__p9_0,&_44u5__p9_1,&_44u5__p9_2}
00143    }
00144 };
00145 static static_bookblock _resbook_44u_6={
00146   {
00147     {0},
00148     {0,0,&_44u6__p1_0},
00149     {0,0,&_44u6__p2_0},
00150     {0,0,&_44u6__p3_0},
00151     {0,0,&_44u6__p4_0},
00152     {0,0,&_44u6__p5_0},
00153     {0,0,&_44u6__p6_0},
00154     {&_44u6__p7_0,&_44u6__p7_1},
00155     {&_44u6__p8_0,&_44u6__p8_1},
00156     {&_44u6__p9_0,&_44u6__p9_1,&_44u6__p9_2}
00157    }
00158 };
00159 static static_bookblock _resbook_44u_7={
00160   {
00161     {0},
00162     {0,0,&_44u7__p1_0},
00163     {0,0,&_44u7__p2_0},
00164     {0,0,&_44u7__p3_0},
00165     {0,0,&_44u7__p4_0},
00166     {0,0,&_44u7__p5_0},
00167     {0,0,&_44u7__p6_0},
00168     {&_44u7__p7_0,&_44u7__p7_1},
00169     {&_44u7__p8_0,&_44u7__p8_1},
00170     {&_44u7__p9_0,&_44u7__p9_1,&_44u7__p9_2}
00171    }
00172 };
00173 static static_bookblock _resbook_44u_8={
00174   {
00175     {0},
00176     {0,0,&_44u8_p1_0},
00177     {0,0,&_44u8_p2_0},
00178     {0,0,&_44u8_p3_0},
00179     {0,0,&_44u8_p4_0},
00180     {&_44u8_p5_0,&_44u8_p5_1},
00181     {&_44u8_p6_0,&_44u8_p6_1},
00182     {&_44u8_p7_0,&_44u8_p7_1},
00183     {&_44u8_p8_0,&_44u8_p8_1},
00184     {&_44u8_p9_0,&_44u8_p9_1,&_44u8_p9_2}
00185    }
00186 };
00187 static static_bookblock _resbook_44u_9={
00188   {
00189     {0},
00190     {0,0,&_44u9_p1_0},
00191     {0,0,&_44u9_p2_0},
00192     {0,0,&_44u9_p3_0},
00193     {0,0,&_44u9_p4_0},
00194     {&_44u9_p5_0,&_44u9_p5_1},
00195     {&_44u9_p6_0,&_44u9_p6_1},
00196     {&_44u9_p7_0,&_44u9_p7_1},
00197     {&_44u9_p8_0,&_44u9_p8_1},
00198     {&_44u9_p9_0,&_44u9_p9_1,&_44u9_p9_2}
00199    }
00200 };
00201 
00202 static vorbis_residue_template _res_44u_n1[]={
00203   {1,0,  &_residue_44_low_un,
00204    &_huff_book__44un1__short,&_huff_book__44un1__short,
00205    &_resbook_44u_n1,&_resbook_44u_n1},
00206 
00207   {1,0,  &_residue_44_low_un,
00208    &_huff_book__44un1__long,&_huff_book__44un1__long,
00209    &_resbook_44u_n1,&_resbook_44u_n1}
00210 };
00211 static vorbis_residue_template _res_44u_0[]={
00212   {1,0,  &_residue_44_low_un,
00213    &_huff_book__44u0__short,&_huff_book__44u0__short,
00214    &_resbook_44u_0,&_resbook_44u_0},
00215 
00216   {1,0,  &_residue_44_low_un,
00217    &_huff_book__44u0__long,&_huff_book__44u0__long,
00218    &_resbook_44u_0,&_resbook_44u_0}
00219 };
00220 static vorbis_residue_template _res_44u_1[]={
00221   {1,0,  &_residue_44_low_un,
00222    &_huff_book__44u1__short,&_huff_book__44u1__short,
00223    &_resbook_44u_1,&_resbook_44u_1},
00224 
00225   {1,0,  &_residue_44_low_un,
00226    &_huff_book__44u1__long,&_huff_book__44u1__long,
00227    &_resbook_44u_1,&_resbook_44u_1}
00228 };
00229 static vorbis_residue_template _res_44u_2[]={
00230   {1,0,  &_residue_44_low_un,
00231    &_huff_book__44u2__short,&_huff_book__44u2__short,
00232    &_resbook_44u_2,&_resbook_44u_2},
00233 
00234   {1,0,  &_residue_44_low_un,
00235    &_huff_book__44u2__long,&_huff_book__44u2__long,
00236    &_resbook_44u_2,&_resbook_44u_2}
00237 };
00238 static vorbis_residue_template _res_44u_3[]={
00239   {1,0,  &_residue_44_low_un,
00240    &_huff_book__44u3__short,&_huff_book__44u3__short,
00241    &_resbook_44u_3,&_resbook_44u_3},
00242 
00243   {1,0,  &_residue_44_low_un,
00244    &_huff_book__44u3__long,&_huff_book__44u3__long,
00245    &_resbook_44u_3,&_resbook_44u_3}
00246 };
00247 static vorbis_residue_template _res_44u_4[]={
00248   {1,0,  &_residue_44_low_un,
00249    &_huff_book__44u4__short,&_huff_book__44u4__short,
00250    &_resbook_44u_4,&_resbook_44u_4},
00251 
00252   {1,0,  &_residue_44_low_un,
00253    &_huff_book__44u4__long,&_huff_book__44u4__long,
00254    &_resbook_44u_4,&_resbook_44u_4}
00255 };
00256 
00257 static vorbis_residue_template _res_44u_5[]={
00258   {1,0,  &_residue_44_mid_un,
00259    &_huff_book__44u5__short,&_huff_book__44u5__short,
00260    &_resbook_44u_5,&_resbook_44u_5},
00261 
00262   {1,0,  &_residue_44_mid_un,
00263    &_huff_book__44u5__long,&_huff_book__44u5__long,
00264    &_resbook_44u_5,&_resbook_44u_5}
00265 };
00266 
00267 static vorbis_residue_template _res_44u_6[]={
00268   {1,0,  &_residue_44_mid_un,
00269    &_huff_book__44u6__short,&_huff_book__44u6__short,
00270    &_resbook_44u_6,&_resbook_44u_6},
00271 
00272   {1,0,  &_residue_44_mid_un,
00273    &_huff_book__44u6__long,&_huff_book__44u6__long,
00274    &_resbook_44u_6,&_resbook_44u_6}
00275 };
00276 
00277 static vorbis_residue_template _res_44u_7[]={
00278   {1,0,  &_residue_44_mid_un,
00279    &_huff_book__44u7__short,&_huff_book__44u7__short,
00280    &_resbook_44u_7,&_resbook_44u_7},
00281 
00282   {1,0,  &_residue_44_mid_un,
00283    &_huff_book__44u7__long,&_huff_book__44u7__long,
00284    &_resbook_44u_7,&_resbook_44u_7}
00285 };
00286 
00287 static vorbis_residue_template _res_44u_8[]={
00288   {1,0,  &_residue_44_hi_un,
00289    &_huff_book__44u8__short,&_huff_book__44u8__short,
00290    &_resbook_44u_8,&_resbook_44u_8},
00291 
00292   {1,0,  &_residue_44_hi_un,
00293    &_huff_book__44u8__long,&_huff_book__44u8__long,
00294    &_resbook_44u_8,&_resbook_44u_8}
00295 };
00296 static vorbis_residue_template _res_44u_9[]={
00297   {1,0,  &_residue_44_hi_un,
00298    &_huff_book__44u9__short,&_huff_book__44u9__short,
00299    &_resbook_44u_9,&_resbook_44u_9},
00300 
00301   {1,0,  &_residue_44_hi_un,
00302    &_huff_book__44u9__long,&_huff_book__44u9__long,
00303    &_resbook_44u_9,&_resbook_44u_9}
00304 };
00305 
00306 static vorbis_mapping_template _mapres_template_44_uncoupled[]={
00307   { _map_nominal_u, _res_44u_n1 }, /* -1 */
00308   { _map_nominal_u, _res_44u_0 }, /* 0 */
00309   { _map_nominal_u, _res_44u_1 }, /* 1 */
00310   { _map_nominal_u, _res_44u_2 }, /* 2 */
00311   { _map_nominal_u, _res_44u_3 }, /* 3 */
00312   { _map_nominal_u, _res_44u_4 }, /* 4 */
00313   { _map_nominal_u, _res_44u_5 }, /* 5 */
00314   { _map_nominal_u, _res_44u_6 }, /* 6 */
00315   { _map_nominal_u, _res_44u_7 }, /* 7 */
00316   { _map_nominal_u, _res_44u_8 }, /* 8 */
00317   { _map_nominal_u, _res_44u_9 }, /* 9 */
00318 };

Generated by  doxygen 1.6.2