OSDN Git Service

(commit by michael)
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 24 Jan 2002 19:06:47 +0000 (19:06 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 24 Jan 2002 19:06:47 +0000 (19:06 +0000)
motion-estimation on width/height not divisable through 16 files bugfix

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

libavcodec/motion_est.c

index d3e31fc..20f918f 100644 (file)
@@ -409,13 +409,20 @@ int estimate_motion(MpegEncContext * s,
     if (s->unrestricted_mv) {
         xmin = -16;
         ymin = -16;
-        xmax = s->width;
-        ymax = s->height;
+        if(s->avctx==NULL || s->avctx->codec->id!=CODEC_ID_MPEG4){
+            xmax = s->mb_width*16;
+            ymax = s->mb_height*16;
+        }else {
+            /* XXX: dunno if this is correct but ffmpeg4 decoder wont like it otherwise 
+                   (cuz the drawn edge isnt large enough))*/
+            xmax = s->width;
+            ymax = s->height;
+       }
     } else {
         xmin = 0;
         ymin = 0;
-        xmax = s->width - 16;
-        ymax = s->height - 16;
+        xmax = s->mb_width*16 - 16;
+        ymax = s->mb_height*16 - 16;
     }
 
     switch(s->full_search) {