warn user if the selected diamond size is larger then the motion estimation score...
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 17 Dec 2006 13:11:34 +0000 (13:11 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 17 Dec 2006 13:11:34 +0000 (13:11 +0000)
Originally committed as revision 7326 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/motion_est.c

index d81ab32..2df1f31 100644 (file)
@@ -231,6 +231,12 @@ static void zero_hpel(uint8_t *a, const uint8_t *b, int stride, int h){
 void ff_init_me(MpegEncContext *s){
     MotionEstContext * const c= &s->me;
     c->avctx= s->avctx;
+    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(cache_size < 2*dia_size && !c->stride){
+        av_log(s->avctx, AV_LOG_INFO, "ME_MAP size may be a little small for the selected diamond size\n");
+    }
 
     ff_set_cmp(&s->dsp, s->dsp.me_pre_cmp, c->avctx->me_pre_cmp);
     ff_set_cmp(&s->dsp, s->dsp.me_cmp, c->avctx->me_cmp);