[SCM] libav/experimental: aacenc: Fix bug in LAME windowing where only one channel got initalized

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:18:05 UTC 2013


The following commit has been merged in the experimental branch:
commit 276df9d8210121f6d59b7876e1724ebe7a11f5e5
Author: Nathan Caldwell <saintdev at gmail.com>
Date:   Mon Oct 25 06:15:21 2010 +0000

    aacenc: Fix bug in LAME windowing where only one channel got initalized
    
    I used the same loop counter for the inner and outer initalization loops.
    This caused initalization to only run for the first channel. This in turn lead
    to any channel other than the first using only short blocks.
    
    Patch by Nathan Caldwell, saintdev at gmail
    
    Originally committed as revision 25566 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c
index b1bfc7b..d5b51f8 100644
--- a/libavcodec/aacpsy.c
+++ b/libavcodec/aacpsy.c
@@ -195,7 +195,7 @@ static float lame_calc_attack_threshold(int bitrate)
  * LAME psy model specific initialization
  */
 static void lame_window_init(AacPsyContext *ctx, AVCodecContext *avctx) {
-    int i;
+    int i, j;
 
     for (i = 0; i < avctx->channels; i++) {
         AacPsyChannel *pch = &ctx->ch[i];
@@ -205,8 +205,8 @@ static void lame_window_init(AacPsyContext *ctx, AVCodecContext *avctx) {
         else
             pch->attack_threshold = lame_calc_attack_threshold(avctx->bit_rate / avctx->channels / 1000);
 
-        for (i = 0; i < AAC_NUM_BLOCKS_SHORT * PSY_LAME_NUM_SUBBLOCKS; i++)
-            pch->prev_energy_subshort[i] = 10.0f;
+        for (j = 0; j < AAC_NUM_BLOCKS_SHORT * PSY_LAME_NUM_SUBBLOCKS; j++)
+            pch->prev_energy_subshort[j] = 10.0f;
     }
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list