Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/celt-0.7.0.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJean-Marc Valin <jean-marc.valin@usherbrooke.ca>2008-04-25 16:39:46 +0400
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>2008-04-25 16:39:46 +0400
commitcb1cf2f169cc46cb911600bf3436b8ac38a94901 (patch)
treec55e23fdee59c3ce6d4edd5f4ffdc05788b09660 /tests
parentef1002746cd08410e71e676669a436ce9db63eee (diff)
Brought the mdct test-case with the recent changes to the mdct semantic
Diffstat (limited to 'tests')
-rw-r--r--tests/mdct-test.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/tests/mdct-test.c b/tests/mdct-test.c
index c03c191..892c27a 100644
--- a/tests/mdct-test.c
+++ b/tests/mdct-test.c
@@ -20,7 +20,7 @@ void check(kiss_fft_scalar * in,kiss_fft_scalar * out,int nfft,int isinverse)
double phase = 2*M_PI*(k+.5+.25*nfft)*(bin+.5)/nfft;
double re = cos(phase);
- re /= nfft/2;
+ re /= nfft/4;
ansr += in[k] * re;
}
@@ -75,6 +75,7 @@ void test1d(int nfft,int isinverse)
kiss_fft_scalar * in = (kiss_fft_scalar*)malloc(buflen);
kiss_fft_scalar * out= (kiss_fft_scalar*)malloc(buflen);
+ celt_word16_t * window= (celt_word16_t*)malloc(sizeof(celt_word16_t)*nfft/2);
int k;
mdct_init(&cfg, nfft);
@@ -82,9 +83,12 @@ void test1d(int nfft,int isinverse)
in[k] = (rand() % 32768) - 16384;
}
+ for (k=0;k<nfft/2;++k) {
+ window[k] = Q15ONE;
+ }
#ifdef DOUBLE_PRECISION
for (k=0;k<nfft;++k) {
- in[k] *= 65536;
+ in[k] *= 32768;
}
#endif
@@ -99,10 +103,12 @@ void test1d(int nfft,int isinverse)
if (isinverse)
{
- mdct_backward(&cfg,in,out, NULL, 0);
+ for (k=0;k<nfft;++k)
+ out[k] = 0;
+ mdct_backward(&cfg,in,out, window, nfft/2);
check_inv(in,out,nfft,isinverse);
} else {
- mdct_forward(&cfg,in,out,NULL, 0);
+ mdct_forward(&cfg,in,out,window, nfft/2);
check(in,out,nfft,isinverse);
}
/*for (k=0;k<nfft;++k) printf("%d %d ", out[k].r, out[k].i);printf("\n");*/