X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvp9recon.c;h=9a4e7c7a039621889a607297451c803ba8d647db;hb=e3e2702d400e047d7a12b3c4f7ee666ffdafd090;hp=49bb04e1f40fff3d902907043bb137cdd81aee60;hpb=fef55251d82ca1043689dddf5d03aa96c75cd4bb;p=ffmpeg diff --git a/libavcodec/vp9recon.c b/libavcodec/vp9recon.c index 49bb04e1f40..9a4e7c7a039 100644 --- a/libavcodec/vp9recon.c +++ b/libavcodec/vp9recon.c @@ -572,6 +572,16 @@ static av_always_inline void inter_recon(VP9TileData *td, int bytesperpixel) VP9Block *b = td->b; int row = td->row, col = td->col; + if (s->mvscale[b->ref[0]][0] == REF_INVALID_SCALE || + (b->comp && s->mvscale[b->ref[1]][0] == REF_INVALID_SCALE)) { + if (!s->td->error_info) { + s->td->error_info = AVERROR_INVALIDDATA; + av_log(NULL, AV_LOG_ERROR, "Bitstream not supported, " + "reference frame has invalid dimensions\n"); + } + return; + } + if (s->mvscale[b->ref[0]][0] || (b->comp && s->mvscale[b->ref[1]][0])) { if (bytesperpixel == 1) { inter_pred_scaled_8bpp(td);