[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