From 0d95b3b48cb0f852b22693bcf49ed4f0e604def3 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Mon, 17 Jun 2013 03:58:16 -0400 Subject: SSE optimization of comb_filter() Should make it easy to adapt to other architectures. --- celt/celt.c | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) (limited to 'celt/celt.c') diff --git a/celt/celt.c b/celt/celt.c index dfa5c68b..3e0ce6e6 100644 --- a/celt/celt.c +++ b/celt/celt.c @@ -85,6 +85,31 @@ int resampling_factor(opus_int32 rate) return ret; } +#ifndef 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