Set cur_channel in the AAC encoder context where needed.

Most coder functions read it. Carting this around in the context may be
suboptimal; a refactor should be considered.


backport r23094 by alexc


Originally committed as revision 23218 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
This commit is contained in:
Reinhard Tartler 2010-05-21 18:27:16 +00:00
parent a70e7cc928
commit b12045c8c7

View File

@ -561,6 +561,7 @@ static int aac_encode_frame(AVCodecContext *avctx,
chans = tag == TYPE_CPE ? 2 : 1; chans = tag == TYPE_CPE ? 2 : 1;
cpe = &s->cpe[i]; cpe = &s->cpe[i];
for (j = 0; j < chans; j++) { for (j = 0; j < chans; j++) {
s->cur_channel = start_ch + j;
s->coder->search_for_quantizers(avctx, s, &cpe->ch[j], s->lambda); s->coder->search_for_quantizers(avctx, s, &cpe->ch[j], s->lambda);
} }
cpe->common_window = 0; cpe->common_window = 0;
@ -576,6 +577,7 @@ static int aac_encode_frame(AVCodecContext *avctx,
} }
} }
} }
s->cur_channel = start_ch;
if (cpe->common_window && s->coder->search_for_ms) if (cpe->common_window && s->coder->search_for_ms)
s->coder->search_for_ms(s, cpe, s->lambda); s->coder->search_for_ms(s, cpe, s->lambda);
adjust_frame_information(s, cpe, chans); adjust_frame_information(s, cpe, chans);