changeset 6611:79c5af90afde libavcodec

Avoid reverse addressing, not sure if this is faster or slower but people maybe are confused by it. The code needs to be optimized anyway.
author michael
date Wed, 16 Apr 2008 14:59:23 +0000
parents 675f6d8e3f64
children 80cadb0595fb
files nellymoserdec.c
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/nellymoserdec.c	Wed Apr 16 14:55:11 2008 +0000
+++ b/nellymoserdec.c	Wed Apr 16 14:59:23 2008 +0000
@@ -92,7 +92,7 @@
 typedef struct NellyMoserDecodeContext {
     AVCodecContext* avctx;
     DECLARE_ALIGNED_16(float,float_buf[NELLY_SAMPLES]);
-    float           state[64];
+    float           state[128];
     AVRandomState   random_state;
     GetBitContext   gb;
     int             add_bias;
@@ -121,12 +121,12 @@
 
     while (bot < NELLY_BUF_LEN/2) {
         audio[bot] = ( a_in[bot]*sine_window[bot]+state[bot]*sine_window[top])/s->scale_bias + s->add_bias;
-        audio[top] = ( a_in[top]*sine_window[top]+state[bot]*sine_window[bot])/s->scale_bias + s->add_bias;
-        state[bot] = a_in[bot + NELLY_BUF_LEN];
+        audio[top] = ( a_in[top]*sine_window[top]+state[top]*sine_window[bot])/s->scale_bias + s->add_bias;
 
         bot++;
         top--;
     }
+    memcpy(state, a_in + NELLY_BUF_LEN, sizeof(float)*NELLY_BUF_LEN);
 }
 
 static int sum_bits(short *buf, short shift, short off)