Mercurial > libavcodec.hg
comparison fft-test.c @ 969:d12d0c93d1e2 libavcodec
compile fixes
author | bellard |
---|---|
date | Tue, 07 Jan 2003 17:43:50 +0000 |
parents | 6f5e87957bcb |
children | 0c32f81b42b2 |
comparison
equal
deleted
inserted
replaced
968:64f1a11b5f86 | 969:d12d0c93d1e2 |
---|---|
3 #include <math.h> | 3 #include <math.h> |
4 #include <getopt.h> | 4 #include <getopt.h> |
5 #include <sys/time.h> | 5 #include <sys/time.h> |
6 | 6 |
7 int mm_flags; | 7 int mm_flags; |
8 | |
9 void *av_malloc(int size) | |
10 { | |
11 void *ptr; | |
12 ptr = malloc(size); | |
13 return ptr; | |
14 } | |
15 | |
16 void av_free(void *ptr) | |
17 { | |
18 /* XXX: this test should not be needed on most libcs */ | |
19 if (ptr) | |
20 free(ptr); | |
21 } | |
22 | |
23 /* cannot call it directly because of 'void **' casting is not automatic */ | |
24 void __av_freep(void **ptr) | |
25 { | |
26 av_free(*ptr); | |
27 *ptr = NULL; | |
28 } | |
29 | 8 |
30 /* reference fft */ | 9 /* reference fft */ |
31 | 10 |
32 #define MUL16(a,b) ((a) * (b)) | 11 #define MUL16(a,b) ((a) * (b)) |
33 | 12 |
207 if (do_mdct) { | 186 if (do_mdct) { |
208 if (do_inverse) | 187 if (do_inverse) |
209 printf("IMDCT"); | 188 printf("IMDCT"); |
210 else | 189 else |
211 printf("MDCT"); | 190 printf("MDCT"); |
212 mdct_init(m, fft_nbits, do_inverse); | 191 ff_mdct_init(m, fft_nbits, do_inverse); |
213 } else { | 192 } else { |
214 if (do_inverse) | 193 if (do_inverse) |
215 printf("IFFT"); | 194 printf("IFFT"); |
216 else | 195 else |
217 printf("FFT"); | 196 printf("FFT"); |
231 printf("Checking...\n"); | 210 printf("Checking...\n"); |
232 | 211 |
233 if (do_mdct) { | 212 if (do_mdct) { |
234 if (do_inverse) { | 213 if (do_inverse) { |
235 imdct_ref((float *)tab_ref, (float *)tab1, fft_size); | 214 imdct_ref((float *)tab_ref, (float *)tab1, fft_size); |
236 imdct_calc(m, tab2, (float *)tab1, tabtmp); | 215 ff_imdct_calc(m, tab2, (float *)tab1, tabtmp); |
237 check_diff((float *)tab_ref, tab2, fft_size); | 216 check_diff((float *)tab_ref, tab2, fft_size); |
238 } else { | 217 } else { |
239 mdct_ref((float *)tab_ref, (float *)tab1, fft_size); | 218 mdct_ref((float *)tab_ref, (float *)tab1, fft_size); |
240 | 219 |
241 mdct_calc(m, tab2, (float *)tab1, tabtmp); | 220 ff_mdct_calc(m, tab2, (float *)tab1, tabtmp); |
242 | 221 |
243 check_diff((float *)tab_ref, tab2, fft_size / 2); | 222 check_diff((float *)tab_ref, tab2, fft_size / 2); |
244 } | 223 } |
245 } else { | 224 } else { |
246 memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); | 225 memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); |
263 for(;;) { | 242 for(;;) { |
264 time_start = gettime(); | 243 time_start = gettime(); |
265 for(it=0;it<nb_its;it++) { | 244 for(it=0;it<nb_its;it++) { |
266 if (do_mdct) { | 245 if (do_mdct) { |
267 if (do_inverse) { | 246 if (do_inverse) { |
268 imdct_calc(m, (float *)tab, (float *)tab1, tabtmp); | 247 ff_imdct_calc(m, (float *)tab, (float *)tab1, tabtmp); |
269 } else { | 248 } else { |
270 mdct_calc(m, (float *)tab, (float *)tab1, tabtmp); | 249 ff_mdct_calc(m, (float *)tab, (float *)tab1, tabtmp); |
271 } | 250 } |
272 } else { | 251 } else { |
273 memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); | 252 memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); |
274 fft_calc(s, tab); | 253 fft_calc(s, tab); |
275 } | 254 } |
284 (double)duration / 1000000.0, | 263 (double)duration / 1000000.0, |
285 nb_its); | 264 nb_its); |
286 } | 265 } |
287 | 266 |
288 if (do_mdct) { | 267 if (do_mdct) { |
289 mdct_end(m); | 268 ff_mdct_end(m); |
290 } else { | 269 } else { |
291 fft_end(s); | 270 fft_end(s); |
292 } | 271 } |
293 return 0; | 272 return 0; |
294 } | 273 } |