summaryrefslogtreecommitdiff
path: root/celt/tests
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2017-05-25 16:28:53 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2017-05-25 19:30:59 -0400
commit4507637ccca66d1520e806bbbb69396e4511679c (patch)
treef3732d5e364738ed8f7c020c4747192408f1b180 /celt/tests
parent6cdd84a3c877e5d0f68ee0d047fadfa737c0efd9 (diff)
downloadopus-4507637ccca66d1520e806bbbb69396e4511679c.tar.gz
Fixes unit tests that need arch-specific code
We now include the object files for those rather than attempt to problems.
Diffstat (limited to 'celt/tests')
-rw-r--r--celt/tests/test_unit_dft.c46
-rw-r--r--celt/tests/test_unit_mathops.c43
-rw-r--r--celt/tests/test_unit_mdct.c58
-rw-r--r--celt/tests/test_unit_rotation.c37
4 files changed, 46 insertions, 138 deletions
diff --git a/celt/tests/test_unit_dft.c b/celt/tests/test_unit_dft.c
index 6166eb0e..29fa851c 100644
--- a/celt/tests/test_unit_dft.c
+++ b/celt/tests/test_unit_dft.c
@@ -29,38 +29,12 @@
#include "config.h"
#endif
-#define SKIP_CONFIG_H
-
-#ifndef CUSTOM_MODES
-#define CUSTOM_MODES
-#endif
-
#include <stdio.h>
-#define CELT_C
-#define TEST_UNIT_DFT_C
#include "stack_alloc.h"
#include "kiss_fft.h"
-#include "kiss_fft.c"
-#include "mathops.c"
-#include "entcode.c"
-
-#if defined(OPUS_X86_MAY_HAVE_SSE2) || defined(OPUS_X86_MAY_HAVE_SSE4_1)
-# include "x86/x86cpu.c"
-#elif defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/armcpu.c"
-# include "celt_lpc.c"
-# include "pitch.c"
-# if defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/celt_neon_intr.c"
-# if defined(HAVE_ARM_NE10)
-# include "mdct.c"
-# include "arm/celt_ne10_fft.c"
-# include "arm/celt_ne10_mdct.c"
-# endif
-# endif
-# include "arm/arm_celt_map.c"
-#endif
+#include "mathops.h"
+#include "modes.h"
#ifndef M_PI
#define M_PI 3.141592653
@@ -115,8 +89,20 @@ void test1d(int nfft,int isinverse,int arch)
kiss_fft_cpx * in = (kiss_fft_cpx*)malloc(buflen);
kiss_fft_cpx * out= (kiss_fft_cpx*)malloc(buflen);
- kiss_fft_state *cfg = opus_fft_alloc(nfft,0,0,arch);
int k;
+#ifdef CUSTOM_MODES
+ kiss_fft_state *cfg = opus_fft_alloc(nfft,0,0,arch);
+#else
+ int id;
+ const kiss_fft_state *cfg;
+ CELTMode *mode = opus_custom_mode_create(48000, 960, NULL);
+ if (nfft == 480) id = 0;
+ else if (nfft == 240) id = 1;
+ else if (nfft == 120) id = 2;
+ else if (nfft == 60) id = 3;
+ else return;
+ cfg = mode->mdct.kfft[id];
+#endif
for (k=0;k<nfft;++k) {
in[k].r = (rand() % 32767) - 16384;
@@ -149,7 +135,9 @@ void test1d(int nfft,int isinverse,int arch)
free(in);
free(out);
+#ifdef CUSTOM_MODES
opus_fft_free(cfg, arch);
+#endif
}
int main(int argc,char ** argv)
diff --git a/celt/tests/test_unit_mathops.c b/celt/tests/test_unit_mathops.c
index d49a2bd2..874e9adf 100644
--- a/celt/tests/test_unit_mathops.c
+++ b/celt/tests/test_unit_mathops.c
@@ -34,49 +34,10 @@
#define CUSTOM_MODES
#endif
-#define CELT_C
-
#include <stdio.h>
#include <math.h>
-#include "mathops.c"
-#include "entenc.c"
-#include "entdec.c"
-#include "entcode.c"
-#include "bands.c"
-#include "quant_bands.c"
-#include "laplace.c"
-#include "vq.c"
-#include "cwrs.c"
-#include "pitch.c"
-#include "celt_lpc.c"
-#include "celt.c"
-
-#if defined(OPUS_X86_MAY_HAVE_SSE) || defined(OPUS_X86_MAY_HAVE_SSE2) || defined(OPUS_X86_MAY_HAVE_SSE4_1)
-# if defined(OPUS_X86_MAY_HAVE_SSE)
-# include "x86/pitch_sse.c"
-# endif
-# if defined(OPUS_X86_MAY_HAVE_SSE2)
-# include "x86/pitch_sse2.c"
-# include "x86/vq_sse2.c"
-# endif
-# if defined(OPUS_X86_MAY_HAVE_SSE4_1)
-# include "x86/pitch_sse4_1.c"
-# include "x86/celt_lpc_sse.c"
-# endif
-# include "x86/x86_celt_map.c"
-#elif defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/armcpu.c"
-# if defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/celt_neon_intr.c"
-# if defined(HAVE_ARM_NE10)
-# include "kiss_fft.c"
-# include "mdct.c"
-# include "arm/celt_ne10_fft.c"
-# include "arm/celt_ne10_mdct.c"
-# endif
-# endif
-# include "arm/arm_celt_map.c"
-#endif
+#include "mathops.h"
+#include "bands.h"
#ifdef FIXED_POINT
#define WORD "%d"
diff --git a/celt/tests/test_unit_mdct.c b/celt/tests/test_unit_mdct.c
index 8dbb9caa..e3e487ff 100644
--- a/celt/tests/test_unit_mdct.c
+++ b/celt/tests/test_unit_mdct.c
@@ -29,38 +29,13 @@
#include "config.h"
#endif
-#define SKIP_CONFIG_H
-
-#ifndef CUSTOM_MODES
-#define CUSTOM_MODES
-#endif
-
#include <stdio.h>
-#define CELT_C
#include "mdct.h"
#include "stack_alloc.h"
-
-#include "kiss_fft.c"
-#include "mdct.c"
-#include "mathops.c"
-#include "entcode.c"
-
-#if defined(OPUS_X86_MAY_HAVE_SSE2) || defined(OPUS_X86_MAY_HAVE_SSE4_1)
-# include "x86/x86cpu.c"
-#elif defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/armcpu.c"
-# include "pitch.c"
-# include "celt_lpc.c"
-# if defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/celt_neon_intr.c"
-# if defined(HAVE_ARM_NE10)
-# include "arm/celt_ne10_fft.c"
-# include "arm/celt_ne10_mdct.c"
-# endif
-# endif
-# include "arm/arm_celt_map.c"
-#endif
+#include "kiss_fft.h"
+#include "mdct.h"
+#include "modes.h"
#ifndef M_PI
#define M_PI 3.141592653
@@ -130,7 +105,6 @@ void check_inv(kiss_fft_scalar * in,kiss_fft_scalar * out,int nfft,int isinver
void test1d(int nfft,int isinverse,int arch)
{
- mdct_lookup cfg;
size_t buflen = sizeof(kiss_fft_scalar)*nfft;
kiss_fft_scalar * in = (kiss_fft_scalar*)malloc(buflen);
@@ -139,7 +113,23 @@ void test1d(int nfft,int isinverse,int arch)
opus_val16 * window= (opus_val16*)malloc(sizeof(opus_val16)*nfft/2);
int k;
- clt_mdct_init(&cfg, nfft, 0, arch);
+#ifdef CUSTOM_MODES
+ int shift = 0;
+ const mdct_lookup *cfg;
+ mdct_lookup _cfg;
+ clt_mdct_init(&_cfg, nfft, 0, arch);
+ cfg = &_cfg;
+#else
+ int shift;
+ const mdct_lookup *cfg;
+ CELTMode *mode = opus_custom_mode_create(48000, 960, NULL);
+ if (nfft == 1920) shift = 0;
+ else if (nfft == 960) shift = 1;
+ else if (nfft == 480) shift = 2;
+ else if (nfft == 240) shift = 3;
+ else return;
+ cfg = &mode->mdct;
+#endif
for (k=0;k<nfft;++k) {
in[k] = (rand() % 32768) - 16384;
}
@@ -166,13 +156,13 @@ void test1d(int nfft,int isinverse,int arch)
{
for (k=0;k<nfft;++k)
out[k] = 0;
- clt_mdct_backward(&cfg,in,out, window, nfft/2, 0, 1, arch);
+ clt_mdct_backward(cfg,in,out, window, nfft/2, shift, 1, arch);
/* apply TDAC because clt_mdct_backward() no longer does that */
for (k=0;k<nfft/4;++k)
out[nfft-k-1] = out[nfft/2+k];
check_inv(in,out,nfft,isinverse);
} else {
- clt_mdct_forward(&cfg,in,out,window, nfft/2, 0, 1, arch);
+ clt_mdct_forward(cfg,in,out,window, nfft/2, shift, 1, arch);
check(in_copy,out,nfft,isinverse);
}
/*for (k=0;k<nfft;++k) printf("%d %d ", out[k].r, out[k].i);printf("\n");*/
@@ -182,7 +172,9 @@ void test1d(int nfft,int isinverse,int arch)
free(in_copy);
free(out);
free(window);
- clt_mdct_clear(&cfg, arch);
+#ifdef CUSTOM_MODES
+ clt_mdct_clear(&_cfg, arch);
+#endif
}
int main(int argc,char ** argv)
diff --git a/celt/tests/test_unit_rotation.c b/celt/tests/test_unit_rotation.c
index 571ed12d..267b9830 100644
--- a/celt/tests/test_unit_rotation.c
+++ b/celt/tests/test_unit_rotation.c
@@ -37,44 +37,11 @@
#include <stdio.h>
#include <stdlib.h>
-#include "vq.c"
-#include "cwrs.c"
-#include "entcode.c"
-#include "entenc.c"
-#include "entdec.c"
-#include "mathops.c"
+#include "vq.h"
#include "bands.h"
-#include "pitch.c"
-#include "celt_lpc.c"
-#include "celt.c"
+#include "stack_alloc.h"
#include <math.h>
-#if defined(OPUS_X86_MAY_HAVE_SSE) || defined(OPUS_X86_MAY_HAVE_SSE2) || defined(OPUS_X86_MAY_HAVE_SSE4_1)
-# if defined(OPUS_X86_MAY_HAVE_SSE)
-# include "x86/pitch_sse.c"
-# endif
-# if defined(OPUS_X86_MAY_HAVE_SSE2)
-# include "x86/pitch_sse2.c"
-# include "x86/vq_sse2.c"
-# endif
-# if defined(OPUS_X86_MAY_HAVE_SSE4_1)
-# include "x86/pitch_sse4_1.c"
-# include "x86/celt_lpc_sse.c"
-# endif
-# include "x86/x86_celt_map.c"
-#elif defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/armcpu.c"
-# if defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
-# include "arm/celt_neon_intr.c"
-# if defined(HAVE_ARM_NE10)
-# include "kiss_fft.c"
-# include "mdct.c"
-# include "arm/celt_ne10_fft.c"
-# include "arm/celt_ne10_mdct.c"
-# endif
-# endif
-# include "arm/arm_celt_map.c"
-#endif
#define MAX_SIZE 100