diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index ad6395296e..0b8c4f4058 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -300,7 +300,7 @@ int ff_init_me(MpegEncContext *s){ int cache_size= FFMIN(ME_MAP_SIZE>>ME_MAP_SHIFT, 1<avctx->dia_size)&255, FFABS(s->avctx->pre_dia_size)&255); - if(FFMIN(s->avctx->dia_size, s->avctx->pre_dia_size) < -ME_MAP_SIZE){ + if(FFMIN(s->avctx->dia_size, s->avctx->pre_dia_size) < -FFMIN(ME_MAP_SIZE, MAX_SAB_SIZE)){ av_log(s->avctx, AV_LOG_ERROR, "ME_MAP size is too small for SAB diamond\n"); return -1; }