On Tue, May 14, 2013 at 11:53:16AM +0300, Martin Storsjö wrote:
> From: Claudio Freire <[email protected]>
> 
> This was due to a miscomputation of s->cur_channel, which led to
> psy-based encoders using the psy coefficients for the wrong channel.
> ---
>  libavcodec/aacenc.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
> index 60eca59..b2ad47b 100644
> --- a/libavcodec/aacenc.c
> +++ b/libavcodec/aacenc.c
> @@ -597,7 +597,7 @@ static int aac_encode_frame(AVCodecContext *avctx, 
> AVPacket *avpkt,
>                  coeffs[ch] = cpe->ch[ch].coeffs;
>              s->psy.model->analyze(&s->psy, start_ch, coeffs, wi);
>              for (ch = 0; ch < chans; ch++) {
> -                s->cur_channel = start_ch * 2 + ch;
> +                s->cur_channel = start_ch + ch;
>                  s->coder->search_for_quantizers(avctx, s, &cpe->ch[ch], 
> s->lambda);
>              }
>              cpe->common_window = 0;
> @@ -613,7 +613,7 @@ static int aac_encode_frame(AVCodecContext *avctx, 
> AVPacket *avpkt,
>                      }
>                  }
>              }
> -            s->cur_channel = start_ch * 2;
> +            s->cur_channel = start_ch;
>              if (s->options.stereo_mode && cpe->common_window) {
>                  if (s->options.stereo_mode > 0) {
>                      IndividualChannelStream *ics = &cpe->ch[0].ics;
> -- 

LGTM
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to