Clean up av1_build_inter_predictor() interface

Remove redundant parameters setup for inter predictor control.

Change-Id: I5f86f535dc58000fffd5629aa32f0e12f8076d8d
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 126a00a..f970e24 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -7049,9 +7049,7 @@
 
     // Since we have scaled the reference frames to match the size of the
     // current frame we must use a unit scaling factor during mode selection.
-    av1_build_inter_predictor(ref_yv12[!id].buf, ref_yv12[!id].stride,
-                              second_pred, pw, &cur_mv[!id].as_mv,
-                              mi_col * MI_SIZE, mi_row * MI_SIZE,
+    av1_build_inter_predictor(second_pred, pw, &cur_mv[!id].as_mv,
                               &inter_pred_params);
 
     const int order_idx = id != 0;
@@ -7596,9 +7594,7 @@
   inter_pred_params.conv_params = get_conv_params(0, plane, xd->bd);
 
   // Get the prediction block from the 'other' reference frame.
-  av1_build_inter_predictor(ref_yv12.buf, ref_yv12.stride, second_pred, pw,
-                            other_mv, mi_col * MI_SIZE, mi_row * MI_SIZE,
-                            &inter_pred_params);
+  av1_build_inter_predictor(second_pred, pw, other_mv, &inter_pred_params);
 
   av1_dist_wtd_comp_weight_assign(cm, mbmi, 0, &xd->jcp_param.fwd_offset,
                                   &xd->jcp_param.bck_offset,
diff --git a/av1/encoder/reconinter_enc.c b/av1/encoder/reconinter_enc.c
index b347431..e8bfbf9 100644
--- a/av1/encoder/reconinter_enc.c
+++ b/av1/encoder/reconinter_enc.c
@@ -161,8 +161,7 @@
             ref, plane, xd->tmp_conv_dst, tmp_dst_stride, 0, xd->bd);
         inter_pred_params.conv_params.use_dist_wtd_comp_avg = 0;
 
-        av1_build_inter_predictor(pre_buf->buf, pre_buf->stride, dst,
-                                  dst_buf->stride, &mv, mi_x, mi_y,
+        av1_build_inter_predictor(dst, dst_buf->stride, &mv,
                                   &inter_pred_params);
         ++col;
       }
@@ -217,9 +216,7 @@
         inter_pred_params.mask_comp.seg_mask = xd->seg_mask;
       }
 
-      av1_build_inter_predictor(pre_buf.buf, pre_buf.stride, dst,
-                                dst_buf->stride, &mv, mi_x, mi_y,
-                                &inter_pred_params);
+      av1_build_inter_predictor(dst, dst_buf->stride, &mv, &inter_pred_params);
     }
   }
 }
@@ -261,14 +258,10 @@
   }
 }
 
