From 0b5338a6e9097c98223ea1e06b962b1cc78ea57b Mon Sep 17 00:00:00 2001 From: Dave Hooper Date: Sun, 21 Feb 2010 21:17:53 +0000 Subject: Eep, didn't mean to commit those other files git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24820 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/lib/SOURCES | 4 ++-- apps/codecs/lib/asm_arm.h | 13 ++++++++----- apps/codecs/lib/codeclib.h | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) (limited to 'apps/codecs') diff --git a/apps/codecs/lib/SOURCES b/apps/codecs/lib/SOURCES index 438cd1fc62..da77f97d30 100644 --- a/apps/codecs/lib/SOURCES +++ b/apps/codecs/lib/SOURCES @@ -4,14 +4,14 @@ fixedpoint.c /* OLD MDCT */ /* (when all other codecs are remediated this can be remoed) */ -/* mdct2.c */ +mdct2.c mdct_lookup.c fft-ffmpeg.c mdct.c #ifdef CPU_ARM -/*mdct_arm.S*/ +mdct_arm.S setjmp_arm.S ../../../firmware/target/arm/support-arm.S #endif diff --git a/apps/codecs/lib/asm_arm.h b/apps/codecs/lib/asm_arm.h index 9dcbcef755..4f31f80c3e 100644 --- a/apps/codecs/lib/asm_arm.h +++ b/apps/codecs/lib/asm_arm.h @@ -226,11 +226,14 @@ void vect_mult_bw(int32_t *data, int32_t *window, int n) #define _V_CLIP_MATH static inline int32_t CLIP_TO_15(int32_t x) { - const int32_t mask = 0xffff7fff; - asm volatile("teq %0,%0,asr #31\n\t" - "eorne %0,%1,%0,asr #31\n\t" - : "+r"(x) - : "r" (mask) + int tmp; + asm volatile("subs %1, %0, #32768\n\t" + "movpl %0, #0x7f00\n\t" + "orrpl %0, %0, #0xff\n" + "adds %1, %0, #32768\n\t" + "movmi %0, #0x8000" + : "+r"(x),"=r"(tmp) + : : "cc"); return(x); } diff --git a/apps/codecs/lib/codeclib.h b/apps/codecs/lib/codeclib.h index 32a4696b9d..817d86a6a3 100644 --- a/apps/codecs/lib/codeclib.h +++ b/apps/codecs/lib/codeclib.h @@ -65,7 +65,7 @@ void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, con /*MDCT library functions*/ /* -1- Tremor mdct */ -/* extern void mdct_backward(int n, int32_t *in, int32_t *out); */ +extern void mdct_backward(int n, int32_t *in, int32_t *out); /* -2- ffmpeg fft-based mdct */ extern void ff_imdct_half(unsigned int nbits, int32_t *output, const int32_t *input); extern void ff_imdct_calc(unsigned int nbits, int32_t *output, const int32_t *input); -- cgit v1.2.3