1 /********************************************************************
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. *
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
9 * by the XIPHOPHORUS Company http://www.xiph.org/ *
11 ********************************************************************
13 function: predefined encoding modes; 44kHz stereo ~64kbps true VBR
14 last mod: $Id: mode_44_C.h,v 1.1 2001/08/13 11:30:59 xiphmont Exp $
16 ********************************************************************/
18 #ifndef _V_MODES_44_C_H_
19 #define _V_MODES_44_C_H_
22 #include "vorbis/codec.h"
25 #include "books/line_128x7_class1.vqh"
26 #include "books/line_128x7_class2.vqh"
28 #include "books/line_128x7_0sub0.vqh"
29 #include "books/line_128x7_1sub1.vqh"
30 #include "books/line_128x7_1sub2.vqh"
31 #include "books/line_128x7_1sub3.vqh"
32 #include "books/line_128x7_2sub1.vqh"
33 #include "books/line_128x7_2sub2.vqh"
34 #include "books/line_128x7_2sub3.vqh"
36 #include "books/line_1024x31_class0.vqh"
37 #include "books/line_1024x31_class1.vqh"
38 #include "books/line_1024x31_class2.vqh"
39 #include "books/line_1024x31_class3.vqh"
41 #include "books/line_1024x31_0sub0.vqh"
42 #include "books/line_1024x31_0sub1.vqh"
43 #include "books/line_1024x31_1sub0.vqh"
44 #include "books/line_1024x31_1sub1.vqh"
45 #include "books/line_1024x31_2sub1.vqh"
46 #include "books/line_1024x31_2sub2.vqh"
47 #include "books/line_1024x31_2sub3.vqh"
48 #include "books/line_1024x31_3sub1.vqh"
49 #include "books/line_1024x31_3sub2.vqh"
50 #include "books/line_1024x31_3sub3.vqh"
52 #include "books/res_44_B_128aux.vqh"
53 #include "books/res_44_B_1024aux.vqh"
55 #include "books/res_B_1.vqh"
56 #include "books/res_B_2.vqh"
57 #include "books/res_B_3.vqh"
58 #include "books/res_B_4.vqh"
59 #include "books/res_B_5.vqh"
60 #include "books/res_B_5a.vqh"
61 #include "books/res_B_6.vqh"
62 #include "books/res_B_6a.vqh"
63 #include "books/res_B_6b.vqh"
65 #include "maskadj_A.h"
67 static vorbis_info_psy_global _psy_set_44_CG={
69 8, /* lines per eighth octave */
71 /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
72 256, {26.f,26.f,26.f,30.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
78 static struct vp_couple_pass _psy_pass_44_C[]={
82 static vorbis_info_psy _psy_set_44_C0={
83 ATH_Bark_dB_lineconservative,
87 -3.f, -40.f,&_vp_tonemask_E,
88 /* peakattp, curvelimitp */
89 1, 30, &_vp_peakatt_D,
92 1,-40.f, /* suppress any noise curve over maxspec+n */
93 1.f, 1.f, /* low/high window */
96 /*63 125 250 500 1k 2k 4k 8k 16k*/
97 {-30,-30,-30,-30,-30,-30,-20,-10, -6, -6, -6, -6, 0, 0, 0, 0, 0},
98 {.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.5f,.6f},
100 105.f, /* even decade + 5 is important; saves an rint() later in a
106 static vorbis_info_psy _psy_set_44_CT={
107 ATH_Bark_dB_lineconservative,
111 -3.f,-40.f,&_vp_tonemask_E,
112 /* peakattp,curvelimitp */
113 1, 30, &_vp_peakatt_D,
116 1, -40.f, /* suppress any noise curve over maxspec+n */
117 .5f,.5f, /* low/high window */
120 /*63 125 250 500 1k 2k 4k 8k 16k*/
121 {-30,-30,-30,-30,-30,-30,-30,-20, -6, -6, -6, -6, 0, 0, 0, 0, 0},
122 {.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.5f,.5f},
124 105.f, /* even decade + 5 is important; saves an rint() later in a
129 static vorbis_info_psy _psy_set_44_C={
130 ATH_Bark_dB_lineconservative,
134 -3.f,-40.f,&_vp_tonemask_E,
135 /* peakattp, curvelimitp */
136 1, 30, &_vp_peakatt_D,
139 1, -40.f, /* suppress any noise curve over maxspec+n */
140 .5f,.5f, /* low/high window */
143 /*63 125 250 500 1k 2k 4k 8k 16k*/
144 {-30,-30,-30,-30,-30,-30,-30,-20, -6, -6, -6, -6, 0, 0, 0, 0, 0},
145 {.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.4f,.5f,.5f},
147 105.f, /* even decade + 5 is important; saves an rint() later in a
152 static vorbis_info_time0 _time_set_44_C={0};
154 static vorbis_info_floor1 _floor_set_44_C0={
161 {{2},{-1,3,4,5},{-1,6,7,8}},
177 static vorbis_info_floor1 _floor_set_44_C={
179 {0,1,2,2,2,2,2, 3,3,3},
197 6,3,10, 22,18,26, 41,36,47,
198 69,61,78, 112,99,126, 185,162,211,
199 329,282,387, 672,553,825
207 static vorbis_info_residue0 _residue_set_44_C0={
210 {25, 26, 27, 28, 29, 30, 31, 32, 33},
211 {9999, 9999 ,9999, 9999, 9999, 9999, 9999},
212 {.5, 1.5, 2.5, 4.5, 16.5, 84.5f},
214 {99, 99,99, 99, 99, 99},
217 static vorbis_info_residue0 _residue_set_44_C={
220 {25, 26, 27, 28, 29, 30, 31, 32, 33},
221 {9999, 9999 ,9999, 9999, 9999, 9999, 9999},
222 {.5, 1.5, 2.5, 4.5, 16.5, 84.5f},
224 {99, 99,99, 99, 99, 99},
227 static vorbis_info_mapping0 _mapping_set_44_C0={
228 1, {0,0}, {0}, {0}, {0}, {0,0}, 0,{0},{0}};
229 static vorbis_info_mapping0 _mapping_set_44_C={
230 1, {0,0}, {0}, {1}, {1}, {1,2}, 0,{0},{0}};
232 static vorbis_info_mode _mode_set_44_C0={0,0,0,0};
233 static vorbis_info_mode _mode_set_44_C={1,0,0,1};
235 codec_setup_info info_44_C={
237 /* smallblock, largeblock */
239 /* modes,maps,times,floors,residues,books,psys */
240 2, 2, 1, 2, 2, 34, 3,
242 {&_mode_set_44_C0,&_mode_set_44_C},
244 {0,0},{&_mapping_set_44_C0,&_mapping_set_44_C},
246 {0,0},{&_time_set_44_C},
248 {1,1},{&_floor_set_44_C0,&_floor_set_44_C},
250 {0,0},{&_residue_set_44_C0,&_residue_set_44_C},
254 &_huff_book_line_128x7_class1,
255 &_huff_book_line_128x7_class2, /* 1 */
257 &_huff_book_line_128x7_0sub0, /* 2 */
258 &_huff_book_line_128x7_1sub1, /* 3 */
259 &_huff_book_line_128x7_1sub2,
260 &_huff_book_line_128x7_1sub3, /* 5 */
261 &_huff_book_line_128x7_2sub1,
262 &_huff_book_line_128x7_2sub2, /* 7 */
263 &_huff_book_line_128x7_2sub3,
265 &_huff_book_line_1024x31_class0,
266 &_huff_book_line_1024x31_class1, /* 10 */
267 &_huff_book_line_1024x31_class2,
268 &_huff_book_line_1024x31_class3, /* 12 */
270 &_huff_book_line_1024x31_0sub0,
271 &_huff_book_line_1024x31_0sub1, /* 14 */
272 &_huff_book_line_1024x31_1sub0,
273 &_huff_book_line_1024x31_1sub1,
274 &_huff_book_line_1024x31_2sub1,
275 &_huff_book_line_1024x31_2sub2, /* 18 */
276 &_huff_book_line_1024x31_2sub3,
277 &_huff_book_line_1024x31_3sub1,
278 &_huff_book_line_1024x31_3sub2,
279 &_huff_book_line_1024x31_3sub3, /* 22 */
281 &_huff_book_res_44_B_128aux,
282 &_huff_book_res_44_B_1024aux,
296 {&_psy_set_44_C0,&_psy_set_44_CT,&_psy_set_44_C},