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_44c_B.h,v 1.1 2001/08/13 07:43:15 xiphmont Exp $
16 ********************************************************************/
18 #ifndef _V_MODES_44c_B_H_
19 #define _V_MODES_44c_B_H_
22 #include "vorbis/codec.h"
25 #include "books/line_128x19_class1.vqh"
26 #include "books/line_128x19_class2.vqh"
28 #include "books/line_128x19_0sub0.vqh"
29 #include "books/line_128x19_1sub1.vqh"
30 #include "books/line_128x19_1sub2.vqh"
31 #include "books/line_128x19_1sub3.vqh"
32 #include "books/line_128x19_2sub1.vqh"
33 #include "books/line_128x19_2sub2.vqh"
34 #include "books/line_128x19_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_44c_B_128aux.vqh"
53 #include "books/res_44c_B_1024aux.vqh"
55 #include "books/res_Bc_1.vqh"
56 #include "books/res_Bc_2.vqh"
57 #include "books/res_Bc_3.vqh"
58 #include "books/res_Bc_4.vqh"
59 #include "books/res_Bc_5.vqh"
60 #include "books/res_Bc_6.vqh"
61 #include "books/res_Bc_7.vqh"
62 #include "books/res_Bc_7a.vqh"
63 #include "books/res_Bc_8.vqh"
64 #include "books/res_Bc_8a.vqh"
65 #include "books/res_Bc_9.vqh"
66 #include "books/res_Bc_9a.vqh"
67 #include "books/res_Bc_9b.vqh"
69 #include "maskadj_A.h"
71 static vorbis_info_psy_global _psy_set_44c_BG={
73 8, /* lines per eighth octave */
75 /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
76 256, {26.f,26.f,26.f,30.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
82 static struct vp_couple_pass _psy_pass_44c_B0[]={
85 {64, 4.5,0, 0,12, 0,0},
86 {9999, 7.5,0, 4.5,12, 1.5,0}}
90 static vp_couple_pass _psy_pass_44c_B[]={
92 {{288, 0,0, 0,0, 0,0},
93 {512, 4.5,0, 0,12, 0,0},
94 {9999, 7.5,0, 4.5,12, 1.5,0}}
98 static vorbis_info_psy _psy_set_44c_B0={
99 ATH_Bark_dB_lineaggressive,
103 -3.f, -40.f,&_vp_tonemask_consbass_A,
104 /* peakattp, curvelimitp */
105 1, 4, &_vp_peakatt_B,
108 1,-30.f, /* suppress any noise curve over maxspec+n */
109 .6f, .6f, /* low/high window */
112 /*63 125 250 500 1k 2k 4k 8k 16k*/
113 {-30,-30,-30,-30,-30,-30,-20,-10, 0, 0, 0, 0, 0, 1, 1, 2, 3},
114 {.6f,.6f,.6f,.6f,.6f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.75f,.85f,.85f,.85f},
117 105.f, /* even decade + 5 is important; saves an rint() later in a
123 static vorbis_info_psy _psy_set_44c_BT={
124 ATH_Bark_dB_lineaggressive,
128 -3.f,-40.f,&_vp_tonemask_consbass_A,
129 /* peakattp,curvelimitp */
130 1, 4, &_vp_peakatt_B,
133 1, -30.f, /* suppress any noise curve over maxspec+n */
134 .4f,.4f, /* low/high window */
137 /*63 125 250 500 1k 2k 4k 8k 16k*/
138 {-30,-30,-30,-30,-30,-30,-30,-20, -6, -6, -6, -6, 0, 0, 0, 1, 2},
139 {.6f,.6f,.6f,.6f,.6f,.6f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.7f,.75f,.8f},
141 105.f, /* even decade + 5 is important; saves an rint() later in a
146 static vorbis_info_psy _psy_set_44c_B={
147 ATH_Bark_dB_lineaggressive,
151 -3.f,-40.f,&_vp_tonemask_consbass_A,
152 /* peakattp, curvelimitp */
153 1, 4, &_vp_peakatt_B,
156 1, -30.f, /* suppress any noise curve over maxspec+n */
157 .4f,.4f, /* low/high window */
160 /*63 125 250 500 1k 2k 4k 8k 16k*/
161 {-20,-20,-20,-20,-20,-20,-20, 0, -6, -6, -6, -6, 0, 0, 0, 1, 2},
162 {.6f,.6f,.6f,.6f,.6f,.6f,.5f,.5f,.5f,.5f,.5f,.5f,.5f,.6f,.7f,.75f,.8f},
165 105.f, /* even decade + 5 is important; saves an rint() later in a
170 static vorbis_info_time0 _time_set_44c_B={0};
172 static vorbis_info_floor1 _floor_set_44c_B0={
179 {{2},{-1,3,4,5},{-1,6,7,8}},
187 2,1,4, 11,8,14, 23,20,26,
188 41,35,48, 84,69,103},
196 static vorbis_info_floor1 _floor_set_44c_B={
198 {0,1,2,2,2,2,2, 3,3,3},
216 6,3,10, 22,18,26, 41,36,47,
217 69,61,78, 112,99,126, 185,162,211,
218 329,282,387, 672,553,825
226 static vorbis_info_residue0 _residue_set_44c_B0={
228 {0,1,1,1,1,1,1,3,3,7},
241 9999,9999,9999,9999},
253 static vorbis_info_residue0 _residue_set_44c_B={
255 {0,1,1,1,1,1,1,3,3,7},
268 9999,9999,9999,9999},
280 static vorbis_info_mapping0 _mapping_set_44c_B0={
281 1, {0,0}, {0}, {0}, {0}, {0,0}, 1,{0},{1}};
282 static vorbis_info_mapping0 _mapping_set_44c_B={
283 1, {0,0}, {0}, {1}, {1}, {1,2}, 1,{0},{1}};
285 static vorbis_info_mode _mode_set_44c_B0={0,0,0,0};
286 static vorbis_info_mode _mode_set_44c_B={1,0,0,1};
288 codec_setup_info info_44c_B={
290 /* smallblock, largeblock */
292 /* modes,maps,times,floors,residues,books,psys */
293 2, 2, 1, 2, 2, 38, 3,
295 {&_mode_set_44c_B0,&_mode_set_44c_B},
297 {0,0},{&_mapping_set_44c_B0,&_mapping_set_44c_B},
299 {0,0},{&_time_set_44c_B},
301 {1,1},{&_floor_set_44c_B0,&_floor_set_44c_B},
303 {2,2},{&_residue_set_44c_B0,&_residue_set_44c_B},
307 &_huff_book_line_128x19_class1,
308 &_huff_book_line_128x19_class2, /* 1 */
310 &_huff_book_line_128x19_0sub0, /* 2 */
311 &_huff_book_line_128x19_1sub1, /* 3 */
312 &_huff_book_line_128x19_1sub2,
313 &_huff_book_line_128x19_1sub3, /* 5 */
314 &_huff_book_line_128x19_2sub1,
315 &_huff_book_line_128x19_2sub2, /* 7 */
316 &_huff_book_line_128x19_2sub3,
318 &_huff_book_line_1024x31_class0,
319 &_huff_book_line_1024x31_class1, /* 10 */
320 &_huff_book_line_1024x31_class2,
321 &_huff_book_line_1024x31_class3, /* 12 */
323 &_huff_book_line_1024x31_0sub0,
324 &_huff_book_line_1024x31_0sub1, /* 14 */
325 &_huff_book_line_1024x31_1sub0,
326 &_huff_book_line_1024x31_1sub1,
327 &_huff_book_line_1024x31_2sub1,
328 &_huff_book_line_1024x31_2sub2, /* 18 */
329 &_huff_book_line_1024x31_2sub3,
330 &_huff_book_line_1024x31_3sub1,
331 &_huff_book_line_1024x31_3sub2,
332 &_huff_book_line_1024x31_3sub3, /* 22 */
334 &_huff_book_res_44c_B_128aux,
335 &_huff_book_res_44c_B_1024aux,
354 {&_psy_set_44c_B0,&_psy_set_44c_BT,&_psy_set_44c_B},