diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 910ec209a4e6b57b1d3a0b731bade5a5aef42443..b1b4f2d7ecb566aaf789fbbe59837677b4e3d8fa 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -114,16 +114,15 @@ static void vp8_decode_flush(AVCodecContext *avctx) static int update_dimensions(VP8Context *s, int width, int height) { AVCodecContext *avctx = s->avctx; - int i; + int i, ret; if (width != s->avctx->width || height != s->avctx->height) { - if (av_image_check_size(width, height, 0, s->avctx)) - return AVERROR_INVALIDDATA; - vp8_decode_flush_impl(s->avctx, 1); - avcodec_set_dimensions(s->avctx, width, height); + ret = ff_set_dimensions(s->avctx, width, height); + if (ret < 0) + return ret; } s->mb_width = (s->avctx->coded_width +15) / 16;