|
|
|
@ -145,7 +145,7 @@ static void mdct_ref(FFTSample *output, FFTSample *input, int nbits) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if CONFIG_FFT_FLOAT |
|
|
|
|
static void idct_ref(float *output, float *input, int nbits) |
|
|
|
|
static void idct_ref(FFTSample *output, FFTSample *input, int nbits) |
|
|
|
|
{ |
|
|
|
|
int n = 1<<nbits; |
|
|
|
|
int k, i; |
|
|
|
@ -161,7 +161,7 @@ static void idct_ref(float *output, float *input, int nbits) |
|
|
|
|
output[i] = 2 * s / n; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
static void dct_ref(float *output, float *input, int nbits) |
|
|
|
|
static void dct_ref(FFTSample *output, FFTSample *input, int nbits) |
|
|
|
|
{ |
|
|
|
|
int n = 1<<nbits; |
|
|
|
|
int k, i; |
|
|
|
@ -401,11 +401,11 @@ int main(int argc, char **argv) |
|
|
|
|
break; |
|
|
|
|
case TRANSFORM_DCT: |
|
|
|
|
memcpy(tab, tab1, fft_size * sizeof(FFTComplex)); |
|
|
|
|
d->dct_calc(d, tab); |
|
|
|
|
d->dct_calc(d, (FFTSample *)tab); |
|
|
|
|
if (do_inverse) { |
|
|
|
|
idct_ref(tab_ref, tab1, fft_nbits); |
|
|
|
|
idct_ref((FFTSample*)tab_ref, (FFTSample *)tab1, fft_nbits); |
|
|
|
|
} else { |
|
|
|
|
dct_ref(tab_ref, tab1, fft_nbits); |
|
|
|
|
dct_ref((FFTSample*)tab_ref, (FFTSample *)tab1, fft_nbits); |
|
|
|
|
} |
|
|
|
|
err = check_diff((float *)tab_ref, (float *)tab, fft_size, 1.0); |
|
|
|
|
break; |
|
|
|
|