aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-03-22 15:22:35 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2021-09-11 21:23:49 +0200
commit9689bc0c5c5c527e628ddb4de13d6708c2815f36 (patch)
tree961092cff3a97833f05b5be51a0af33756a390d4
parente6d3ace07ea8b0fc1a2a0a7d7fa7ac66b5c9e98f (diff)
downloadffmpeg-9689bc0c5c5c527e628ddb4de13d6708c2815f36.tar.gz
avcodec/mpegvideo: Update chroma_?_shift in ff_mpv_common_frame_size_change()
Fixes: out of array access Fixes: 31201/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-4627865612189696.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 87d87e6587deec1fa8ed5f5c6901535becdb0358) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/mpegvideo.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index c4089972f0..7c611cfdb0 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1071,6 +1071,13 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s)
(err = av_image_check_size(s->width, s->height, 0, s->avctx)) < 0)
goto fail;
+ /* set chroma shifts */
+ err = av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt,
+ &s->chroma_x_shift,
+ &s->chroma_y_shift);
+ if (err < 0)
+ return err;
+
if ((err = init_context_frame(s)))
goto fail;