summaryrefslogtreecommitdiff
path: root/apps/codecs/libspeex/filters.c
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2007-10-24 22:39:08 +0000
committerThom Johansen <thomj@rockbox.org>2007-10-24 22:39:08 +0000
commitcd9fc7a2b95204f0169e20409583278a13fe1ded (patch)
tree23f66a76141a583b747785d16a891691c5358916 /apps/codecs/libspeex/filters.c
parentfb709522283bfb7558bf2b824a4143a919d59e97 (diff)
Coldfire assembler version of qmf_synth(). Wideband and ultra-wideband Speex files should see a great speedup. Also add faster and symmetric clipping in iir_mem16().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15292 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libspeex/filters.c')
-rw-r--r--apps/codecs/libspeex/filters.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/codecs/libspeex/filters.c b/apps/codecs/libspeex/filters.c
index 02f93a27b1..e64f087a5d 100644
--- a/apps/codecs/libspeex/filters.c
+++ b/apps/codecs/libspeex/filters.c
@@ -47,6 +47,7 @@
#include "filters_arm4.h"
#elif defined (COLDFIRE_ASM)
#define OVERRIDE_IIR_MEM16
+#define OVERRIDE_QMF_SYNTH
#elif defined (BFIN_ASM)
#include "filters_bfin.h"
#endif
@@ -475,6 +476,7 @@ void qmf_decomp(const spx_word16_t *xx, const spx_word16_t *aa, spx_word16_t *y1
}
}
+#ifndef OVERRIDE_QMF_SYNTH
/* Re-synthesised a signal from the QMF low-band and high-band signals */
void qmf_synth(const spx_word16_t *x1, const spx_word16_t *x2, const spx_word16_t *a, spx_word16_t *y, int N, int M, spx_word32_t *mem1, spx_word32_t *mem2, char *stack)
/* assumptions:
@@ -566,6 +568,7 @@ void qmf_synth(const spx_word16_t *x1, const spx_word16_t *x2, const spx_word16_
for (i = 0; i < M2; i++)
mem2[2*i+1] = xx2[i];
}
+#endif
#ifdef FIXED_POINT
#if 0