comparison fft-test.c @ 5442:f5d2349dccd7 libavcodec

making reference models have the same API
author mhoffman
date Wed, 01 Aug 2007 20:44:08 +0000
parents 95234f2e0bdd
children ee76d7ee5fcd
comparison
equal deleted inserted replaced
5441:7b8fd76dba47 5442:f5d2349dccd7
93 tabr[i].re = tmp_re; 93 tabr[i].re = tmp_re;
94 tabr[i].im = tmp_im; 94 tabr[i].im = tmp_im;
95 } 95 }
96 } 96 }
97 97
98 void imdct_ref(float *out, float *in, int n) 98 void imdct_ref(float *out, float *in, int nbits)
99 { 99 {
100 int n = 1<<nbits;
100 int k, i, a; 101 int k, i, a;
101 double sum, f; 102 double sum, f;
102 103
103 for(i=0;i<n;i++) { 104 for(i=0;i<n;i++) {
104 sum = 0; 105 sum = 0;
110 out[i] = -sum; 111 out[i] = -sum;
111 } 112 }
112 } 113 }
113 114
114 /* NOTE: no normalisation by 1 / N is done */ 115 /* NOTE: no normalisation by 1 / N is done */
115 void mdct_ref(float *output, float *input, int n) 116 void mdct_ref(float *output, float *input, int nbits)
116 { 117 {
118 int n = 1<<nbits;
117 int k, i; 119 int k, i;
118 double a, s; 120 double a, s;
119 121
120 /* do it by hand */ 122 /* do it by hand */
121 for(k=0;k<n/2;k++) { 123 for(k=0;k<n/2;k++) {
244 /* checking result */ 246 /* checking result */
245 av_log(NULL, AV_LOG_INFO,"Checking...\n"); 247 av_log(NULL, AV_LOG_INFO,"Checking...\n");
246 248
247 if (do_mdct) { 249 if (do_mdct) {
248 if (do_inverse) { 250 if (do_inverse) {
249 imdct_ref((float *)tab_ref, (float *)tab1, fft_size); 251 imdct_ref((float *)tab_ref, (float *)tab1, fft_nbits);
250 ff_imdct_calc(m, tab2, (float *)tab1, tabtmp); 252 ff_imdct_calc(m, tab2, (float *)tab1, tabtmp);
251 check_diff((float *)tab_ref, tab2, fft_size); 253 check_diff((float *)tab_ref, tab2, fft_size);
252 } else { 254 } else {
253 mdct_ref((float *)tab_ref, (float *)tab1, fft_size); 255 mdct_ref((float *)tab_ref, (float *)tab1, fft_nbits);
254 256
255 ff_mdct_calc(m, tab2, (float *)tab1, tabtmp); 257 ff_mdct_calc(m, tab2, (float *)tab1, tabtmp);
256 258
257 check_diff((float *)tab_ref, tab2, fft_size / 2); 259 check_diff((float *)tab_ref, tab2, fft_size / 2);
258 } 260 }