-void av1_build_inter_predictor(const uint8_t *src, int src_stride, uint8_t *dst,
-                               int dst_stride, const MV *src_mv, int pix_col,
-                               int pix_row,
+void av1_build_inter_predictor(uint8_t *dst, int dst_stride, const MV *src_mv,
                                InterPredParams *inter_pred_params) {
   SubpelParams subpel_params;
   const struct scale_factors *sf = inter_pred_params->scale_factors;
-  (void)pix_row;
-  (void)pix_col;
 
   struct buf_2d *pre_buf = &inter_pred_params->ref_frame_buf;
   int ssx = inter_pred_params->subsampling_x;
@@ -289,8 +282,9 @@
   pos_y = clamp(pos_y, top, bottom);
   pos_x = clamp(pos_x, left, right);
 
-  src = pre_buf->buf0 + (pos_y >> SCALE_SUBPEL_BITS) * pre_buf->stride +
-        (pos_x >> SCALE_SUBPEL_BITS);
+  uint8_t *src = pre_buf->buf0 +
+                 (pos_y >> SCALE_SUBPEL_BITS) * pre_buf->stride +
+                 (pos_x >> SCALE_SUBPEL_BITS);
   subpel_params.subpel_x = pos_x & SCALE_SUBPEL_MASK;
   subpel_params.subpel_y = pos_y & SCALE_SUBPEL_MASK;
   subpel_params.xs = sf->x_step_q4;
@@ -298,10 +292,10 @@
 
   if (inter_pred_params->comp_mode == UNIFORM_SINGLE ||
       inter_pred_params->comp_mode == UNIFORM_COMP)
-    av1_make_inter_predictor(src, src_stride, dst, dst_stride,
+    av1_make_inter_predictor(src, pre_buf->stride, dst, dst_stride,
                              inter_pred_params, &subpel_params);
   else
-    av1_make_masked_inter_predictor(src, src_stride, dst, dst_stride,
+    av1_make_masked_inter_predictor(src, pre_buf->stride, dst, dst_stride,
                                     inter_pred_params, &subpel_params);
 }
 
@@ -348,8 +342,7 @@
                           above_mbmi->interp_filters);
     inter_pred_params.conv_params = get_conv_params(0, j, xd->bd);
 
-    av1_build_inter_predictor(pre_buf->buf, pre_buf->stride, pd->dst.buf,
-                              pd->dst.stride, &mv, mi_x, mi_y,
+    av1_build_inter_predictor(pd->dst.buf, pd->dst.stride, &mv,
                               &inter_pred_params);
   }
 }
@@ -458,12 +451,10 @@
     inter_pred_params.conv_params = get_conv_params(0, plane, xd->bd);
     av1_init_warp_params(&inter_pred_params, &warp_types, ref, xd, mi);
 
-    const struct buf_2d *const pre_buf = &pd->pre[ref];
     uint8_t *const dst = get_buf_by_bd(xd, ext_dst[plane]);
     const MV mv = mi->mv[ref].as_mv;
 
-    av1_build_inter_predictor(pre_buf->buf, pre_buf->stride, dst,
-                              ext_dst_stride[plane], &mv, mi_x, mi_y,
+    av1_build_inter_predictor(dst, ext_dst_stride[plane], &mv,
                               &inter_pred_params);
   }
 }
diff --git a/av1/encoder/reconinter_enc.h b/av1/encoder/reconinter_enc.h
index f3ec07e..279d2ae 100644
--- a/av1/encoder/reconinter_enc.h
+++ b/av1/encoder/reconinter_enc.h
@@ -29,8 +29,7 @@
                                    const BUFFER_SET *ctx, BLOCK_SIZE bsize,
                                    int plane_from, int plane_to);
 
