From 091619b4a5cd3458e5f1a8f81d78f4234c461fcb Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Tue, 16 Oct 2012 18:06:16 +0200 Subject: opus: use two pointers for mdct pre and post rotation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit avoids complicated index calculations in the loops. saves 0.3MHz decoding a 64kbps test file on h300 (cf) and 0.2MHz on c200 (pp) Change-Id: I1918912d9a4502f89980c6bb270ec2ef10a07010 Signed-off-by: Nils Wallménius --- lib/rbcodec/codecs/libopus/celt/mdct.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/rbcodec/codecs/libopus/celt/mdct.c b/lib/rbcodec/codecs/libopus/celt/mdct.c index 0f9af9eac4..877366361d 100644 --- a/lib/rbcodec/codecs/libopus/celt/mdct.c +++ b/lib/rbcodec/codecs/libopus/celt/mdct.c @@ -249,17 +249,20 @@ void clt_mdct_backward(const mdct_lookup *l, kiss_fft_scalar *in, kiss_fft_scala const kiss_fft_scalar * OPUS_RESTRICT xp1 = in; const kiss_fft_scalar * OPUS_RESTRICT xp2 = in+stride*(N2-1); kiss_fft_scalar * OPUS_RESTRICT yp = f2; - const kiss_twiddle_scalar *t = &l->trig[0]; + const kiss_twiddle_scalar *t0 = &l->trig[0]; + const kiss_twiddle_scalar *t1 = &l->trig[N4<trig[0]; - + const kiss_twiddle_scalar *t0 = &l->trig[0]; + const kiss_twiddle_scalar *t1 = &l->trig[N4<