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: key psychoacoustic settings for 44.1/48kHz
|
---|
14 |
|
---|
15 | ********************************************************************/
|
---|
16 |
|
---|
17 |
|
---|
18 | /* preecho trigger settings *****************************************/
|
---|
19 |
|
---|
20 | static const vorbis_info_psy_global _psy_global_44[5]={
|
---|
21 |
|
---|
22 | {8, /* lines per eighth octave */
|
---|
23 | {20.f,14.f,12.f,12.f,12.f,12.f,12.f},
|
---|
24 | {-60.f,-30.f,-40.f,-40.f,-40.f,-40.f,-40.f}, 2,-75.f,
|
---|
25 | -6.f,
|
---|
26 | {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
|
---|
27 | },
|
---|
28 | {8, /* lines per eighth octave */
|
---|
29 | {14.f,10.f,10.f,10.f,10.f,10.f,10.f},
|
---|
30 | {-40.f,-30.f,-25.f,-25.f,-25.f,-25.f,-25.f}, 2,-80.f,
|
---|
31 | -6.f,
|
---|
32 | {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
|
---|
33 | },
|
---|
34 | {8, /* lines per eighth octave */
|
---|
35 | {12.f,10.f,10.f,10.f,10.f,10.f,10.f},
|
---|
36 | {-20.f,-20.f,-15.f,-15.f,-15.f,-15.f,-15.f}, 0,-80.f,
|
---|
37 | -6.f,
|
---|
38 | {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
|
---|
39 | },
|
---|
40 | {8, /* lines per eighth octave */
|
---|
41 | {10.f,8.f,8.f,8.f,8.f,8.f,8.f},
|
---|
42 | {-20.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-80.f,
|
---|
43 | -6.f,
|
---|
44 | {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
|
---|
45 | },
|
---|
46 | {8, /* lines per eighth octave */
|
---|
47 | {10.f,6.f,6.f,6.f,6.f,6.f,6.f},
|
---|
48 | {-15.f,-15.f,-12.f,-12.f,-12.f,-12.f,-12.f}, 0,-85.f,
|
---|
49 | -6.f,
|
---|
50 | {99.},{{99.},{99.}},{0},{0},{{0.},{0.}}
|
---|
51 | },
|
---|
52 | };
|
---|
53 |
|
---|
54 | /* noise compander lookups * low, mid, high quality ****************/
|
---|
55 | static const compandblock _psy_compand_44[6]={
|
---|
56 | /* sub-mode Z short */
|
---|
57 | {{
|
---|
58 | 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
|
---|
59 | 8, 9,10,11,12,13,14, 15, /* 15dB */
|
---|
60 | 16,17,18,19,20,21,22, 23, /* 23dB */
|
---|
61 | 24,25,26,27,28,29,30, 31, /* 31dB */
|
---|
62 | 32,33,34,35,36,37,38, 39, /* 39dB */
|
---|
63 | }},
|
---|
64 | /* mode_Z nominal short */
|
---|
65 | {{
|
---|
66 | 0, 1, 2, 3, 4, 5, 6, 6, /* 7dB */
|
---|
67 | 7, 7, 7, 7, 6, 6, 6, 7, /* 15dB */
|
---|
68 | 7, 8, 9,10,11,12,13, 14, /* 23dB */
|
---|
69 | 15,16,17,17,17,18,18, 19, /* 31dB */
|
---|
70 | 19,19,20,21,22,23,24, 25, /* 39dB */
|
---|
71 | }},
|
---|
72 | /* mode A short */
|
---|
73 | {{
|
---|
74 | 0, 1, 2, 3, 4, 5, 5, 5, /* 7dB */
|
---|
75 | 6, 6, 6, 5, 4, 4, 4, 4, /* 15dB */
|
---|
76 | 4, 4, 5, 5, 5, 6, 6, 6, /* 23dB */
|
---|
77 | 7, 7, 7, 8, 8, 8, 9, 10, /* 31dB */
|
---|
78 | 11,12,13,14,15,16,17, 18, /* 39dB */
|
---|
79 | }},
|
---|
80 | /* sub-mode Z long */
|
---|
81 | {{
|
---|
82 | 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
|
---|
83 | 8, 9,10,11,12,13,14, 15, /* 15dB */
|
---|
84 | 16,17,18,19,20,21,22, 23, /* 23dB */
|
---|
85 | 24,25,26,27,28,29,30, 31, /* 31dB */
|
---|
86 | 32,33,34,35,36,37,38, 39, /* 39dB */
|
---|
87 | }},
|
---|
88 | /* mode_Z nominal long */
|
---|
89 | {{
|
---|
90 | 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
|
---|
91 | 8, 9,10,11,12,12,13, 13, /* 15dB */
|
---|
92 | 13,14,14,14,15,15,15, 15, /* 23dB */
|
---|
93 | 16,16,17,17,17,18,18, 19, /* 31dB */
|
---|
94 | 19,19,20,21,22,23,24, 25, /* 39dB */
|
---|
95 | }},
|
---|
96 | /* mode A long */
|
---|
97 | {{
|
---|
98 | 0, 1, 2, 3, 4, 5, 6, 7, /* 7dB */
|
---|
99 | 8, 8, 7, 6, 5, 4, 4, 4, /* 15dB */
|
---|
100 | 4, 4, 5, 5, 5, 6, 6, 6, /* 23dB */
|
---|
101 | 7, 7, 7, 8, 8, 8, 9, 10, /* 31dB */
|
---|
102 | 11,12,13,14,15,16,17, 18, /* 39dB */
|
---|
103 | }}
|
---|
104 | };
|
---|
105 |
|
---|
106 | /* tonal masking curve level adjustments *************************/
|
---|
107 |
|
---|
108 | static const vp_adjblock _vp_tonemask_adj_longblock[12]={
|
---|
109 |
|
---|
110 | /* 63 125 250 500 1 2 4 8 16 */
|
---|
111 |
|
---|
112 | {{ -3, -8,-13,-15,-10,-10,-10,-10,-10,-10,-10, 0, 0, 0, 0, 0, 0}}, /* -1 */
|
---|
113 |
|
---|
114 | /* {{-15,-15,-15,-15,-10, -8, -4, -2, 0, 0, 0, 10, 0, 0, 0, 0, 0}}, 0 */
|
---|
115 | {{ -4,-10,-14,-16,-15,-14,-13,-12,-12,-12,-11, -1, -1, -1, -1, -1, 0}}, /* 0 */
|
---|
116 |
|
---|
117 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 5, 0, 0, 0, 0, 0}}, 1 */
|
---|
118 | {{ -6,-12,-14,-16,-15,-15,-14,-13,-13,-12,-12, -2, -2, -1, -1, -1, 0}}, /* 1 */
|
---|
119 |
|
---|
120 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 2 */
|
---|
121 | {{-12,-13,-14,-16,-16,-16,-15,-14,-13,-12,-12, -6, -3, -1, -1, -1, 0}}, /* 2 */
|
---|
122 |
|
---|
123 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 3 */
|
---|
124 | {{-15,-15,-15,-16,-16,-16,-16,-14,-13,-13,-13,-10, -4, -2, -1, -1, 0}}, /* 3 */
|
---|
125 |
|
---|
126 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, *//* 4 */
|
---|
127 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 4 */
|
---|
128 |
|
---|
129 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 5 */
|
---|
130 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 5 */
|
---|
131 |
|
---|
132 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 6 */
|
---|
133 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -8, -4, -2, -2, 0}}, /* 6 */
|
---|
134 |
|
---|
135 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 7 */
|
---|
136 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 7 */
|
---|
137 |
|
---|
138 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 8 */
|
---|
139 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 8 */
|
---|
140 |
|
---|
141 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 9 */
|
---|
142 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 9 */
|
---|
143 |
|
---|
144 | /* {{-15,-15,-15,-15,-15,-12,-10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, 10 */
|
---|
145 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 10 */
|
---|
146 | };
|
---|
147 |
|
---|
148 | static const vp_adjblock _vp_tonemask_adj_otherblock[12]={
|
---|
149 | /* 63 125 250 500 1 2 4 8 16 */
|
---|
150 |
|
---|
151 | {{ -3, -8,-13,-15,-10,-10, -9, -9, -9, -9, -9, 1, 1, 1, 1, 1, 1}}, /* -1 */
|
---|
152 |
|
---|
153 | /* {{-20,-20,-20,-20,-14,-12,-10, -8, -4, 0, 0, 10, 0, 0, 0, 0, 0}}, 0 */
|
---|
154 | {{ -4,-10,-14,-16,-14,-13,-12,-12,-11,-11,-10, 0, 0, 0, 0, 0, 0}}, /* 0 */
|
---|
155 |
|
---|
156 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 5, 0, 0, 0, 0, 0}}, 1 */
|
---|
157 | {{ -6,-12,-14,-16,-15,-15,-14,-13,-13,-12,-12, -2, -2, -1, 0, 0, 0}}, /* 1 */
|
---|
158 |
|
---|
159 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 2 */
|
---|
160 | {{-12,-13,-14,-16,-16,-16,-15,-14,-13,-12,-12, -5, -2, -1, 0, 0, 0}}, /* 2 */
|
---|
161 |
|
---|
162 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 3 */
|
---|
163 | {{-15,-15,-15,-16,-16,-16,-16,-14,-13,-13,-13,-10, -4, -2, 0, 0, 0}}, /* 3 */
|
---|
164 |
|
---|
165 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 4 */
|
---|
166 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 4 */
|
---|
167 |
|
---|
168 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 5 */
|
---|
169 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-13,-11, -7 -3, -1, -1 , 0}}, /* 5 */
|
---|
170 |
|
---|
171 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 6 */
|
---|
172 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -8, -4, -2, -2, 0}}, /* 6 */
|
---|
173 |
|
---|
174 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 7 */
|
---|
175 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 7 */
|
---|
176 |
|
---|
177 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 8 */
|
---|
178 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 8 */
|
---|
179 |
|
---|
180 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 9 */
|
---|
181 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 9 */
|
---|
182 |
|
---|
183 | /* {{-20,-20,-20,-20,-20,-18,-16,-14,-10, 0, 0, 0, 0, 0, 0, 0, 0}}, 10 */
|
---|
184 | {{-16,-16,-16,-16,-16,-16,-16,-15,-14,-14,-14,-12, -9, -4, -2, -2, 0}}, /* 10 */
|
---|
185 | };
|
---|
186 |
|
---|
187 | /* noise bias (transition block) */
|
---|
188 | static const noise3 _psy_noisebias_trans[12]={
|
---|
189 | /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
190 | /* -1 */
|
---|
191 | {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20},
|
---|
192 | {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 3, 6, 6, 15},
|
---|
193 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
|
---|
194 | /* 0
|
---|
195 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
196 | {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4, 0, 0, 0, 0, 2, 4, 10},
|
---|
197 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4, -2}}},*/
|
---|
198 | {{{-15,-15,-15,-15,-15,-12, -6, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
199 | {-30,-30,-30,-30,-26,-22,-20,-14, -8, -4, 0, 0, 0, 0, 2, 3, 6},
|
---|
200 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -4, -4, -4, -2}}},
|
---|
201 | /* 1
|
---|
202 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
203 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 8},
|
---|
204 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},*/
|
---|
205 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
206 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 1, 4},
|
---|
207 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},
|
---|
208 | /* 2
|
---|
209 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10},
|
---|
210 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 6},
|
---|
211 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}}, */
|
---|
212 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10},
|
---|
213 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -2, -1, 0, 3},
|
---|
214 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -7, -4}}},
|
---|
215 | /* 3
|
---|
216 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8},
|
---|
217 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 6},
|
---|
218 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
|
---|
219 | {{{-15,-15,-15,-15,-15,-12,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8},
|
---|
220 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -2, 0, 2},
|
---|
221 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
|
---|
222 | /* 4
|
---|
223 | {{{-20,-20,-20,-20,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
224 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 5},
|
---|
225 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
|
---|
226 | {{{-20,-20,-20,-20,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
227 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -3, -3, -3, -3, -2, -1, 1},
|
---|
228 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
|
---|
229 | /* 5
|
---|
230 | {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
231 | {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2},
|
---|
232 | {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}}, */
|
---|
233 | {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
234 | {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -4, -4, -4, -4, -3, -1, 0},
|
---|
235 | {-34,-34,-34,-34,-30,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},
|
---|
236 | /* 6
|
---|
237 | {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
238 | {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 1},
|
---|
239 | {-34,-34,-34,-34,-30,-26,-24,-18,-17,-15,-15,-15,-15,-13,-13,-12, -8}}},*/
|
---|
240 | {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
241 | {-32,-32,-32,-32,-28,-24,-24,-18,-14, -8, -6, -6, -6, -6, -5, -2, 0},
|
---|
242 | {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}},
|
---|
243 | /* 7
|
---|
244 | {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
245 | {-32,-32,-32,-32,-28,-24,-24,-18,-14,-12,-10, -8, -8, -8, -6, -4, 0},
|
---|
246 | {-34,-34,-34,-34,-30,-26,-26,-24,-22,-19,-19,-19,-19,-18,-17,-16,-12}}},*/
|
---|
247 | {{{-24,-24,-24,-24,-20,-18,-14, -8, -1, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
248 | {-32,-32,-32,-32,-28,-24,-24,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2},
|
---|
249 | {-34,-34,-34,-34,-30,-26,-26,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
|
---|
250 | /* 8
|
---|
251 | {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2, 0, 0, 0, 1, 2, 3, 7},
|
---|
252 | {-36,-36,-36,-36,-30,-30,-30,-24,-18,-14,-12,-10,-10,-10, -8, -6, -2},
|
---|
253 | {-36,-36,-36,-36,-34,-30,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},*/
|
---|
254 | {{{-24,-24,-24,-24,-22,-20,-15,-10, -8, -2, 0, 0, 0, 1, 2, 3, 7},
|
---|
255 | {-36,-36,-36,-36,-30,-30,-30,-24,-20,-16,-16,-16,-16,-14,-12,-10, -7},
|
---|
256 | {-36,-36,-36,-36,-34,-30,-28,-26,-24,-30,-30,-30,-30,-30,-30,-24,-20}}},
|
---|
257 | /* 9
|
---|
258 | {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2},
|
---|
259 | {-36,-36,-36,-36,-34,-32,-32,-28,-20,-16,-16,-16,-16,-14,-12,-10, -7},
|
---|
260 | {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},*/
|
---|
261 | {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2},
|
---|
262 | {-38,-38,-38,-38,-36,-34,-34,-30,-24,-20,-20,-20,-20,-18,-16,-12,-10},
|
---|
263 | {-40,-40,-40,-40,-40,-40,-40,-38,-35,-35,-35,-35,-35,-35,-35,-35,-30}}},
|
---|
264 | /* 10 */
|
---|
265 | {{{-30,-30,-30,-30,-30,-30,-30,-28,-20,-14,-14,-14,-14,-14,-14,-12,-10},
|
---|
266 | {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-20},
|
---|
267 | {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
|
---|
268 | };
|
---|
269 |
|
---|
270 | /* noise bias (long block) */
|
---|
271 | static const noise3 _psy_noisebias_long[12]={
|
---|
272 | /*63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
273 | /* -1 */
|
---|
274 | {{{-10,-10,-10,-10,-10, -4, 0, 0, 0, 6, 6, 6, 6, 10, 10, 12, 20},
|
---|
275 | {-20,-20,-20,-20,-20,-20,-10, -2, 0, 0, 0, 0, 0, 2, 4, 6, 15},
|
---|
276 | {-20,-20,-20,-20,-20,-20,-20,-10, -6, -6, -6, -6, -6, -4, -4, -4, -2}}},
|
---|
277 |
|
---|
278 | /* 0 */
|
---|
279 | /* {{{-10,-10,-10,-10,-10,-10, -8, 2, 2, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
280 | {-20,-20,-20,-20,-20,-20,-20,-14, -6, 0, 0, 0, 0, 0, 2, 4, 10},
|
---|
281 | {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}},*/
|
---|
282 | {{{-10,-10,-10,-10,-10,-10, -8, 2, 2, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
283 | {-20,-20,-20,-20,-20,-20,-20,-14, -6, 0, 0, 0, 0, 0, 2, 3, 6},
|
---|
284 | {-20,-20,-20,-20,-20,-20,-20,-14, -8, -6, -6, -6, -6, -4, -4, -4, -2}}},
|
---|
285 | /* 1 */
|
---|
286 | /* {{{-10,-10,-10,-10,-10,-10, -8, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
287 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 8},
|
---|
288 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},*/
|
---|
289 | {{{-10,-10,-10,-10,-10,-10, -8, -4, 0, 2, 4, 4, 5, 5, 5, 8, 10},
|
---|
290 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 1, 4},
|
---|
291 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -8, -8, -8, -8, -6, -6, -6, -4}}},
|
---|
292 | /* 2 */
|
---|
293 | /* {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10},
|
---|
294 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -2, -2, -2, -2, 0, 2, 6},
|
---|
295 | {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
|
---|
296 | {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 5, 6, 10},
|
---|
297 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -2, -1, 0, 3},
|
---|
298 | {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},
|
---|
299 | /* 3 */
|
---|
300 | /* {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8},
|
---|
301 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 6},
|
---|
302 | {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
|
---|
303 | {{{-10,-10,-10,-10,-10,-10,-10, -8, 0, 2, 2, 2, 4, 4, 4, 5, 8},
|
---|
304 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -2, 0, 2},
|
---|
305 | {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -5}}},
|
---|
306 | /* 4 */
|
---|
307 | /* {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
308 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -1, 1, 5},
|
---|
309 | {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -4}}},*/
|
---|
310 | {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
311 | {-20,-20,-20,-20,-20,-20,-20,-14,-10, -4, -3, -3, -3, -3, -2, -1, 1},
|
---|
312 | {-20,-20,-20,-20,-20,-20,-20,-14,-10,-10,-10,-10,-10, -8, -8, -8, -7}}},
|
---|
313 | /* 5 */
|
---|
314 | /* {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
315 | {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -2, -1, 2},
|
---|
316 | {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -5}}},*/
|
---|
317 | {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
318 | {-22,-22,-22,-22,-22,-22,-22,-16,-12, -6, -4, -4, -4, -4, -3, -1, 0},
|
---|
319 | {-24,-24,-24,-24,-24,-24,-24,-18,-14,-12,-12,-12,-12,-10,-10, -9, -8}}},
|
---|
320 | /* 6 */
|
---|
321 | /* {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
322 | {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -4, -2, 1},
|
---|
323 | {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12, -8}}},*/
|
---|
324 | {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
325 | {-24,-24,-24,-24,-24,-24,-24,-18,-14, -8, -6, -6, -6, -6, -5, -2, 0},
|
---|
326 | {-26,-26,-26,-26,-26,-26,-26,-18,-16,-15,-15,-15,-15,-13,-13,-12,-10}}},
|
---|
327 | /* 7 */
|
---|
328 | {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 1, 1, 1, 2, 3, 3, 4, 7},
|
---|
329 | {-24,-24,-24,-24,-24,-24,-24,-18,-14,-10, -8, -8, -8, -8, -6, -4, 0},
|
---|
330 | {-26,-26,-26,-26,-26,-26,-26,-22,-20,-19,-19,-19,-19,-18,-17,-16,-12}}},
|
---|
331 | /* 8 */
|
---|
332 | {{{-15,-15,-15,-15,-15,-15,-15,-10, -4, 0, 0, 0, 0, 1, 2, 3, 7},
|
---|
333 | {-26,-26,-26,-26,-26,-26,-26,-20,-16,-12,-10,-10,-10,-10, -8, -6, -2},
|
---|
334 | {-28,-28,-28,-28,-28,-28,-28,-26,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},
|
---|
335 | /* 9 */
|
---|
336 | {{{-22,-22,-22,-22,-22,-22,-22,-18,-14, -8, -4, -4, -4, -4, -4, -2, 2},
|
---|
337 | {-26,-26,-26,-26,-26,-26,-26,-22,-18,-16,-16,-16,-16,-14,-12,-10, -7},
|
---|
338 | {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
|
---|
339 | /* 10 */
|
---|
340 | {{{-24,-24,-24,-24,-24,-24,-24,-24,-24,-18,-14,-14,-14,-14,-14,-12,-10},
|
---|
341 | {-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-20},
|
---|
342 | {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
|
---|
343 | };
|
---|
344 |
|
---|
345 | /* noise bias (impulse block) */
|
---|
346 | static const noise3 _psy_noisebias_impulse[12]={
|
---|
347 | /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
348 | /* -1 */
|
---|
349 | {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20},
|
---|
350 | {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 3, 6, 6, 15},
|
---|
351 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
|
---|
352 |
|
---|
353 | /* 0 */
|
---|
354 | /* {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 4, 8, 8, 8, 10, 12, 14, 20},
|
---|
355 | {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2, 0, 0, 0, 0, 2, 4, 10},
|
---|
356 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},*/
|
---|
357 | {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 4, 8, 8, 8, 10, 12, 14, 20},
|
---|
358 | {-30,-30,-30,-30,-26,-22,-20,-14, -6, -2, 0, 0, 0, 0, 2, 3, 6},
|
---|
359 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
|
---|
360 | /* 1 */
|
---|
361 | {{{-12,-12,-12,-12,-12, -8, -6, -4, 0, 4, 4, 4, 4, 10, 12, 14, 20},
|
---|
362 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -4, -4, -2, -2, -2, -2, 2},
|
---|
363 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8,-10,-10, -8, -8, -8, -6, -4}}},
|
---|
364 | /* 2 */
|
---|
365 | {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16},
|
---|
366 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0},
|
---|
367 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
|
---|
368 | /* 3 */
|
---|
369 | {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 6, 8, 8, 14},
|
---|
370 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0},
|
---|
371 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
|
---|
372 | /* 4 */
|
---|
373 | {{{-16,-16,-16,-16,-16,-12,-10, -6, -2, 0, 0, 0, 0, 4, 6, 6, 12},
|
---|
374 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -4, -4, -4, -2, 0},
|
---|
375 | {-30,-30,-30,-30,-26,-22,-20,-14,-10,-10,-10,-10,-10,-10,-10, -8, -4}}},
|
---|
376 | /* 5 */
|
---|
377 | {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11},
|
---|
378 | {-32,-32,-32,-32,-28,-24,-22,-16,-10, -6, -8, -8, -6, -6, -6, -4, -2},
|
---|
379 | {-34,-34,-34,-34,-30,-26,-24,-18,-14,-12,-12,-12,-12,-12,-10, -9, -5}}},
|
---|
380 | /* 6
|
---|
381 | {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11},
|
---|
382 | {-34,-34,-34,-34,-30,-30,-24,-20,-12,-12,-14,-14,-10, -9, -8, -6, -4},
|
---|
383 | {-34,-34,-34,-34,-34,-30,-26,-20,-16,-15,-15,-15,-15,-15,-13,-12, -8}}},*/
|
---|
384 | {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 4, 6, 11},
|
---|
385 | {-34,-34,-34,-34,-30,-30,-30,-24,-16,-16,-16,-16,-16,-16,-14,-14,-12},
|
---|
386 | {-36,-36,-36,-36,-36,-34,-28,-24,-20,-20,-20,-20,-20,-20,-20,-18,-16}}},
|
---|
387 | /* 7 */
|
---|
388 | /* {{{-22,-22,-22,-22,-22,-20,-14,-10, -6, 0, 0, 0, 0, 4, 4, 6, 11},
|
---|
389 | {-34,-34,-34,-34,-30,-30,-24,-20,-14,-14,-16,-16,-14,-12,-10,-10,-10},
|
---|
390 | {-34,-34,-34,-34,-32,-32,-30,-24,-20,-19,-19,-19,-19,-19,-17,-16,-12}}},*/
|
---|
391 | {{{-22,-22,-22,-22,-22,-20,-14,-10, -6, 0, 0, 0, 0, 4, 4, 6, 11},
|
---|
392 | {-34,-34,-34,-34,-30,-30,-30,-30,-26,-26,-26,-26,-26,-26,-26,-24,-22},
|
---|
393 | {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-30,-24}}},
|
---|
394 | /* 8 */
|
---|
395 | /* {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1, 3, 3, 5, 10},
|
---|
396 | {-34,-34,-34,-34,-30,-30,-30,-24,-20,-20,-20,-20,-20,-18,-16,-16,-14},
|
---|
397 | {-36,-36,-36,-36,-36,-34,-28,-24,-24,-24,-24,-24,-24,-24,-24,-20,-16}}},*/
|
---|
398 | {{{-24,-24,-24,-24,-24,-22,-14,-10, -6, -1, -1, -1, -1, 3, 3, 5, 10},
|
---|
399 | {-34,-34,-34,-34,-34,-32,-32,-30,-26,-26,-26,-26,-26,-26,-26,-26,-24},
|
---|
400 | {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-30,-24}}},
|
---|
401 | /* 9 */
|
---|
402 | /* {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2},
|
---|
403 | {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-22,-20,-20,-18},
|
---|
404 | {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},*/
|
---|
405 | {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -4, -4, -4, -4, -4, -2, 2},
|
---|
406 | {-36,-36,-36,-36,-34,-32,-32,-30,-26,-26,-26,-26,-26,-26,-26,-26,-26},
|
---|
407 | {-40,-40,-40,-40,-40,-40,-40,-32,-30,-30,-30,-30,-30,-30,-30,-24,-20}}},
|
---|
408 | /* 10 */
|
---|
409 | {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-16,-16,-16,-16,-16,-14,-12},
|
---|
410 | {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-30,-30,-30,-30,-30,-30,-26},
|
---|
411 | {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
|
---|
412 | };
|
---|
413 |
|
---|
414 | /* noise bias (padding block) */
|
---|
415 | static const noise3 _psy_noisebias_padding[12]={
|
---|
416 | /* 63 125 250 500 1k 2k 4k 8k 16k*/
|
---|
417 |
|
---|
418 | /* -1 */
|
---|
419 | {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20},
|
---|
420 | {-30,-30,-30,-30,-26,-20,-16, -8, -6, -6, -2, 2, 2, 3, 6, 6, 15},
|
---|
421 | {-30,-30,-30,-30,-30,-24,-20,-14,-10, -6, -8, -8, -6, -6, -6, -4, -2}}},
|
---|
422 |
|
---|
423 | /* 0 */
|
---|
424 | {{{-10,-10,-10,-10,-10, -4, 0, 0, 4, 8, 8, 8, 8, 10, 12, 14, 20},
|
---|
425 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -2, 2, 3, 6, 6, 8, 10},
|
---|
426 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, -4, -4, -4, -4, -2, 0, 2}}},
|
---|
427 | /* 1 */
|
---|
428 | {{{-12,-12,-12,-12,-12, -8, -6, -4, 0, 4, 4, 4, 4, 10, 12, 14, 20},
|
---|
429 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, 0, 0, 0, 2, 2, 4, 8},
|
---|
430 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -6, -6, -6, -6, -4, -2, 0}}},
|
---|
431 | /* 2 */
|
---|
432 | /* {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16},
|
---|
433 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -4, 0, 0, 0, 2, 2, 4, 8},
|
---|
434 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},*/
|
---|
435 | {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 8, 10, 10, 16},
|
---|
436 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, 0, 0, 2, 6},
|
---|
437 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
|
---|
438 | /* 3 */
|
---|
439 | {{{-14,-14,-14,-14,-14,-10, -8, -6, -2, 2, 2, 2, 2, 6, 8, 8, 14},
|
---|
440 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, 0, 0, 2, 6},
|
---|
441 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
|
---|
442 | /* 4 */
|
---|
443 | {{{-16,-16,-16,-16,-16,-12,-10, -6, -2, 0, 0, 0, 0, 4, 6, 6, 12},
|
---|
444 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -6, -1, -1, -1, -1, 0, 2, 6},
|
---|
445 | {-30,-30,-30,-30,-26,-22,-20,-14,-10, -8, -8, -8, -8, -8, -6, -4, -2}}},
|
---|
446 | /* 5 */
|
---|
447 | {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12},
|
---|
448 | {-32,-32,-32,-32,-28,-24,-22,-16,-12, -6, -3, -3, -3, -3, -2, 0, 4},
|
---|
449 | {-34,-34,-34,-34,-30,-26,-24,-18,-14,-10,-10,-10,-10,-10, -8, -5, -3}}},
|
---|
450 | /* 6 */
|
---|
451 | {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12},
|
---|
452 | {-34,-34,-34,-34,-30,-30,-24,-20,-14, -8, -4, -4, -4, -4, -3, -1, 4},
|
---|
453 | {-34,-34,-34,-34,-34,-30,-26,-20,-16,-13,-13,-13,-13,-13,-11, -8, -6}}},
|
---|
454 | /* 7 */
|
---|
455 | {{{-20,-20,-20,-20,-20,-18,-14,-10, -4, 0, 0, 0, 0, 4, 6, 6, 12},
|
---|
456 | {-34,-34,-34,-34,-30,-30,-30,-24,-16,-10, -8, -6, -6, -6, -5, -3, 1},
|
---|
457 | {-34,-34,-34,-34,-32,-32,-28,-22,-18,-16,-16,-16,-16,-16,-14,-12,-10}}},
|
---|
458 | /* 8 */
|
---|
459 | {{{-22,-22,-22,-22,-22,-20,-14,-10, -4, 0, 0, 0, 0, 3, 5, 5, 11},
|
---|
460 | {-34,-34,-34,-34,-30,-30,-30,-24,-16,-12,-10, -8, -8, -8, -7, -5, -2},
|
---|
461 | {-36,-36,-36,-36,-36,-34,-28,-22,-20,-20,-20,-20,-20,-20,-20,-16,-14}}},
|
---|
462 | /* 9 */
|
---|
463 | {{{-28,-28,-28,-28,-28,-28,-28,-20,-14, -8, -2, -2, -2, -2, 0, 2, 6},
|
---|
464 | {-36,-36,-36,-36,-34,-32,-32,-24,-16,-12,-12,-12,-12,-12,-10, -8, -5},
|
---|
465 | {-40,-40,-40,-40,-40,-40,-40,-32,-26,-24,-24,-24,-24,-24,-24,-20,-18}}},
|
---|
466 | /* 10 */
|
---|
467 | {{{-30,-30,-30,-30,-30,-26,-24,-24,-24,-20,-12,-12,-12,-12,-12,-10, -8},
|
---|
468 | {-40,-40,-40,-40,-40,-40,-40,-40,-35,-30,-25,-25,-25,-25,-25,-25,-15},
|
---|
469 | {-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40}}},
|
---|
470 | };
|
---|
471 |
|
---|
472 |
|
---|
473 | static const noiseguard _psy_noiseguards_44[4]={
|
---|
474 | {3,3,15},
|
---|
475 | {3,3,15},
|
---|
476 | {10,10,100},
|
---|
477 | {10,10,100},
|
---|
478 | };
|
---|
479 |
|
---|
480 | static const int _psy_tone_suppress[12]={
|
---|
481 | -20,-20,-20,-20,-20,-24,-30,-40,-40,-45,-45,-45,
|
---|
482 | };
|
---|
483 | static const int _psy_tone_0dB[12]={
|
---|
484 | 90,90,95,95,95,95,105,105,105,105,105,105,
|
---|
485 | };
|
---|
486 | static const int _psy_noise_suppress[12]={
|
---|
487 | -20,-20,-24,-24,-24,-24,-30,-40,-40,-45,-45,-45,
|
---|
488 | };
|
---|
489 |
|
---|
490 | static const vorbis_info_psy _psy_info_template={
|
---|
491 | /* blockflag */
|
---|
492 | -1,
|
---|
493 | /* ath_adjatt, ath_maxatt */
|
---|
494 | -140.,-140.,
|
---|
495 | /* tonemask att boost/decay,suppr,curves */
|
---|
496 | {0.f,0.f,0.f}, 0.,0., -40.f, {0.},
|
---|
497 |
|
---|
498 | /*noisemaskp,supp, low/high window, low/hi guard, minimum */
|
---|
499 | 1, -0.f, .5f, .5f, 0,0,0,
|
---|
500 | /* noiseoffset*3, noisecompand, max_curve_dB */
|
---|
501 | {{-1},{-1},{-1}},{-1},105.f,
|
---|
502 | /* noise normalization - noise_p, start, partition, thresh. */
|
---|
503 | 0,-1,-1,0.,
|
---|
504 | };
|
---|
505 |
|
---|
506 | /* ath ****************/
|
---|
507 |
|
---|
508 | static const int _psy_ath_floater[12]={
|
---|
509 | -100,-100,-100,-100,-100,-100,-105,-105,-105,-105,-110,-120,
|
---|
510 | };
|
---|
511 | static const int _psy_ath_abs[12]={
|
---|
512 | -130,-130,-130,-130,-140,-140,-140,-140,-140,-140,-140,-150,
|
---|
513 | };
|
---|
514 |
|
---|
515 | /* stereo setup. These don't map directly to quality level, there's
|
---|
516 | an additional indirection as several of the below may be used in a
|
---|
517 | single bitmanaged stream
|
---|
518 |
|
---|
519 | ****************/
|
---|
520 |
|
---|
521 | /* various stereo possibilities */
|
---|
522 |
|
---|
523 | /* stereo mode by base quality level */
|
---|
524 | static const adj_stereo _psy_stereo_modes_44[12]={
|
---|
525 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -1 */
|
---|
526 | {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 0, 0, 0, 0},
|
---|
527 | { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 4, 3},
|
---|
528 | { 1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 8, 8},
|
---|
529 | { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
530 |
|
---|
531 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 */
|
---|
532 | {{ 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0},
|
---|
533 | { 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3},
|
---|
534 | { 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8},
|
---|
535 | { 12,12.5, 13,13.5, 14,14.5, 15, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
536 |
|
---|
537 |
|
---|
538 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 */
|
---|
539 | {{ 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0},
|
---|
540 | { 8, 8, 8, 8, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 3},
|
---|
541 | { 1, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8},
|
---|
542 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
543 |
|
---|
544 |
|
---|
545 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 */
|
---|
546 | {{ 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0},
|
---|
547 | { 8, 8, 6, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 2, 1},
|
---|
548 | { 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8},
|
---|
549 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
550 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 */
|
---|
551 | {{ 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},
|
---|
552 | { 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1},
|
---|
553 | { 4, 4, 5, 6, 6, 6, 6, 6, 8, 8, 10, 10, 10, 10, 10},
|
---|
554 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
555 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 */
|
---|
556 | {{ 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
557 | { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 0},
|
---|
558 | { 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10},
|
---|
559 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
560 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 */
|
---|
561 | {{ 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
562 | { 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0},
|
---|
563 | { 6, 7, 8, 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12},
|
---|
564 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
565 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 */
|
---|
566 | {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
567 | { 3, 3, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
568 | { 8, 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
|
---|
569 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
570 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 */
|
---|
571 | {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
572 | { 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
573 | { 8, 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
|
---|
574 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
575 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 */
|
---|
576 | {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
577 | { 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
578 | { 8, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12},
|
---|
579 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
580 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 */
|
---|
581 | {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
582 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
583 | { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
---|
584 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
585 | /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 10 */
|
---|
586 | {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
587 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
---|
588 | { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
---|
589 | { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99}},
|
---|
590 | };
|
---|
591 |
|
---|
592 | /* tone master attenuation by base quality mode and bitrate tweak */
|
---|
593 | static const att3 _psy_tone_masteratt_44[12]={
|
---|
594 | {{ 35, 21, 9}, 0, 0}, /* -1 */
|
---|
595 | {{ 30, 20, 8}, -2, 1.25}, /* 0 */
|
---|
596 | /* {{ 25, 14, 4}, 0, 0}, *//* 1 */
|
---|
597 | {{ 25, 12, 2}, 0, 0}, /* 1 */
|
---|
598 | /* {{ 20, 10, -2}, 0, 0}, *//* 2 */
|
---|
599 | {{ 20, 9, -3}, 0, 0}, /* 2 */
|
---|
600 | {{ 20, 9, -4}, 0, 0}, /* 3 */
|
---|
601 | {{ 20, 9, -4}, 0, 0}, /* 4 */
|
---|
602 | {{ 20, 6, -6}, 0, 0}, /* 5 */
|
---|
603 | {{ 20, 3, -10}, 0, 0}, /* 6 */
|
---|
604 | {{ 18, 1, -14}, 0, 0}, /* 7 */
|
---|
605 | {{ 18, 0, -16}, 0, 0}, /* 8 */
|
---|
606 | {{ 18, -2, -16}, 0, 0}, /* 9 */
|
---|
607 | {{ 12, -2, -20}, 0, 0}, /* 10 */
|
---|
608 | };
|
---|
609 |
|
---|
610 | /* lowpass by mode **************/
|
---|
611 | static const double _psy_lowpass_44[12]={
|
---|
612 | /* 15.1,15.8,16.5,17.9,20.5,48.,999.,999.,999.,999.,999. */
|
---|
613 | 13.9,15.1,15.8,16.5,17.2,18.9,20.1,48.,999.,999.,999.,999.
|
---|
614 | };
|
---|
615 |
|
---|
616 | /* noise normalization **********/
|
---|
617 |
|
---|
618 | static const int _noise_start_short_44[11]={
|
---|
619 | /* 16,16,16,16,32,32,9999,9999,9999,9999 */
|
---|
620 | 32,16,16,16,32,9999,9999,9999,9999,9999,9999
|
---|
621 | };
|
---|
622 | static const int _noise_start_long_44[11]={
|
---|
623 | /* 128,128,128,256,512,512,9999,9999,9999,9999 */
|
---|
624 | 256,128,128,256,512,9999,9999,9999,9999,9999,9999
|
---|
625 | };
|
---|
626 |
|
---|
627 | static const int _noise_part_short_44[11]={
|
---|
628 | 8,8,8,8,8,8,8,8,8,8,8
|
---|
629 | };
|
---|
630 | static const int _noise_part_long_44[11]={
|
---|
631 | 32,32,32,32,32,32,32,32,32,32,32
|
---|
632 | };
|
---|
633 |
|
---|
634 | static const double _noise_thresh_44[11]={
|
---|
635 | /* .2,.2,.3,.4,.5,.5,9999.,9999.,9999.,9999., */
|
---|
636 | .2,.2,.2,.4,.6,9999.,9999.,9999.,9999.,9999.,9999.,
|
---|
637 | };
|
---|
638 |
|
---|
639 | static const double _noise_thresh_5only[2]={
|
---|
640 | .5,.5,
|
---|
641 | };
|
---|