-void av1_build_inter_predictor(const uint8_t *src, int src_stride, uint8_t *dst,
-                               int dst_stride, const MV *src_mv, int x, int y,
+void av1_build_inter_predictor(uint8_t *dst, int dst_stride, const MV *src_mv,
                                InterPredParams *inter_pred_params);
 
 void av1_build_prediction_by_above_preds(const AV1_COMMON *cm, MACROBLOCKD *xd,
diff --git a/av1/encoder/temporal_filter.c b/av1/encoder/temporal_filter.c
index 9ea73bb..5f2af82 100644
--- a/av1/encoder/temporal_filter.c
+++ b/av1/encoder/temporal_filter.c
@@ -51,25 +51,18 @@
                                          1431655766U, 1288490189U, 1171354718U,
                                          0U,          991146300U };
 
-static void temporal_filter_predictors_mb_c(
-    YV12_BUFFER_CONFIG *ref_frame, MACROBLOCKD *xd, uint8_t *y_mb_ptr,
-    uint8_t *u_mb_ptr, uint8_t *v_mb_ptr, int stride, int uv_block_width,
-    int uv_block_height, int mv_row, int mv_col, uint8_t *pred,
-    struct scale_factors *scale, int x, int y, int num_planes, MV *blk_mvs,
-    int use_32x32) {
-  int uv_stride;
+static void temporal_filter_predictors_mb_c(YV12_BUFFER_CONFIG *ref_frame,
+                                            MACROBLOCKD *xd, int uv_block_width,
+                                            int uv_block_height, int mv_row,
+                                            int mv_col, uint8_t *pred,
+                                            struct scale_factors *scale, int x,
+                                            int y, int num_planes, MV *blk_mvs,
+                                            int use_32x32) {
   const int_interpfilters interp_filters =
       av1_broadcast_interp_filter(MULTITAP_SHARP);
   WarpTypesAllowed warp_types;
   memset(&warp_types, 0, sizeof(WarpTypesAllowed));
 
-  const int ssx = (uv_block_width == (BW >> 1)) ? 1 : 0;
-  if (ssx) {
-    uv_stride = (stride + 1) >> 1;
-  } else {
-    uv_stride = stride;
-  }
-
   InterPredParams inter_pred_params;
   struct buf_2d ref_buf_y = { NULL, ref_frame->y_buffer, ref_frame->y_width,
                               ref_frame->y_height, ref_frame->y_stride };
@@ -84,8 +77,7 @@
            mv_col <= INT16_MAX);
     const MV mv = { (int16_t)mv_row, (int16_t)mv_col };
 
-    av1_build_inter_predictor(y_mb_ptr, stride, &pred[0], BW, &mv, x, y,
-                              &inter_pred_params);
+    av1_build_inter_predictor(&pred[0], BW, &mv, &inter_pred_params);
 
     if (num_planes > 1) {
       struct buf_2d ref_buf_uv = { NULL, ref_frame->u_buffer,
@@ -98,8 +90,8 @@
           xd->plane[1].subsampling_x, xd->plane[1].subsampling_y, xd->bd,
           is_cur_buf_hbd(xd), 0, scale, &ref_buf_uv, interp_filters);
       inter_pred_params.conv_params = get_conv_params(0, 1, xd->bd);
-      av1_build_inter_predictor(u_mb_ptr, uv_stride, &pred[BLK_PELS],
-                                uv_block_width, &mv, x, y, &inter_pred_params);
+      av1_build_inter_predictor(&pred[BLK_PELS], uv_block_width, &mv,
+                                &inter_pred_params);
 
       ref_buf_uv.buf0 = ref_frame->v_buffer;
       av1_init_inter_params(
@@ -108,8 +100,8 @@
           xd->plane[1].subsampling_x, xd->plane[1].subsampling_y, xd->bd,
           is_cur_buf_hbd(xd), 0, scale, &ref_buf_uv, interp_filters);
       inter_pred_params.conv_params = get_conv_params(0, 2, xd->bd);
-      av1_build_inter_predictor(v_mb_ptr, uv_stride, &pred[(BLK_PELS << 1)],
-                                uv_block_width, &mv, x, y, &inter_pred_params);
+      av1_build_inter_predictor(&pred[(BLK_PELS << 1)], uv_block_width, &mv,
+                                &inter_pred_params);
     }
 
     return;
@@ -122,7 +114,6 @@
   for (i = 0; i < BH; i += ys) {
     for (j = 0; j < BW; j += xs) {
       const MV mv = blk_mvs[k];
-      const int y_offset = i * stride + j;
       const int p_offset = i * BW + j;
 
       av1_init_inter_params(&inter_pred_params, xs, ys, y + i, x + j, 0, 0,
@@ -130,8 +121,7 @@
                             interp_filters);
       inter_pred_params.conv_params = get_conv_params(0, 0, xd->bd);
 
-      av1_build_inter_predictor(y_mb_ptr + y_offset, stride, &pred[p_offset],
-                                BW, &mv, x, y, &inter_pred_params);
+      av1_build_inter_predictor(&pred[p_offset], BW, &mv, &inter_pred_params);
       k++;
     }
   }
@@ -145,7 +135,6 @@
     for (i = 0; i < uv_block_height; i += ys) {
       for (j = 0; j < uv_block_width; j += xs) {
         const MV mv = blk_mvs[k];
-        const int uv_offset = i * uv_stride + j;
         const int p_offset = i * uv_block_width + j;
 
         struct buf_2d ref_buf_uv = { NULL, ref_frame->u_buffer,
@@ -158,9 +147,8 @@
             xd->plane[1].subsampling_y, xd->bd, is_cur_buf_hbd(xd), 0, scale,
             &ref_buf_uv, interp_filters);
         inter_pred_params.conv_params = get_conv_params(0, 1, xd->bd);
-        av1_build_inter_predictor(u_mb_ptr + uv_offset, uv_stride,
-                                  &pred[BLK_PELS + p_offset], uv_block_width,
-                                  &mv, x, y, &inter_pred_params);
+        av1_build_inter_predictor(&pred[BLK_PELS + p_offset], uv_block_width,
+                                  &mv, &inter_pred_params);
 
         ref_buf_uv.buf0 = ref_frame->v_buffer;
         av1_init_inter_params(
@@ -170,9 +158,8 @@
             &ref_buf_uv, interp_filters);
 
         inter_pred_params.conv_params = get_conv_params(0, 2, xd->bd);
-        av1_build_inter_predictor(
-            v_mb_ptr + uv_offset, uv_stride, &pred[(BLK_PELS << 1) + p_offset],
-            uv_block_width, &mv, x, y, &inter_pred_params);
+        av1_build_inter_predictor(&pred[(BLK_PELS << 1) + p_offset],
+                                  uv_block_width, &mv, &inter_pred_params);
         k++;
       }
     }
@@ -1186,10 +1173,7 @@
         if (blk_fw[0] || blk_fw[1] || blk_fw[2] || blk_fw[3]) {
           // Construct the predictors
           temporal_filter_predictors_mb_c(
-              frames[frame], mbd, frames[frame]->y_buffer + mb_y_src_offset,
-              frames[frame]->u_buffer + mb_uv_src_offset,
-              frames[frame]->v_buffer + mb_uv_src_offset,
-              frames[frame]->y_stride, mb_uv_width, mb_uv_height,
+              frames[frame], mbd, mb_uv_width, mb_uv_height,
               mbd->mi[0]->mv[0].as_mv.row, mbd->mi[0]->mv[0].as_mv.col,
               predictor, ref_scale_factors, mb_col * BW, mb_row * BH,
               num_planes, blk_mvs, use_32x32);
diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 714e63f..aaef6de 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -271,9 +271,8 @@
                           sf, &ref_buf, kernel);
     inter_pred_params.conv_params = get_conv_params(0, 0, xd->bd);
 
-    av1_build_inter_predictor(ref_mb, ref_stride, predictor, bw,
-                              &x->best_mv.as_mv, mi_col * MI_SIZE,
-                              mi_row * MI_SIZE, &inter_pred_params);
+    av1_build_inter_predictor(predictor, bw, &x->best_mv.as_mv,
+                              &inter_pred_params);
 
 #if CONFIG_AV1_HIGHBITDEPTH
     if (is_cur_buf_hbd(xd)) {
@@ -327,14 +326,8 @@
                           sf, &ref_buf, kernel);
     inter_pred_params.conv_params = get_conv_params(0, 0, xd->bd);
 
-    const int ref_mb_offset =
-        mi_row * MI_SIZE * ref_frame_ptr->y_stride + mi_col * MI_SIZE;
-    uint8_t *ref_mb = ref_frame_ptr->y_buffer + ref_mb_offset;
-    int ref_stride = ref_frame_ptr->y_stride;
-
-    av1_build_inter_predictor(ref_mb, ref_stride, dst_buffer, dst_buffer_stride,
-                              &best_mv.as_mv, mi_col * MI_SIZE,
-                              mi_row * MI_SIZE, &inter_pred_params);
+    av1_build_inter_predictor(dst_buffer, dst_buffer_stride, &best_mv.as_mv,
+                              &inter_pred_params);
   } else {
     av1_predict_intra_block(cm, xd, block_size_wide[bsize],
                             block_size_high[bsize], tx_size, best_mode, 0, 0,
@@ -1092,9 +1085,7 @@
                             0, &sf, &ref_buf, kernel);
       inter_pred_params.conv_params = get_conv_params(0, 0, xd->bd);
 
-      av1_build_inter_predictor(ref->y_buffer + mb_y_offset_ref, ref->y_stride,
-                                predictor, bw, &x->best_mv.as_mv,
-                                mi_col * MI_SIZE, mi_row * MI_SIZE,
+      av1_build_inter_predictor(predictor, bw, &x->best_mv.as_mv,
                                 &inter_pred_params);
       if (use_satd) {
 #if CONFIG_AV1_HIGHBITDEPTH