1 /*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 */
18
20
23
25
26 #define randomize(buf, len) do { \
27 int i; \
28 for (i = 0; i < len; i++) { \
29 const INTFLOAT f = (INTFLOAT)rnd() / UINT_MAX; \
30 (buf)[i] = f; \
31 } \
32 } while (0)
33
35
37 {
40
42
44 memcpy(dst1, dst0, (64 + 256) *
sizeof(
INTFLOAT));
50 }
51
53 {
57 double t = 4 * 256;
58
60
67 }
68
70 {
73
75
77 memcpy(dst1, dst0, (64) *
sizeof(
INTFLOAT));
83 }
84
86 {
89
91
93 memcpy(dst1, dst0, (128) *
sizeof(
INTFLOAT));
99 }
100
102 {
106
108
115 }
116
118 {
122
124
131 }
132
134 {
139
141
142 memset(dst0, 0, 128 *
sizeof(
INTFLOAT));
143 memset(dst1, 0, 128 *
sizeof(
INTFLOAT));
144
152 }
153
155 {
159
161
162 memset(dst0, 0, 3 * 2 * 2 *
sizeof(
INTFLOAT));
163 memset(dst1, 0, 3 * 2 * 2 *
sizeof(
INTFLOAT));
164
171 }
172
174 {
182
186
190 for (
i = 2;
i < 64;
i += 2) {
191 memset(dst0, 0, 128 * 2 *
sizeof(
INTFLOAT));
192 memset(dst1, 0, 128 * 2 *
sizeof(
INTFLOAT));
193 call_ref(dst0, low, alpha0, alpha1, 0.0,
i, 128);
194 call_new(dst1, low, alpha0, alpha1, 0.0,
i, 128);
197 bench_new(dst1, low, alpha0, alpha1, bw,
i, 128);
198 }
199 }
200
202 {
207
209 const INTFLOAT *g_filt,
int m_max, intptr_t ixh);
210
213
214 call_ref(dst0, high, g_filt, 128, 20);
215 call_new(dst1, high, g_filt, 128, 20);
219 }
220
222 {
230
233 int kx, int m_max);
234
238
239 for (
i = 0;
i < 4;
i++) {
241 for (j = 0; j < 2; j++) {
249 }
250 }
251 }
252 }
253
255 {
257
259
263
267
271
274 report(
"qmf_pre_shuffle");
275
278 report(
"qmf_post_shuffle");
279
283
287
291
295
299
302 }