diff --git a/third_party/ffmpeg/libavcodec/x86/mpegvideodsp.c b/third_party/ffmpeg/libavcodec/x86/mpegvideodsp.c index 941a8e2e4..93b4438fc 100644 --- a/third_party/ffmpeg/libavcodec/x86/mpegvideodsp.c +++ b/third_party/ffmpeg/libavcodec/x86/mpegvideodsp.c @@ -53,8 +53,8 @@ static void gmc_mmx(uint8_t *dst, uint8_t *src, const int dyh = (dyy - (1 << (16 + shift))) * (h - 1); const int dxh = dxy * (h - 1); const int dyw = dyx * (w - 1); - int need_emu = (unsigned) ix >= width - w || - (unsigned) iy >= height - h; + int need_emu = (unsigned) ix >= width - w || width < w || + (unsigned) iy >= height - h || height < h; if ( // non-constant fullpel offset (3% of blocks) ((ox ^ (ox + dxw)) | (ox ^ (ox + dxh)) | (ox ^ (ox + dxw + dxh)) |