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 }