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; 22kHz stereo ~32kbps true VBR
14 last mod: $Id: mode_22c_Z.h,v 1.1 2001/08/13 11:30:59 xiphmont Exp $
16 ********************************************************************/
18 #ifndef _V_MODES_22c_Z_H_
19 #define _V_MODES_22c_Z_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_22c_Z_128aux.vqh"
53 #include "books/res_22c_Z_1024aux.vqh"
55 #include "books/res_Zc_1.vqh"
56 #include "books/res_Zc_2.vqh"
57 #include "books/res_Zc_3.vqh"
58 #include "books/res_Zc_4.vqh"
59 #include "books/res_Zc_5.vqh"
60 #include "books/res_Zc_6.vqh"
61 #include "books/res_Zc_7.vqh"
62 #include "books/res_Zc_8.vqh"
63 #include "books/res_Zc_9.vqh"
64 #include "books/res_Zc_9a.vqh"
65 #include "books/res_Zc_9b.vqh"
67 #include "maskadj_Z.h"
69 static vorbis_info_psy_global _psy_set_22c_ZG={
71 8, /* lines per eighth octave */
73 /* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
74 256, {26.f,26.f,26.f,30.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
80 static struct vp_couple_pass _psy_pass_22c_Z0[]={
83 {9999, 0,0, 7.5f,12, 7.5f,0}}
87 static vp_couple_pass _psy_pass_22c_Z[]={
89 {{384, 0,0, 0,0, 0,0},
90 {9999, 0,0, 7.5f,12, 7.5f,0}}
94 static vorbis_info_psy _psy_set_22c_Z0={
95 ATH_Bark_dB_lineaggressive,
99 -99.f, -24.f,&_vp_tonemask_consbass_Z,
100 /* peakattp, curvelimitp */
101 0, 0, &_vp_peakatt_Z,
104 1,-24.f, /* suppress any noise curve over maxspec+n */
105 1.f, 1.f, /* low/high window */
108 /*63 125 250 500 1k 2k 4k 8k 16k*/
109 {-20,-20,-20,-20,-20,-20,-20, -26,-25,-25,-25,-25,-25, -26,-27,-20,-20},
110 //{-20,-20,-20,-20,-20,-10,-10, -5, 3, 3, 5, 5, 5, 6, 7, 10, 10},
111 {1.f,1.f,1.f,1.f,1.f,1.f,.8f,.7f,.7f,.7f,.7f,.7f,.8f,.88f,.89f,.9f,.9f},
113 95.f, /* even decade + 5 is important; saves an rint() later in a
119 static vorbis_info_psy _psy_set_22c_ZT={
120 ATH_Bark_dB_lineaggressive,
124 -99.f,-20.f,&_vp_tonemask_consbass_Z,
125 /* peakattp,curvelimitp */
126 0, 0, &_vp_peakatt_Z,
129 1, -24.f, /* suppress any noise curve over maxspec+n */
130 .5f,.5f, /* low/high window */
133 /*63 125 250 500 1k 2k 4k 8k 16k*/
134 {-20,-20,-20,-20,-20,-20,-20, -26,-25,-25,-25,-25,-25, -26,-27,-20,-20},
135 //{-20,-20,-20,-20,-20,-10,-10, -6, 5, 5, 5, 5, 5, 6, 7, 10, 10},
136 //{1.f,1.f,1.f,1.f,1.f,1.f,.8f,.8f,.8f,.8f,.8f,.8f,.8f,.88f,.89f,.9f,.9f},
138 //{-20,-20,-20,-20,-20,-20,-20,-6, -3, -3, 0, 0, 0, 3, 5, 10, 10},
139 //{-20,-20,-15,-15,-15,-15,-10,-3, -3, 0, 0, 0, 2, 4, 6, 10, 10},
140 {1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f},
143 95.f, /* even decade + 5 is important; saves an rint() later in a
148 static vorbis_info_psy _psy_set_22c_Z={
149 ATH_Bark_dB_lineaggressive,
153 3.f,-20.f,&_vp_tonemask_Z,
154 /* peakattp, curvelimitp */
155 1, 0, &_vp_peakatt_Z,
158 1, -24.f, /* suppress any noise curve over maxspec+n */
159 .5f,.5f, /* low/high window */
162 /*63 125 250 500 1k 2k 4k 8k 16k*/
163 {-20,-20,-15,-15,-15,-15,-10, 3, 3, 3, 3, 3, 3, 4, 4, 10, 10},
164 {1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f},
166 95.f, /* even decade + 5 is important; saves an rint() later in a
171 static vorbis_info_time0 _time_set_22c_Z={0};
173 static vorbis_info_floor1 _floor_set_22c_Z0={
180 {{2},{-1,3,4,5},{-1,6,7,8}},
196 static vorbis_info_floor1 _floor_set_22c_Z={
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_22c_Z0={
228 {0,1,1,1,1,1,1,1,1,7},
229 {25, 26, 27, 28, 29, 30, 31, 32, 33,34,35},
230 {9999, 9999, 9999, 9999, 2,9999, 9999, 9999, 9999, 9999},
231 {.5, 1.5, 2.5f, 7.5, 1.5f,1.5, 2.5, 7.5, 22.5f},
233 {99, 8, 8, 8, 99,99, 99, 99, 99},
236 static vorbis_info_residue0 _residue_set_22c_Z={
238 {0,1,1,1,1,1,1,1,1,7},
239 {25, 26, 27, 28, 29, 30, 31, 32, 33,34,35},
240 {9999, 9999, 9999, 9999, 3,9999, 9999, 9999, 9999, 9999},
241 {.5, 1.5, 2.5f, 7.5, 1.5f,1.5, 2.5, 7.5, 22.5f},
243 {99, 24, 24, 24, 99,99, 99, 99, 99},
246 static vorbis_info_mapping0 _mapping_set_22c_Z0={
247 1, {0,0}, {0}, {0}, {0}, {0,0}, 1,{0},{1}};
248 static vorbis_info_mapping0 _mapping_set_22c_Z={
249 1, {0,0}, {0}, {1}, {1}, {1,2}, 1,{0},{1}};
251 static vorbis_info_mode _mode_set_22c_Z0={0,0,0,0};
252 static vorbis_info_mode _mode_set_22c_Z={1,0,0,1};
254 codec_setup_info info_22c_Z={
256 /* smallblock, largeblock */
258 /* modes,maps,times,floors,residues,books,psys */
259 2, 2, 1, 2, 2, 36, 3,
261 {&_mode_set_22c_Z0,&_mode_set_22c_Z},
263 {0,0},{&_mapping_set_22c_Z0,&_mapping_set_22c_Z},
265 {0,0},{&_time_set_22c_Z},
267 {1,1},{&_floor_set_22c_Z0,&_floor_set_22c_Z},
269 {2,2},{&_residue_set_22c_Z0,&_residue_set_22c_Z},
273 &_huff_book_line_128x7_class1,
274 &_huff_book_line_128x7_class2, /* 1 */
276 &_huff_book_line_128x7_0sub0, /* 2 */
277 &_huff_book_line_128x7_1sub1, /* 3 */
278 &_huff_book_line_128x7_1sub2,
279 &_huff_book_line_128x7_1sub3, /* 5 */
280 &_huff_book_line_128x7_2sub1,
281 &_huff_book_line_128x7_2sub2, /* 7 */
282 &_huff_book_line_128x7_2sub3,
284 &_huff_book_line_1024x31_class0,
285 &_huff_book_line_1024x31_class1, /* 10 */
286 &_huff_book_line_1024x31_class2,
287 &_huff_book_line_1024x31_class3, /* 12 */
289 &_huff_book_line_1024x31_0sub0,
290 &_huff_book_line_1024x31_0sub1, /* 14 */
291 &_huff_book_line_1024x31_1sub0,
292 &_huff_book_line_1024x31_1sub1,
293 &_huff_book_line_1024x31_2sub1,
294 &_huff_book_line_1024x31_2sub2, /* 18 */
295 &_huff_book_line_1024x31_2sub3,
296 &_huff_book_line_1024x31_3sub1,
297 &_huff_book_line_1024x31_3sub2,
298 &_huff_book_line_1024x31_3sub3, /* 22 */
300 &_huff_book_res_22c_Z_128aux,
301 &_huff_book_res_22c_Z_1024aux,
317 {&_psy_set_22c_Z0,&_psy_set_22c_ZT,&_psy_set_22c_Z},