Browse code

warn user if the selected diamond size is larger then the motion estimation score cache size

Originally committed as revision 7326 to svn://svn.ffmpeg.org/ffmpeg/trunk

Michael Niedermayer authored on 2006/12/17 22:11:34
Showing 1 changed files
... ...
@@ -231,6 +231,12 @@ static void zero_hpel(uint8_t *a, const uint8_t *b, int stride, int h){
231 231
 void ff_init_me(MpegEncContext *s){
232 232
     MotionEstContext * const c= &s->me;
233 233
     c->avctx= s->avctx;
234
+    int cache_size= FFMIN(ME_MAP_SIZE>>ME_MAP_SHIFT, 1<<ME_MAP_SHIFT);
235
+    int dia_size= FFMAX(FFABS(s->avctx->dia_size)&255, FFABS(s->avctx->pre_dia_size)&255);
236
+
237
+    if(cache_size < 2*dia_size && !c->stride){
238
+        av_log(s->avctx, AV_LOG_INFO, "ME_MAP size may be a little small for the selected diamond size\n");
239
+    }
234 240
 
235 241
     ff_set_cmp(&s->dsp, s->dsp.me_pre_cmp, c->avctx->me_pre_cmp);
236 242
     ff_set_cmp(&s->dsp, s->dsp.me_cmp, c->avctx->me_cmp);