|
|
|
@@ -235,6 +235,12 @@ void ff_init_me(MpegEncContext *s){ |
|
|
|
MotionEstContext * const c= &s->me; |
|
|
|
int cache_size= FFMIN(ME_MAP_SIZE>>ME_MAP_SHIFT, 1<<ME_MAP_SHIFT); |
|
|
|
int dia_size= FFMAX(FFABS(s->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){ |
|
|
|
av_log(s->avctx, AV_LOG_ERROR, "ME_MAP size is too small for SAB diamond\n"); |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
c->avctx= s->avctx; |
|
|
|
|
|
|
|
if(cache_size < 2*dia_size && !c->stride){ |
|
|
|
|