a189b5fb9537b97352201b5ac28a8e051d51740b
[platform/upstream/libvorbis.git] / lib / modes / setup_44.h
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 settings for 44.1/48kHz
14
15  ********************************************************************/
16
17 #include "modes/floor_all.h"
18 #include "modes/residue_44.h"
19 #include "modes/psych_44.h"
20
21 static const double rate_mapping_44_stereo[12]={
22   22500.,32000.,40000.,48000.,56000.,64000.,
23   80000.,96000.,112000.,128000.,160000.,250001.
24 };
25
26 static const double quality_mapping_44[12]={
27   -.1,.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0
28 };
29
30 static const int blocksize_short_44[11]={
31   512,256,256,256,256,256,256,256,256,256,256
32 };
33 static const int blocksize_long_44[11]={
34   4096,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048
35 };
36
37 static const double _psy_compand_short_mapping[12]={
38   0.5, 1., 1., 1.3, 1.6, 2., 2., 2., 2., 2., 2., 2.
39 };
40 static const double _psy_compand_long_mapping[12]={
41   3.5, 4., 4., 4.3, 4.6, 5., 5., 5., 5., 5., 5., 5.
42 };
43
44 static const double _global_mapping_44[12]={
45   /* 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.5, 4., 4. */
46  0., 1., 1., 1.5, 2., 2., 2.5, 2.7, 3.0, 3.7, 4., 4.
47 };
48
49 static const int _floor_mapping_44a[11]={
50   1,0,0,2,2,4,5,5,5,5,5
51 };
52
53 static const int _floor_mapping_44b[11]={
54   8,7,7,7,7,7,7,7,7,7,7
55 };
56
57 static const int _floor_mapping_44c[11]={
58   10,10,10,10,10,10,10,10,10,10,10
59 };
60
61 static const int *_floor_mapping_44[]={
62   _floor_mapping_44a,
63   _floor_mapping_44b,
64   _floor_mapping_44c,
65 };
66
67 static const ve_setup_data_template ve_setup_44_stereo={
68   11,
69   rate_mapping_44_stereo,
70   quality_mapping_44,
71   2,
72   40000,
73   50000,
74
75   blocksize_short_44,
76   blocksize_long_44,
77
78   _psy_tone_masteratt_44,
79   _psy_tone_0dB,
80   _psy_tone_suppress,
81
82   _vp_tonemask_adj_otherblock,
83   _vp_tonemask_adj_longblock,
84   _vp_tonemask_adj_otherblock,
85
86   _psy_noiseguards_44,
87   _psy_noisebias_impulse,
88   _psy_noisebias_padding,
89   _psy_noisebias_trans,
90   _psy_noisebias_long,
91   _psy_noise_suppress,
92
93   _psy_compand_44,
94   _psy_compand_short_mapping,
95   _psy_compand_long_mapping,
96
97   {_noise_start_short_44,_noise_start_long_44},
98   {_noise_part_short_44,_noise_part_long_44},
99   _noise_thresh_44,
100
101   _psy_ath_floater,
102   _psy_ath_abs,
103
104   _psy_lowpass_44,
105
106   _psy_global_44,
107   _global_mapping_44,
108   _psy_stereo_modes_44,
109
110   _floor_books,
111   _floor,
112   2,
113   _floor_mapping_44,
114
115   _mapres_template_44_stereo
116 };