From a35c1b35951ce11e4c6ff658794c3142ba5dd218 Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Sun, 1 Sep 2013 17:37:58 +0200 Subject: Opus: Coldfire inline asm for comb_filter_const Speeds up decoding a 64kbps test file by 2.6MHz Change-Id: Ibeb30f37cc00a4a6f65b64851009753f40e06fc1 --- lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h b/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h index c442a55663..a2b5d5acef 100644 --- a/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h +++ b/lib/rbcodec/codecs/libopus/celt/cf/fixed_cf.h @@ -53,4 +53,37 @@ static inline int32_t MULT32_32_Q31_cf(int32_t a, int32_t b) } #define MULT32_32_Q31(a, b) (MULT32_32_Q31_cf(a, b)) +#define OVERRIDE_COMB_FILTER_CONST +static void comb_filter_const(opus_val32 *y, opus_val32 *x, int T, int N, + opus_val16 g10, opus_val16 g11, opus_val16 g12) +{ + opus_val32 x0, x1, x2, x3, x4; + int i; + x4 = x[-T-2]; + x3 = x[-T-1]; + x2 = x[-T]; + x1 = x[-T+1]; + for (i=0;i