Mercurial > libavcodec.hg
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 } |