Go to the documentation of this file.
32 #ifndef AVCODEC_SBCDSP_DATA_H
33 #define AVCODEC_SBCDSP_DATA_H
41 #define SBC_PROTO_FIXED_SCALE 16
42 #define SBC_COS_TABLE_FIXED_SCALE 15
44 #define F_PROTO(x) ((int32_t) (((x) * 2) * ((int32_t) 1 << 15) + 0.5))
45 #define F_COS(x) ((int32_t) (((x) ) * ((int32_t) 1 << 15) + 0.5))
58 #define C0 1.0932568993
59 #define C1 1.3056875580
60 #define C2 1.3056875580
61 #define C3 1.6772280856
63 #define F(x) F_PROTO(x)
64 F(0.00000000
E+00 *
C0),
F(3.83720193
E-03 *
C0),
65 F(5.36548976
E-04 *
C1),
F(2.73370904
E-03 *
C1),
66 F(3.06012286
E-03 *
C2),
F(3.89205149
E-03 *
C2),
67 F(0.00000000
E+00 *
C3), -
F(1.49188357
E-03 *
C3),
68 F(1.09137620
E-02 *
C0),
F(2.58767811
E-02 *
C0),
69 F(2.04385087
E-02 *
C1),
F(3.21939290
E-02 *
C1),
70 F(7.76463494
E-02 *
C2),
F(6.13245186
E-03 *
C2),
71 F(0.00000000
E+00 *
C3), -
F(2.88757392
E-02 *
C3),
72 F(1.35593274
E-01 *
C0),
F(2.94315332
E-01 *
C0),
73 F(1.94987841
E-01 *
C1),
F(2.81828203
E-01 *
C1),
74 -
F(1.94987841
E-01 *
C2),
F(2.81828203
E-01 *
C2),
75 F(0.00000000
E+00 *
C3), -
F(2.46636662
E-01 *
C3),
76 -
F(1.35593274
E-01 *
C0),
F(2.58767811
E-02 *
C0),
77 -
F(7.76463494
E-02 *
C1),
F(6.13245186
E-03 *
C1),
78 -
F(2.04385087
E-02 *
C2),
F(3.21939290
E-02 *
C2),
79 F(0.00000000
E+00 *
C3),
F(2.88217274
E-02 *
C3),
80 -
F(1.09137620
E-02 *
C0),
F(3.83720193
E-03 *
C0),
81 -
F(3.06012286
E-03 *
C1),
F(3.89205149
E-03 *
C1),
82 -
F(5.36548976
E-04 *
C2),
F(2.73370904
E-03 *
C2),
83 F(0.00000000
E+00 *
C3), -
F(1.86581691
E-03 *
C3),
86 F(0.7071067812 /
C0),
F(0.9238795325 /
C1),
87 -
F(0.7071067812 /
C0),
F(0.3826834324 /
C1),
88 -
F(0.7071067812 /
C0), -
F(0.3826834324 /
C1),
89 F(0.7071067812 /
C0), -
F(0.9238795325 /
C1),
90 F(0.3826834324 /
C2), -
F(1.0000000000 /
C3),
91 -
F(0.9238795325 /
C2), -
F(1.0000000000 /
C3),
92 F(0.9238795325 /
C2), -
F(1.0000000000 /
C3),
93 -
F(0.3826834324 /
C2), -
F(1.0000000000 /
C3),
103 #define C0 1.3056875580
104 #define C1 1.6772280856
105 #define C2 1.0932568993
106 #define C3 1.3056875580
108 #define F(x) F_PROTO(x)
109 F(2.73370904
E-03 *
C0),
F(5.36548976
E-04 *
C0),
110 -
F(1.49188357
E-03 *
C1),
F(0.00000000
E+00 *
C1),
111 F(3.83720193
E-03 *
C2),
F(1.09137620
E-02 *
C2),
112 F(3.89205149
E-03 *
C3),
F(3.06012286
E-03 *
C3),
113 F(3.21939290
E-02 *
C0),
F(2.04385087
E-02 *
C0),
114 -
F(2.88757392
E-02 *
C1),
F(0.00000000
E+00 *
C1),
115 F(2.58767811
E-02 *
C2),
F(1.35593274
E-01 *
C2),
116 F(6.13245186
E-03 *
C3),
F(7.76463494
E-02 *
C3),
117 F(2.81828203
E-01 *
C0),
F(1.94987841
E-01 *
C0),
118 -
F(2.46636662
E-01 *
C1),
F(0.00000000
E+00 *
C1),
119 F(2.94315332
E-01 *
C2), -
F(1.35593274
E-01 *
C2),
120 F(2.81828203
E-01 *
C3), -
F(1.94987841
E-01 *
C3),
121 F(6.13245186
E-03 *
C0), -
F(7.76463494
E-02 *
C0),
122 F(2.88217274
E-02 *
C1),
F(0.00000000
E+00 *
C1),
123 F(2.58767811
E-02 *
C2), -
F(1.09137620
E-02 *
C2),
124 F(3.21939290
E-02 *
C3), -
F(2.04385087
E-02 *
C3),
125 F(3.89205149
E-03 *
C0), -
F(3.06012286
E-03 *
C0),
126 -
F(1.86581691
E-03 *
C1),
F(0.00000000
E+00 *
C1),
127 F(3.83720193
E-03 *
C2),
F(0.00000000
E+00 *
C2),
128 F(2.73370904
E-03 *
C3), -
F(5.36548976
E-04 *
C3),
130 #define F(x) F_COS(x)
131 F(0.9238795325 /
C0), -
F(1.0000000000 /
C1),
132 F(0.3826834324 /
C0), -
F(1.0000000000 /
C1),
133 -
F(0.3826834324 /
C0), -
F(1.0000000000 /
C1),
134 -
F(0.9238795325 /
C0), -
F(1.0000000000 /
C1),
135 F(0.7071067812 /
C2),
F(0.3826834324 /
C3),
136 -
F(0.7071067812 /
C2), -
F(0.9238795325 /
C3),
137 -
F(0.7071067812 /
C2),
F(0.9238795325 /
C3),
138 F(0.7071067812 /
C2), -
F(0.3826834324 /
C3),
148 #define C0 2.7906148894
149 #define C1 2.4270044280
150 #define C2 2.8015616024
151 #define C3 3.1710363741
152 #define C4 2.5377944043
153 #define C5 2.4270044280
154 #define C6 2.8015616024
155 #define C7 3.1710363741
157 #define F(x) F_PROTO(x)
158 F(0.00000000
E+00 *
C0),
F(2.01182542
E-03 *
C0),
159 F(1.56575398
E-04 *
C1),
F(1.78371725
E-03 *
C1),
160 F(3.43256425
E-04 *
C2),
F(1.47640169
E-03 *
C2),
161 F(5.54620202
E-04 *
C3),
F(1.13992507
E-03 *
C3),
162 -
F(8.23919506
E-04 *
C4),
F(0.00000000
E+00 *
C4),
163 F(2.10371989
E-03 *
C5),
F(3.49717454
E-03 *
C5),
164 F(1.99454554
E-03 *
C6),
F(1.64973098
E-03 *
C6),
165 F(1.61656283
E-03 *
C7),
F(1.78805361
E-04 *
C7),
166 F(5.65949473
E-03 *
C0),
F(1.29371806
E-02 *
C0),
167 F(8.02941163
E-03 *
C1),
F(1.53184106
E-02 *
C1),
168 F(1.04584443
E-02 *
C2),
F(1.62208471
E-02 *
C2),
169 F(1.27472335
E-02 *
C3),
F(1.59045603
E-02 *
C3),
170 -
F(1.46525263
E-02 *
C4),
F(0.00000000
E+00 *
C4),
171 F(8.85757540
E-03 *
C5),
F(5.31873032
E-02 *
C5),
172 F(2.92408442
E-03 *
C6),
F(3.90751381
E-02 *
C6),
173 -
F(4.91578024
E-03 *
C7),
F(2.61098752
E-02 *
C7),
174 F(6.79989431
E-02 *
C0),
F(1.46955068
E-01 *
C0),
175 F(8.29847578
E-02 *
C1),
F(1.45389847
E-01 *
C1),
176 F(9.75753918
E-02 *
C2),
F(1.40753505
E-01 *
C2),
177 F(1.11196689
E-01 *
C3),
F(1.33264415
E-01 *
C3),
178 -
F(1.23264548
E-01 *
C4),
F(0.00000000
E+00 *
C4),
179 F(1.45389847
E-01 *
C5), -
F(8.29847578
E-02 *
C5),
180 F(1.40753505
E-01 *
C6), -
F(9.75753918
E-02 *
C6),
181 F(1.33264415
E-01 *
C7), -
F(1.11196689
E-01 *
C7),
182 -
F(6.79989431
E-02 *
C0),
F(1.29371806
E-02 *
C0),
183 -
F(5.31873032
E-02 *
C1),
F(8.85757540
E-03 *
C1),
184 -
F(3.90751381
E-02 *
C2),
F(2.92408442
E-03 *
C2),
185 -
F(2.61098752
E-02 *
C3), -
F(4.91578024
E-03 *
C3),
186 F(1.46404076
E-02 *
C4),
F(0.00000000
E+00 *
C4),
187 F(1.53184106
E-02 *
C5), -
F(8.02941163
E-03 *
C5),
188 F(1.62208471
E-02 *
C6), -
F(1.04584443
E-02 *
C6),
189 F(1.59045603
E-02 *
C7), -
F(1.27472335
E-02 *
C7),
190 -
F(5.65949473
E-03 *
C0),
F(2.01182542
E-03 *
C0),
191 -
F(3.49717454
E-03 *
C1),
F(2.10371989
E-03 *
C1),
192 -
F(1.64973098
E-03 *
C2),
F(1.99454554
E-03 *
C2),
193 -
F(1.78805361
E-04 *
C3),
F(1.61656283
E-03 *
C3),
194 -
F(9.02154502
E-04 *
C4),
F(0.00000000
E+00 *
C4),
195 F(1.78371725
E-03 *
C5), -
F(1.56575398
E-04 *
C5),
196 F(1.47640169
E-03 *
C6), -
F(3.43256425
E-04 *
C6),
197 F(1.13992507
E-03 *
C7), -
F(5.54620202
E-04 *
C7),
199 #define F(x) F_COS(x)
200 F(0.7071067812 /
C0),
F(0.8314696123 /
C1),
201 -
F(0.7071067812 /
C0), -
F(0.1950903220 /
C1),
202 -
F(0.7071067812 /
C0), -
F(0.9807852804 /
C1),
203 F(0.7071067812 /
C0), -
F(0.5555702330 /
C1),
204 F(0.7071067812 /
C0),
F(0.5555702330 /
C1),
205 -
F(0.7071067812 /
C0),
F(0.9807852804 /
C1),
206 -
F(0.7071067812 /
C0),
F(0.1950903220 /
C1),
207 F(0.7071067812 /
C0), -
F(0.8314696123 /
C1),
208 F(0.9238795325 /
C2),
F(0.9807852804 /
C3),
209 F(0.3826834324 /
C2),
F(0.8314696123 /
C3),
210 -
F(0.3826834324 /
C2),
F(0.5555702330 /
C3),
211 -
F(0.9238795325 /
C2),
F(0.1950903220 /
C3),
212 -
F(0.9238795325 /
C2), -
F(0.1950903220 /
C3),
213 -
F(0.3826834324 /
C2), -
F(0.5555702330 /
C3),
214 F(0.3826834324 /
C2), -
F(0.8314696123 /
C3),
215 F(0.9238795325 /
C2), -
F(0.9807852804 /
C3),
216 -
F(1.0000000000 /
C4),
F(0.5555702330 /
C5),
217 -
F(1.0000000000 /
C4), -
F(0.9807852804 /
C5),
218 -
F(1.0000000000 /
C4),
F(0.1950903220 /
C5),
219 -
F(1.0000000000 /
C4),
F(0.8314696123 /
C5),
220 -
F(1.0000000000 /
C4), -
F(0.8314696123 /
C5),
221 -
F(1.0000000000 /
C4), -
F(0.1950903220 /
C5),
222 -
F(1.0000000000 /
C4),
F(0.9807852804 /
C5),
223 -
F(1.0000000000 /
C4), -
F(0.5555702330 /
C5),
224 F(0.3826834324 /
C6),
F(0.1950903220 /
C7),
225 -
F(0.9238795325 /
C6), -
F(0.5555702330 /
C7),
226 F(0.9238795325 /
C6),
F(0.8314696123 /
C7),
227 -
F(0.3826834324 /
C6), -
F(0.9807852804 /
C7),
228 -
F(0.3826834324 /
C6),
F(0.9807852804 /
C7),
229 F(0.9238795325 /
C6), -
F(0.8314696123 /
C7),
230 -
F(0.9238795325 /
C6),
F(0.5555702330 /
C7),
231 F(0.3826834324 /
C6), -
F(0.1950903220 /
C7),
245 #define C0 2.5377944043
246 #define C1 2.4270044280
247 #define C2 2.8015616024
248 #define C3 3.1710363741
249 #define C4 2.7906148894
250 #define C5 2.4270044280
251 #define C6 2.8015616024
252 #define C7 3.1710363741
254 #define F(x) F_PROTO(x)
255 F(0.00000000
E+00 *
C0), -
F(8.23919506
E-04 *
C0),
256 F(1.56575398
E-04 *
C1),
F(1.78371725
E-03 *
C1),
257 F(3.43256425
E-04 *
C2),
F(1.47640169
E-03 *
C2),
258 F(5.54620202
E-04 *
C3),
F(1.13992507
E-03 *
C3),
259 F(2.01182542
E-03 *
C4),
F(5.65949473
E-03 *
C4),
260 F(2.10371989
E-03 *
C5),
F(3.49717454
E-03 *
C5),
261 F(1.99454554
E-03 *
C6),
F(1.64973098
E-03 *
C6),
262 F(1.61656283
E-03 *
C7),
F(1.78805361
E-04 *
C7),
263 F(0.00000000
E+00 *
C0), -
F(1.46525263
E-02 *
C0),
264 F(8.02941163
E-03 *
C1),
F(1.53184106
E-02 *
C1),
265 F(1.04584443
E-02 *
C2),
F(1.62208471
E-02 *
C2),
266 F(1.27472335
E-02 *
C3),
F(1.59045603
E-02 *
C3),
267 F(1.29371806
E-02 *
C4),
F(6.79989431
E-02 *
C4),
268 F(8.85757540
E-03 *
C5),
F(5.31873032
E-02 *
C5),
269 F(2.92408442
E-03 *
C6),
F(3.90751381
E-02 *
C6),
270 -
F(4.91578024
E-03 *
C7),
F(2.61098752
E-02 *
C7),
271 F(0.00000000
E+00 *
C0), -
F(1.23264548
E-01 *
C0),
272 F(8.29847578
E-02 *
C1),
F(1.45389847
E-01 *
C1),
273 F(9.75753918
E-02 *
C2),
F(1.40753505
E-01 *
C2),
274 F(1.11196689
E-01 *
C3),
F(1.33264415
E-01 *
C3),
275 F(1.46955068
E-01 *
C4), -
F(6.79989431
E-02 *
C4),
276 F(1.45389847
E-01 *
C5), -
F(8.29847578
E-02 *
C5),
277 F(1.40753505
E-01 *
C6), -
F(9.75753918
E-02 *
C6),
278 F(1.33264415
E-01 *
C7), -
F(1.11196689
E-01 *
C7),
279 F(0.00000000
E+00 *
C0),
F(1.46404076
E-02 *
C0),
280 -
F(5.31873032
E-02 *
C1),
F(8.85757540
E-03 *
C1),
281 -
F(3.90751381
E-02 *
C2),
F(2.92408442
E-03 *
C2),
282 -
F(2.61098752
E-02 *
C3), -
F(4.91578024
E-03 *
C3),
283 F(1.29371806
E-02 *
C4), -
F(5.65949473
E-03 *
C4),
284 F(1.53184106
E-02 *
C5), -
F(8.02941163
E-03 *
C5),
285 F(1.62208471
E-02 *
C6), -
F(1.04584443
E-02 *
C6),
286 F(1.59045603
E-02 *
C7), -
F(1.27472335
E-02 *
C7),
287 F(0.00000000
E+00 *
C0), -
F(9.02154502
E-04 *
C0),
288 -
F(3.49717454
E-03 *
C1),
F(2.10371989
E-03 *
C1),
289 -
F(1.64973098
E-03 *
C2),
F(1.99454554
E-03 *
C2),
290 -
F(1.78805361
E-04 *
C3),
F(1.61656283
E-03 *
C3),
291 F(2.01182542
E-03 *
C4),
F(0.00000000
E+00 *
C4),
292 F(1.78371725
E-03 *
C5), -
F(1.56575398
E-04 *
C5),
293 F(1.47640169
E-03 *
C6), -
F(3.43256425
E-04 *
C6),
294 F(1.13992507
E-03 *
C7), -
F(5.54620202
E-04 *
C7),
296 #define F(x) F_COS(x)
297 -
F(1.0000000000 /
C0),
F(0.8314696123 /
C1),
298 -
F(1.0000000000 /
C0), -
F(0.1950903220 /
C1),
299 -
F(1.0000000000 /
C0), -
F(0.9807852804 /
C1),
300 -
F(1.0000000000 /
C0), -
F(0.5555702330 /
C1),
301 -
F(1.0000000000 /
C0),
F(0.5555702330 /
C1),
302 -
F(1.0000000000 /
C0),
F(0.9807852804 /
C1),
303 -
F(1.0000000000 /
C0),
F(0.1950903220 /
C1),
304 -
F(1.0000000000 /
C0), -
F(0.8314696123 /
C1),
305 F(0.9238795325 /
C2),
F(0.9807852804 /
C3),
306 F(0.3826834324 /
C2),
F(0.8314696123 /
C3),
307 -
F(0.3826834324 /
C2),
F(0.5555702330 /
C3),
308 -
F(0.9238795325 /
C2),
F(0.1950903220 /
C3),
309 -
F(0.9238795325 /
C2), -
F(0.1950903220 /
C3),
310 -
F(0.3826834324 /
C2), -
F(0.5555702330 /
C3),
311 F(0.3826834324 /
C2), -
F(0.8314696123 /
C3),
312 F(0.9238795325 /
C2), -
F(0.9807852804 /
C3),
313 F(0.7071067812 /
C4),
F(0.5555702330 /
C5),
314 -
F(0.7071067812 /
C4), -
F(0.9807852804 /
C5),
315 -
F(0.7071067812 /
C4),
F(0.1950903220 /
C5),
316 F(0.7071067812 /
C4),
F(0.8314696123 /
C5),
317 F(0.7071067812 /
C4), -
F(0.8314696123 /
C5),
318 -
F(0.7071067812 /
C4), -
F(0.1950903220 /
C5),
319 -
F(0.7071067812 /
C4),
F(0.9807852804 /
C5),
320 F(0.7071067812 /
C4), -
F(0.5555702330 /
C5),
321 F(0.3826834324 /
C6),
F(0.1950903220 /
C7),
322 -
F(0.9238795325 /
C6), -
F(0.5555702330 /
C7),
323 F(0.9238795325 /
C6),
F(0.8314696123 /
C7),
324 -
F(0.3826834324 /
C6), -
F(0.9807852804 /
C7),
325 -
F(0.3826834324 /
C6),
F(0.9807852804 /
C7),
326 F(0.9238795325 /
C6), -
F(0.8314696123 /
C7),
327 -
F(0.9238795325 /
C6),
F(0.5555702330 /
C7),
328 F(0.3826834324 /
C6), -
F(0.1950903220 /
C7),
static const int16_t sbcdsp_analysis_consts_fixed8_simd_even[80+64]
#define DECLARE_ALIGNED(n, t, v)
static const int16_t sbcdsp_analysis_consts_fixed4_simd_odd[40+16]
static const int16_t sbcdsp_analysis_consts_fixed4_simd_even[40+16]
static const int16_t sbcdsp_analysis_consts_fixed8_simd_odd[80+64]