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: 16kHz settings
14  last mod: $Id: setup_16.h 16894 2010-02-12 20:32:12Z xiphmont $
15 
16  ********************************************************************/
17 
18 #include "psych_16.h"
19 #include "residue_16.h"
20 
21 static const int blocksize_16_short[3]={
22   1024,512,512
23 };
24 static const int blocksize_16_long[3]={
25   1024,1024,1024
26 };
27 
28 static const int _floor_mapping_16a[]={
29   9,3,3
30 };
31 static const int _floor_mapping_16b[]={
32   9,9,9
33 };
34 static const int *_floor_mapping_16[]={
35   _floor_mapping_16a,
36   _floor_mapping_16b
37 };
38 
39 static const double rate_mapping_16[4]={
40   12000.,20000.,44000.,86000.
41 };
42 
43 static const double rate_mapping_16_uncoupled[4]={
44   16000.,28000.,64000.,100000.
45 };
46 
47 static const double _global_mapping_16[4]={ 1., 2., 3., 4. };
48 
49 static const double quality_mapping_16[4]={ -.1,.05,.5,1. };
50 
51 static const double _psy_compand_16_mapping[4]={ 0., .8, 1., 1.};
52 
53 static const ve_setup_data_template ve_setup_16_stereo={
54   3,
55   rate_mapping_16,
56   quality_mapping_16,
57   2,
58   15000,
59   19000,
60 
61   blocksize_16_short,
62   blocksize_16_long,
63 
64   _psy_tone_masteratt_16,
65   _psy_tone_0dB,
66   _psy_tone_suppress,
67 
68   _vp_tonemask_adj_16,
69   _vp_tonemask_adj_16,
70   _vp_tonemask_adj_16,
71 
72   _psy_noiseguards_16,
73   _psy_noisebias_16_impulse,
74   _psy_noisebias_16_short,
75   _psy_noisebias_16_short,
76   _psy_noisebias_16,
77   _psy_noise_suppress,
78 
79   _psy_compand_8,
80   _psy_compand_16_mapping,
81   _psy_compand_16_mapping,
82 
83   {_noise_start_16,_noise_start_16},
84   { _noise_part_16, _noise_part_16},
85   _noise_thresh_16,
86 
87   _psy_ath_floater_16,
88   _psy_ath_abs_16,
89 
90   _psy_lowpass_16,
91 
92   _psy_global_44,
93   _global_mapping_16,
94   _psy_stereo_modes_16,
95 
96   _floor_books,
97   _floor,
98   2,
99   _floor_mapping_16,
100 
101   _mapres_template_16_stereo
102 };
103 
104 static const ve_setup_data_template ve_setup_16_uncoupled={
105   3,
106   rate_mapping_16_uncoupled,
107   quality_mapping_16,
108   -1,
109   15000,
110   19000,
111 
112   blocksize_16_short,
113   blocksize_16_long,
114 
115   _psy_tone_masteratt_16,
116   _psy_tone_0dB,
117   _psy_tone_suppress,
118 
119   _vp_tonemask_adj_16,
120   _vp_tonemask_adj_16,
121   _vp_tonemask_adj_16,
122 
123   _psy_noiseguards_16,
124   _psy_noisebias_16_impulse,
125   _psy_noisebias_16_short,
126   _psy_noisebias_16_short,
127   _psy_noisebias_16,
128   _psy_noise_suppress,
129 
130   _psy_compand_8,
131   _psy_compand_16_mapping,
132   _psy_compand_16_mapping,
133 
134   {_noise_start_16,_noise_start_16},
135   { _noise_part_16, _noise_part_16},
136   _noise_thresh_16,
137 
138   _psy_ath_floater_16,
139   _psy_ath_abs_16,
140 
141   _psy_lowpass_16,
142 
143   _psy_global_44,
144   _global_mapping_16,
145   _psy_stereo_modes_16,
146 
147   _floor_books,
148   _floor,
149   2,
150   _floor_mapping_16,
151 
152   _mapres_template_16_uncoupled
153 };
154