summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-07-10 08:57:26 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-07-10 09:23:33 -0400
commit67b5fa06d5b128ad66d1f4b946c9080387171529 (patch)
tree339020b0af0537a6e8f9c27f73e08746a5dfffe1
parentfdbaf7df597b404be04cecbdc83dbc0551a5b996 (diff)
downloadrockbox-67b5fa06d5.tar.gz
rockbox-67b5fa06d5.zip
opus: Re-enable Coldfire ASM optimizations
Was accidently disabled in 14c6bb798d6bebc80f07e863236adbaf8d156a9c (in January 2019) (Had to make a minor change due argument differences) Change-Id: If7c128cdeaa9ed82b2b33de1b75ca7cc4a95abdd
-rw-r--r--lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h3
-rw-r--r--lib/rbcodec/codecs/libopus/celt/arch.h2
-rw-r--r--lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h3
-rw-r--r--lib/rbcodec/codecs/libopus/silk/macros.h4
4 files changed, 11 insertions, 1 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h b/lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h
index 17392b3e90..ea847ff31d 100644
--- a/lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h
+++ b/lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h
@@ -97,6 +97,9 @@
#if defined(OPUS_ARM_INLINE_EDSP)
#include "arm/kiss_fft_armv5e.h"
#endif
+#if defined(OPUS_CF_INLINE_ASM)
+#include "cf/kiss_fft_cf.h"
+#endif
#if defined(MIPSr1_ASM)
#include "mips/kiss_fft_mipsr1.h"
#endif
diff --git a/lib/rbcodec/codecs/libopus/celt/arch.h b/lib/rbcodec/codecs/libopus/celt/arch.h
index 08b07db598..6437f59624 100644
--- a/lib/rbcodec/codecs/libopus/celt/arch.h
+++ b/lib/rbcodec/codecs/libopus/celt/arch.h
@@ -170,6 +170,8 @@ static OPUS_INLINE opus_int16 SAT16(opus_int32 x) {
#include "fixed_c5x.h"
#elif defined (TI_C6X_ASM)
#include "fixed_c6x.h"
+#elif defined (OPUS_CF_INLINE_ASM)
+#include "cf/fixed_cf.h"
#endif
#endif
diff --git a/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h b/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h
index ba1829871a..02b9eacdf3 100644
--- a/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h
+++ b/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h
@@ -55,8 +55,9 @@ static inline int32_t MULT32_32_Q31_cf(int32_t a, int32_t b)
#define OVERRIDE_COMB_FILTER_CONST
static inline void comb_filter_const(opus_val32 *y, opus_val32 *x, int T, int N,
- opus_val16 g10, opus_val16 g11, opus_val16 g12)
+ opus_val16 g10, opus_val16 g11, opus_val16 g12, int arch)
{
+ (void)arch;
opus_val32 x0, x1, x2, x3, x4;
int i;
x4 = x[-T-2];
diff --git a/lib/rbcodec/codecs/libopus/silk/macros.h b/lib/rbcodec/codecs/libopus/silk/macros.h
index 3c67b6e5d9..f46e27caaa 100644
--- a/lib/rbcodec/codecs/libopus/silk/macros.h
+++ b/lib/rbcodec/codecs/libopus/silk/macros.h
@@ -143,6 +143,10 @@ static OPUS_INLINE opus_int32 silk_CLZ32(opus_int32 in32)
#include "arm/macros_armv5e.h"
#endif
+#ifdef OPUS_CF_INLINE_ASM
+#include "cf/macros_cf.h"
+#endif
+
#ifdef OPUS_ARM_PRESUME_AARCH64_NEON_INTR
#include "arm/macros_arm64.h"
#endif