avcodec/motion_est: Only clip MVs which are used
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 11 Jun 2014 20:08:15 +0000 (22:08 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 11 Jun 2014 20:15:04 +0000 (22:15 +0200)
Fixes valgrind mpeg4 failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/motion_est.c

index 0500002..b093580 100644 (file)
@@ -620,7 +620,11 @@ static inline int h263_mv4_search(MpegEncContext *s, int mx, int my, int shift)
         P_MV1[0]= mx;
         P_MV1[1]= my;
         if(saftey_cliping)
-            for(i=0; i<10; i++){
+            for(i=1; i<10; i++){
+                if (s->first_slice_line && block<2 && i>1 && i<9)
+                    continue;
+                if (i>4 && i<9)
+                    continue;
                 if(P[i][0] > (c->xmax<<shift)) P[i][0]= (c->xmax<<shift);
                 if(P[i][1] > (c->ymax<<shift)) P[i][1]= (c->ymax<<shift);
             }