shithub: libvpx

Download patch

ref: 08cf9faed0ac907a14ee83c9b1d99dd57fd89be6
parent: 7b7ca65bfc15b1dc47a0f1063b66d0e85fba849b
parent: 818b10396dce15081b6cb74d76a3b050a3296910
author: Jim Bankoski <jimbankoski@google.com>
date: Wed Sep 12 09:50:29 EDT 2012

Merge "valgrind found motion vectors which exceeded frame boundaries"

--- a/vp8/decoder/decodemv.c
+++ b/vp8/decoder/decodemv.c
@@ -293,25 +293,23 @@
                     blockmv.as_mv.row += best_mv.as_mv.row;
                     blockmv.as_mv.col = read_mvcomponent(bc, &mvc[1]) << 1;
                     blockmv.as_mv.col += best_mv.as_mv.col;
-
-                    mbmi->need_to_clamp_mvs |= vp8_check_mv_bounds(&blockmv,
-                                                              mb_to_left_edge,
-                                                              mb_to_right_edge,
-                                                              mb_to_top_edge,
-                                                              mb_to_bottom_edge);
                 }
             }
             else
             {
                 blockmv.as_int = abovemv.as_int;
-                mbmi->need_to_clamp_mvs |= above_mb->mbmi.need_to_clamp_mvs;
             }
         }
         else
         {
             blockmv.as_int = leftmv.as_int;
-            mbmi->need_to_clamp_mvs |= left_mb->mbmi.need_to_clamp_mvs;
         }
+
+        mbmi->need_to_clamp_mvs |= vp8_check_mv_bounds(&blockmv,
+                                                  mb_to_left_edge,
+                                                  mb_to_right_edge,
+                                                  mb_to_top_edge,
+                                                  mb_to_bottom_edge);
 
         {
             /* Fill (uniform) modes, mvs of jth subset.
--