[FFmpeg-cvslog] r12854 - trunk/libavcodec/nellymoserdec.c

michael subversion
Wed Apr 16 16:59:23 CEST 2008


Author: michael
Date: Wed Apr 16 16:59:23 2008
New Revision: 12854

Log:
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.


Modified:
   trunk/libavcodec/nellymoserdec.c

Modified: trunk/libavcodec/nellymoserdec.c
==============================================================================
--- trunk/libavcodec/nellymoserdec.c	(original)
+++ trunk/libavcodec/nellymoserdec.c	Wed Apr 16 16:59:23 2008
@@ -92,7 +92,7 @@ static const int16_t nelly_delta_table[3
 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 @@ static void overlap_and_window(NellyMose
 
     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)




More information about the ffmpeg-cvslog mailing list