diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 6054735..a4c50ce 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -5045,9 +5045,8 @@
         this_mv[ref].as_int =
             gm_get_motion_vector(
                 &cpi->common.global_motion[mbmi->ref_frame[ref]],
-                cpi->common.allow_high_precision_mv,
-                block_center_x(mi_col, mbmi->sb_type),
-                block_center_y(mi_row, mbmi->sb_type))
+                cpi->common.allow_high_precision_mv, mbmi->sb_type, mi_col,
+                mi_row)
                 .as_int;
         thismvcost += GLOBAL_MOTION_RATE(cpi, mbmi->ref_frame[ref]);
 #else
@@ -5105,14 +5104,12 @@
       this_mv[0].as_int =
           gm_get_motion_vector(&cpi->common.global_motion[mbmi->ref_frame[0]],
                                cpi->common.allow_high_precision_mv,
-                               block_center_x(mi_col, mbmi->sb_type),
-                               block_center_y(mi_row, mbmi->sb_type))
+                               mbmi->sb_type, mi_col, mi_row)
               .as_int;
       this_mv[1].as_int =
           gm_get_motion_vector(&cpi->common.global_motion[mbmi->ref_frame[1]],
                                cpi->common.allow_high_precision_mv,
-                               block_center_x(mi_col, mbmi->sb_type),
-                               block_center_y(mi_row, mbmi->sb_type))
+                               mbmi->sb_type, mi_col, mi_row)
               .as_int;
       thismvcost += GLOBAL_MOTION_RATE(cpi, mbmi->ref_frame[0]) +
                     GLOBAL_MOTION_RATE(cpi, mbmi->ref_frame[1]);
@@ -5382,9 +5379,8 @@
         )
       zeromv[cur_frm].as_int =
           gm_get_motion_vector(&cpi->common.global_motion[ref_frames[cur_frm]],
-                               cpi->common.allow_high_precision_mv,
-                               block_center_x(mi_col, bsize),
-                               block_center_y(mi_row, bsize))
+                               cpi->common.allow_high_precision_mv, bsize,
+                               mi_col, mi_row)
               .as_int;
     else
 #endif  // CONFIG_GLOBAL_MOTION
@@ -5845,9 +5841,8 @@
 #if CONFIG_GLOBAL_MOTION
         frame_mv[ZEROMV][frame].as_int =
             gm_get_motion_vector(&cm->global_motion[frame],
-                                 cm->allow_high_precision_mv,
-                                 block_center_x(mi_col, mbmi->sb_type),
-                                 block_center_y(mi_row, mbmi->sb_type))
+                                 cm->allow_high_precision_mv, mbmi->sb_type,
+                                 mi_col, mi_row)
                 .as_int;
 #else   // CONFIG_GLOBAL_MOTION
         frame_mv[ZEROMV][frame].as_int = 0;
@@ -5879,9 +5874,8 @@
 #if CONFIG_GLOBAL_MOTION
           frame_mv[ZERO_ZEROMV][frame].as_int =
               gm_get_motion_vector(&cm->global_motion[frame],
-                                   cm->allow_high_precision_mv,
-                                   block_center_x(mi_col, mbmi->sb_type),
-                                   block_center_y(mi_row, mbmi->sb_type))
+                                   cm->allow_high_precision_mv, mbmi->sb_type,
+                                   mi_col, mi_row)
                   .as_int;
 #else
           frame_mv[ZERO_ZEROMV][frame].as_int = 0;
@@ -9607,9 +9601,8 @@
     frame_mv[NEWMV][ref_frame].as_int = INVALID_MV;
 #if CONFIG_GLOBAL_MOTION
     frame_mv[ZEROMV][ref_frame].as_int =
-        gm_get_motion_vector(
-            &cm->global_motion[ref_frame], cm->allow_high_precision_mv,
-            block_center_x(mi_col, bsize), block_center_y(mi_row, bsize))
+        gm_get_motion_vector(&cm->global_motion[ref_frame],
+                             cm->allow_high_precision_mv, bsize, mi_col, mi_row)
             .as_int;
 #else   // CONFIG_GLOBAL_MOTION
     frame_mv[ZEROMV][ref_frame].as_int = 0;
@@ -9619,9 +9612,8 @@
     frame_mv[NEW_NEWMV][ref_frame].as_int = INVALID_MV;
 #if CONFIG_GLOBAL_MOTION
     frame_mv[ZERO_ZEROMV][ref_frame].as_int =
-        gm_get_motion_vector(
-            &cm->global_motion[ref_frame], cm->allow_high_precision_mv,
-            block_center_x(mi_col, bsize), block_center_y(mi_row, bsize))
+        gm_get_motion_vector(&cm->global_motion[ref_frame],
+                             cm->allow_high_precision_mv, bsize, mi_col, mi_row)
             .as_int;
 #else   // CONFIG_GLOBAL_MOTION
     frame_mv[ZERO_ZEROMV][ref_frame].as_int = 0;
@@ -9728,9 +9720,8 @@
       mode_skip_mask[ALTREF_FRAME] = ~INTER_NEAREST_NEAR_ZERO;
 #if CONFIG_GLOBAL_MOTION
       zeromv.as_int = gm_get_motion_vector(&cm->global_motion[ALTREF_FRAME],
-                                           cm->allow_high_precision_mv,
-                                           block_center_x(mi_col, bsize),
-                                           block_center_y(mi_row, bsize))
+                                           cm->allow_high_precision_mv, bsize,
+                                           mi_col, mi_row)
                           .as_int;
 #else
       zeromv.as_int = 0;
@@ -10924,16 +10915,14 @@
     const uint8_t rf_type = av1_ref_frame_type(best_mbmode.ref_frame);
 #endif  // CONFIG_REF_MV
 #if CONFIG_GLOBAL_MOTION
-    zeromv[0].as_int = gm_get_motion_vector(&cm->global_motion[refs[0]],
-                                            cm->allow_high_precision_mv,
-                                            block_center_x(mi_col, bsize),
-                                            block_center_y(mi_row, bsize))
-                           .as_int;
+    zeromv[0].as_int =
+        gm_get_motion_vector(&cm->global_motion[refs[0]],
+                             cm->allow_high_precision_mv, bsize, mi_col, mi_row)
+            .as_int;
     zeromv[1].as_int = comp_pred_mode
                            ? gm_get_motion_vector(&cm->global_motion[refs[1]],
                                                   cm->allow_high_precision_mv,
-                                                  block_center_x(mi_col, bsize),
-                                                  block_center_y(mi_row, bsize))
+                                                  bsize, mi_col, mi_row)
                                  .as_int
                            : 0;
 #else
@@ -11045,17 +11034,14 @@
 #if CONFIG_GLOBAL_MOTION
       zeromv[0].as_int = gm_get_motion_vector(&cm->global_motion[refs[0]],
                                               cm->allow_high_precision_mv,
-                                              block_center_x(mi_col, bsize),
-                                              block_center_y(mi_row, bsize))
+                                              bsize, mi_col, mi_row)
                              .as_int;
-      zeromv[1].as_int =
-          comp_pred_mode
-              ? gm_get_motion_vector(&cm->global_motion[refs[1]],
-                                     cm->allow_high_precision_mv,
-                                     block_center_x(mi_col, bsize),
-                                     block_center_y(mi_row, bsize))
-                    .as_int
-              : 0;
+      zeromv[1].as_int = comp_pred_mode
+                             ? gm_get_motion_vector(&cm->global_motion[refs[1]],
+                                                    cm->allow_high_precision_mv,
+                                                    bsize, mi_col, mi_row)
+                                   .as_int
+                             : 0;
 #else
       zeromv[0].as_int = 0;
       zeromv[1].as_int = 0;
@@ -11099,13 +11085,11 @@
                                            best_mbmode.ref_frame[1] };
       zeromv[0].as_int = gm_get_motion_vector(&cm->global_motion[refs[0]],
                                               cm->allow_high_precision_mv,
-                                              block_center_x(mi_col, bsize),
-                                              block_center_y(mi_row, bsize))
+                                              bsize, mi_col, mi_row)
                              .as_int;
       zeromv[1].as_int = gm_get_motion_vector(&cm->global_motion[refs[1]],
                                               cm->allow_high_precision_mv,
-                                              block_center_x(mi_col, bsize),
-                                              block_center_y(mi_row, bsize))
+                                              bsize, mi_col, mi_row)
                              .as_int;
       lower_mv_precision(&zeromv[0].as_mv, cm->allow_high_precision_mv);
       lower_mv_precision(&zeromv[1].as_mv, cm->allow_high_precision_mv);
@@ -11266,9 +11250,8 @@
   mbmi->ref_frame[1] = NONE_FRAME;
 #if CONFIG_GLOBAL_MOTION
   mbmi->mv[0].as_int =
-      gm_get_motion_vector(
-          &cm->global_motion[mbmi->ref_frame[0]], cm->allow_high_precision_mv,
-          block_center_x(mi_col, bsize), block_center_y(mi_row, bsize))
+      gm_get_motion_vector(&cm->global_motion[mbmi->ref_frame[0]],
+                           cm->allow_high_precision_mv, bsize, mi_col, mi_row)
           .as_int;
 #else   // CONFIG_GLOBAL_MOTION
   mbmi->mv[0].as_int = 0;
