Home | History | Annotate | Download | only in modes
      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