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

michael subversion
Wed Apr 16 16:49:10 CEST 2008


Author: michael
Date: Wed Apr 16 16:49:10 2008
New Revision: 12852

Log:
do the -1 outside of the transform


Modified:
   trunk/libavcodec/nellymoserdec.c

Modified: trunk/libavcodec/nellymoserdec.c
==============================================================================
--- trunk/libavcodec/nellymoserdec.c	(original)
+++ trunk/libavcodec/nellymoserdec.c	Wed Apr 16 16:49:10 2008
@@ -120,8 +120,8 @@ static void overlap_and_window(NellyMose
     top = NELLY_BUF_LEN-1;
 
     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] =  (-state[bot]*sine_window[bot]- a_in[top]*sine_window[top])/s->scale_bias + s->add_bias;
+        audio[bot] = ( a_in[bot]*sine_window[bot]+state[bot]*sine_window[top])/s->scale_bias + s->add_bias;
+        audio[top] = (state[bot]*sine_window[bot]+ a_in[top]*sine_window[top])/s->scale_bias + s->add_bias;
         state[bot] = a_in[bot + NELLY_BUF_LEN];
 
         bot++;
@@ -299,11 +299,11 @@ void nelly_decode_block(NellyMoserDecode
         for (j = 0; j < NELLY_FILL_LEN; j++) {
             if (bits[j] <= 0) {
                 aptr[j] = M_SQRT1_2*pows[j];
-                if (av_random(&s->random_state) & 1)
+                if (!(av_random(&s->random_state) & 1))
                     aptr[j] *= -1.0;
             } else {
                 v = get_bits(&s->gb, bits[j]);
-                aptr[j] = dequantization_table[(1<<bits[j])-1+v]*pows[j];
+                aptr[j] = -dequantization_table[(1<<bits[j])-1+v]*pows[j];
             }
         }
         memset(&aptr[NELLY_FILL_LEN], 0,




More information about the ffmpeg-cvslog mailing list