Commit 276df9d8 authored by Nathan Caldwell's avatar Nathan Caldwell Committed by Martin Storsjö

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
parent d545aea8
......@@ -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;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment