]> granicus.if.org Git - libvpx/commitdiff
Using MV* instead of int_mv* as argument of vp9_clamp_mv_min_max.
authorDmitry Kovalev <dkovalev@google.com>
Mon, 12 Aug 2013 18:18:28 +0000 (11:18 -0700)
committerDmitry Kovalev <dkovalev@google.com>
Mon, 12 Aug 2013 20:56:04 +0000 (13:56 -0700)
Change-Id: I3c45916a9059f11b41e9d798e34ffee052969a44

vp9/encoder/vp9_mbgraph.c
vp9/encoder/vp9_mcomp.c
vp9/encoder/vp9_mcomp.h
vp9/encoder/vp9_rdopt.c

index 314e195d251ee8cfb000ed38599e2e3447eed753..57fa0106ed820e40081954de862a9f09f61d288a 100644 (file)
@@ -40,7 +40,7 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi,
       (cpi->speed < 8 ? (cpi->speed > 5 ? 1 : 0) : 2);
   step_param = MIN(step_param, (cpi->sf.max_step_search_steps - 2));
 
-  vp9_clamp_mv_min_max(x, ref_mv);
+  vp9_clamp_mv_min_max(x, &ref_mv->as_mv);
 
   ref_full.as_mv.col = ref_mv->as_mv.col >> 3;
   ref_full.as_mv.row = ref_mv->as_mv.row >> 3;
index ca02df881bd98d87250c3ae686786a4bba20a0ae..b6515e6975dda18b6b8b0468159e855915c1b06e 100644 (file)
 
 // #define NEW_DIAMOND_SEARCH
 
-void vp9_clamp_mv_min_max(MACROBLOCK *x, int_mv *ref_mv) {
-  const int col_min = (ref_mv->as_mv.col >> 3) - MAX_FULL_PEL_VAL +
-                ((ref_mv->as_mv.col & 7) ? 1 : 0);
-  const int row_min = (ref_mv->as_mv.row >> 3) - MAX_FULL_PEL_VAL +
-                ((ref_mv->as_mv.row & 7) ? 1 : 0);
-  const int col_max = (ref_mv->as_mv.col >> 3) + MAX_FULL_PEL_VAL;
-  const int row_max = (ref_mv->as_mv.row >> 3) + MAX_FULL_PEL_VAL;
-
-  /* Get intersection of UMV window and valid MV window to reduce # of checks in diamond search. */
+void vp9_clamp_mv_min_max(MACROBLOCK *x, MV *mv) {
+  const int col_min = (mv->col >> 3) - MAX_FULL_PEL_VAL + (mv->col & 7 ? 1 : 0);
+  const int row_min = (mv->row >> 3) - MAX_FULL_PEL_VAL + (mv->row & 7 ? 1 : 0);
+  const int col_max = (mv->col >> 3) + MAX_FULL_PEL_VAL;
+  const int row_max = (mv->row >> 3) + MAX_FULL_PEL_VAL;
+
+  // Get intersection of UMV window and valid MV window to reduce # of checks
+  // in diamond search.
   if (x->mv_col_min < col_min)
     x->mv_col_min = col_min;
   if (x->mv_col_max > col_max)
index 35ef483c6c87567abc205ee8879b4763d91677e4..3598fa09a554a23b79918d86b52edcead8c8c538 100644 (file)
@@ -23,7 +23,7 @@
 // Maximum size of the first step in full pel units
 #define MAX_FIRST_STEP (1 << (MAX_MVSEARCH_STEPS-1))
 
-void vp9_clamp_mv_min_max(MACROBLOCK *x, int_mv *ref_mv);
+void vp9_clamp_mv_min_max(MACROBLOCK *x, MV *mv);
 int vp9_mv_bit_cost(int_mv *mv, int_mv *ref, int *mvjcost,
                            int *mvcost[2], int weight);
 void vp9_init_dsmotion_compensation(MACROBLOCK *x, int stride);
index 7321a2f8702c37f844b1eee72c2ba51873a94d15..fc41648d1017cc391ee84c26c283be19b148f892 100644 (file)
@@ -2457,7 +2457,7 @@ static void single_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
     setup_pre_planes(xd, 0, scaled_ref_frame, mi_row, mi_col, NULL);
   }
 
-  vp9_clamp_mv_min_max(x, &ref_mv);
+  vp9_clamp_mv_min_max(x, &ref_mv.as_mv);
 
   // Adjust search parameters based on small partitions' result.
   if (x->fast_ms) {
@@ -2637,7 +2637,7 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
     // Compound motion search on first ref frame.
     if (id)
       xd->plane[0].pre[0] = ref_yv12[id];
-    vp9_clamp_mv_min_max(x, &ref_mv[id]);
+    vp9_clamp_mv_min_max(x, &ref_mv[id].as_mv);
 
     // Use mv result from single mode as mvp.
     tmp_mv.as_int = frame_mv[refs[id]].as_int;