shithub: libvpx

Download patch

ref: 9c62f94129fc3ed63fb710009a952afe11456ccd
parent: eafdc5e10acd025e3587ee56bfa90894eb52d5ba
author: Yunqing Wang <yunqingwang@google.com>
date: Wed May 18 05:52:56 EDT 2011

Fix a bug in vp8_clamp_mv function

Scott fixed the bug in MV clamping function in encoder, which
could cause artifacts.

Change-Id: Id05f2794c43c31cdd45e66179c8811f3ee452cb9

--- a/vp8/encoder/pickinter.c
+++ b/vp8/encoder/pickinter.c
@@ -637,10 +637,10 @@
 
             /* adjust mvp to make sure it is within MV range */
             vp8_clamp_mv(&mvp,
-                         best_ref_mv.as_mv.row - MAX_FULL_PEL_VAL,
-                         best_ref_mv.as_mv.row + MAX_FULL_PEL_VAL,
                          best_ref_mv.as_mv.col - MAX_FULL_PEL_VAL,
-                         best_ref_mv.as_mv.col + MAX_FULL_PEL_VAL);
+                         best_ref_mv.as_mv.col + MAX_FULL_PEL_VAL,
+                         best_ref_mv.as_mv.row - MAX_FULL_PEL_VAL,
+                         best_ref_mv.as_mv.row + MAX_FULL_PEL_VAL);
         }
 
         switch (this_mode)
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -1878,10 +1878,10 @@
 
             /* adjust mvp to make sure it is within MV range */
             vp8_clamp_mv(&mvp,
-                         best_ref_mv.as_mv.row - MAX_FULL_PEL_VAL,
-                         best_ref_mv.as_mv.row + MAX_FULL_PEL_VAL,
                          best_ref_mv.as_mv.col - MAX_FULL_PEL_VAL,
-                         best_ref_mv.as_mv.col + MAX_FULL_PEL_VAL);
+                         best_ref_mv.as_mv.col + MAX_FULL_PEL_VAL,
+                         best_ref_mv.as_mv.row - MAX_FULL_PEL_VAL,
+                         best_ref_mv.as_mv.row + MAX_FULL_PEL_VAL);
         }
 
         // Check to see if the testing frequency for this mode is at its max