aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka-at-google.com@ffmpeg.org>2020-04-21 21:34:19 -0700
committerMichael Niedermayer <michael@niedermayer.cc>2020-07-03 12:10:24 +0200
commit13adaa31a9afb419f3d13cbf83beec5832212001 (patch)
tree4b8323246ee6c6ba307051a950e6fcb83b5248df
parent71fefa15c061cebceddaa2e2c0b2df999770c1a2 (diff)
downloadffmpeg-13adaa31a9afb419f3d13cbf83beec5832212001.tar.gz
mpeg4videoenc: Don't crash with -fsanitize=bounds
Also the patch makes this code consistent with mpeg4videodec.c Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit f163d30de2090a7275f1fb8ad69258576f12c1a2) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/mpeg4videoenc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c
index f6a5992df7..2cd5a8c015 100644
--- a/libavcodec/mpeg4videoenc.c
+++ b/libavcodec/mpeg4videoenc.c
@@ -104,7 +104,7 @@ static inline void restore_ac_coeffs(MpegEncContext *s, int16_t block[6][64],
memcpy(s->block_last_index, zigzag_last_index, sizeof(int) * 6);
for (n = 0; n < 6; n++) {
- int16_t *ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
+ int16_t *ac_val = &s->ac_val[0][0][0] + s->block_index[n] * 16;
st[n] = s->intra_scantable.permutated;
if (dir[n]) {
@@ -143,7 +143,7 @@ static inline int decide_ac_pred(MpegEncContext *s, int16_t block[6][64],
score -= get_block_rate(s, block[n], s->block_last_index[n],
s->intra_scantable.permutated);
- ac_val = s->ac_val[0][0] + s->block_index[n] * 16;
+ ac_val = &s->ac_val[0][0][0] + s->block_index[n] * 16;
ac_val1 = ac_val;
if (dir[n]) {
const int xy = s->mb_x + s->mb_y * s->mb_stride - s->mb_stride;