On Thu, Jul 2, 2015 at 3:13 PM, Rostislav Pehlivanov
<atomnu...@gmail.com> wrote:
> This commit resets any bands marked as M/S or IS upon encoding a frame. This 
> is needed because the arrays may contain some residual information upon 
> allocation on startup and because there isn't any mechanism to reset the 
> arrays once the frame has been encoded.
> ---
>  libavcodec/aacenc.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
> index 3a512ff..05a8162 100644
> --- a/libavcodec/aacenc.c
> +++ b/libavcodec/aacenc.c
> @@ -617,6 +617,8 @@ static int aac_encode_frame(AVCodecContext *avctx, 
> AVPacket *avpkt,
>              tag      = s->chan_map[i+1];
>              chans    = tag == TYPE_CPE ? 2 : 1;
>              cpe      = &s->cpe[i];
> +            memset(cpe->is_mask, 0, sizeof(cpe->is_mask));
> +            memset(cpe->ms_mask, 0, sizeof(cpe->ms_mask));
>              put_bits(&s->pb, 3, tag);
>              put_bits(&s->pb, 4, chan_el_counter[tag]++);
>              for (ch = 0; ch < chans; ch++)


Looks good and necessary
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to