[FFmpeg-cvslog] aacenc: reset marked IS and M/S bands upon frame encoding

Rostislav Pehlivanov git at videolan.org
Fri Jul 3 16:20:18 CEST 2015


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Thu Jul  2 19:13:03 2015 +0100| [9f4f5787046dd1430ebb5b58e49af32e304852af] | committer: Michael Niedermayer

aacenc: reset marked IS and M/S bands upon frame encoding

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.

Reviewed-by: Claudio Freire <klaussfreire at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9f4f5787046dd1430ebb5b58e49af32e304852af
---

 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++)



More information about the ffmpeg-cvslog mailing list