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-2007             *
9  * by the Xiph.Org Foundation http://www.xiph.org/                  *
10  *                                                                  *
11  ********************************************************************
12 
13  function: toplevel residue templates 8/11kHz
14  last mod: $Id: residue_8.h 16962 2010-03-11 07:30:34Z xiphmont $
15 
16  ********************************************************************/
17 
18 #include "vorbis/codec.h"
19 #include "backends.h"
20 
21 /***** residue backends *********************************************/
22 
23 static const static_bookblock _resbook_8s_0={
24   {
25     {0},
26     {0,0,&_8c0_s_p1_0},
27     {0},
28     {0,0,&_8c0_s_p3_0},
29     {0,0,&_8c0_s_p4_0},
30     {0,0,&_8c0_s_p5_0},
31     {0,0,&_8c0_s_p6_0},
32     {&_8c0_s_p7_0,&_8c0_s_p7_1},
33     {&_8c0_s_p8_0,&_8c0_s_p8_1},
34     {&_8c0_s_p9_0,&_8c0_s_p9_1,&_8c0_s_p9_2}
35    }
36 };
37 static const static_bookblock _resbook_8s_1={
38   {
39     {0},
40     {0,0,&_8c1_s_p1_0},
41     {0},
42     {0,0,&_8c1_s_p3_0},
43     {0,0,&_8c1_s_p4_0},
44     {0,0,&_8c1_s_p5_0},
45     {0,0,&_8c1_s_p6_0},
46     {&_8c1_s_p7_0,&_8c1_s_p7_1},
47     {&_8c1_s_p8_0,&_8c1_s_p8_1},
48     {&_8c1_s_p9_0,&_8c1_s_p9_1,&_8c1_s_p9_2}
49    }
50 };
51 
52 static const vorbis_residue_template _res_8s_0[]={
53   {2,0,32,  &_residue_44_mid,
54    &_huff_book__8c0_s_single,&_huff_book__8c0_s_single,
55    &_resbook_8s_0,&_resbook_8s_0},
56 };
57 static const vorbis_residue_template _res_8s_1[]={
58   {2,0,32,  &_residue_44_mid,
59    &_huff_book__8c1_s_single,&_huff_book__8c1_s_single,
60    &_resbook_8s_1,&_resbook_8s_1},
61 };
62 
63 static const vorbis_mapping_template _mapres_template_8_stereo[2]={
64   { _map_nominal, _res_8s_0 }, /* 0 */
65   { _map_nominal, _res_8s_1 }, /* 1 */
66 };
67 
68 static const static_bookblock _resbook_8u_0={
69   {
70     {0},
71     {0,0,&_8u0__p1_0},
72     {0,0,&_8u0__p2_0},
73     {0,0,&_8u0__p3_0},
74     {0,0,&_8u0__p4_0},
75     {0,0,&_8u0__p5_0},
76     {&_8u0__p6_0,&_8u0__p6_1},
77     {&_8u0__p7_0,&_8u0__p7_1,&_8u0__p7_2}
78    }
79 };
80 static const static_bookblock _resbook_8u_1={
81   {
82     {0},
83     {0,0,&_8u1__p1_0},
84     {0,0,&_8u1__p2_0},
85     {0,0,&_8u1__p3_0},
86     {0,0,&_8u1__p4_0},
87     {0,0,&_8u1__p5_0},
88     {0,0,&_8u1__p6_0},
89     {&_8u1__p7_0,&_8u1__p7_1},
90     {&_8u1__p8_0,&_8u1__p8_1},
91     {&_8u1__p9_0,&_8u1__p9_1,&_8u1__p9_2}
92    }
93 };
94 
95 static const vorbis_residue_template _res_8u_0[]={
96   {1,0,32,  &_residue_44_low_un,
97    &_huff_book__8u0__single,&_huff_book__8u0__single,
98    &_resbook_8u_0,&_resbook_8u_0},
99 };
100 static const vorbis_residue_template _res_8u_1[]={
101   {1,0,32,  &_residue_44_mid_un,
102    &_huff_book__8u1__single,&_huff_book__8u1__single,
103    &_resbook_8u_1,&_resbook_8u_1},
104 };
105 
106 static const vorbis_mapping_template _mapres_template_8_uncoupled[2]={
107   { _map_nominal_u, _res_8u_0 }, /* 0 */
108   { _map_nominal_u, _res_8u_1 }, /* 1 */
109 };
110