From 67b5fa06d5b128ad66d1f4b946c9080387171529 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Wed, 10 Jul 2024 08:57:26 -0400 Subject: 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 --- lib/rbcodec/codecs/libopus/celt/_kiss_fft_guts.h | 3 +++ lib/rbcodec/codecs/libopus/celt/arch.h | 2 ++ lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h | 3 ++- lib/rbcodec/codecs/libopus/silk/macros.h | 4 ++++ 4 files changed, 11 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3