OSDN Git Service

Set cur_channel in the AAC encoder context where needed.
authorAlex Converse <alex.converse@gmail.com>
Tue, 11 May 2010 18:53:49 +0000 (18:53 +0000)
committerAlex Converse <alex.converse@gmail.com>
Tue, 11 May 2010 18:53:49 +0000 (18:53 +0000)
Most coder functions read it. Carting this around in the context may be
suboptimal; a refactor should be considered.

Originally committed as revision 23094 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/aacenc.c

index 72e93a4..938df34 100644 (file)
@@ -561,6 +561,7 @@ static int aac_encode_frame(AVCodecContext *avctx,
             chans    = tag == TYPE_CPE ? 2 : 1;
             cpe      = &s->cpe[i];
             for (j = 0; j < chans; j++) {
+                s->cur_channel = start_ch + j;
                 s->coder->search_for_quantizers(avctx, s, &cpe->ch[j], s->lambda);
             }
             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)
                 s->coder->search_for_ms(s, cpe, s->lambda);
             adjust_frame_information(s, cpe, chans);