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