Clean up av1_tpl_ptr_pos() interface

This CL removes redundant parameters from av1_tpl_ptr_pos()
and a few caller functions.

BUG=aomedia:2610

Change-Id: Id2fed34e8b44a53c2436988e892610493cdea3bf
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 1cfc0f7..c1c740e 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -3898,6 +3898,7 @@
   TplParams *const tpl_data = &cpi->tpl_data;
   TplDepFrame *tpl_frame = &tpl_data->tpl_frame[tpl_idx];
   TplDepStats *tpl_stats = tpl_frame->tpl_stats_ptr;
+  const uint8_t block_mis_log2 = tpl_data->tpl_stats_block_mis_log2;
   int tpl_stride = tpl_frame->stride;
   int64_t intra_cost = 0;
   int64_t mc_dep_cost = 0;
@@ -3917,12 +3918,12 @@
   const int mi_col_end_sr =
       coded_to_superres_mi(mi_col + mi_wide, cm->superres_scale_denominator);
   const int mi_cols_sr = av1_pixels_to_mi(cm->superres_upscaled_width);
-  const int step = 1 << tpl_data->tpl_stats_block_mis_log2;
+  const int step = 1 << block_mis_log2;
   for (int row = mi_row; row < mi_row + mi_high; row += step) {
     for (int col = mi_col_sr; col < mi_col_end_sr; col += step) {
       if (row >= cm->mi_params.mi_rows || col >= mi_cols_sr) continue;
       TplDepStats *this_stats =
-          &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+          &tpl_stats[av1_tpl_ptr_pos(row, col, tpl_stride, block_mis_log2)];
       int64_t mc_dep_delta =
           RDCOST(tpl_frame->base_rdmult, this_stats->mc_dep_rate,
                  this_stats->mc_dep_dist);
@@ -3979,7 +3980,8 @@
 
   AV1_COMMON *const cm = &cpi->common;
   const int gf_group_index = cpi->gf_group.index;
-  TplDepFrame *tpl_frame = &cpi->tpl_data.tpl_frame[gf_group_index];
+  TplParams *const tpl_data = &cpi->tpl_data;
+  TplDepFrame *tpl_frame = &tpl_data->tpl_frame[gf_group_index];
   TplDepStats *tpl_stats = tpl_frame->tpl_stats_ptr;
   int tpl_stride = tpl_frame->stride;
   const int mi_wide = mi_size_wide[bsize];
@@ -4007,8 +4009,8 @@
   for (int row = mi_row; row < mi_row + mi_high; row += step) {
     for (int col = mi_col_sr; col < mi_col_end_sr; col += step) {
       if (row >= cm->mi_params.mi_rows || col >= mi_cols_sr) continue;
-      TplDepStats *this_stats =
-          &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+      TplDepStats *this_stats = &tpl_stats[av1_tpl_ptr_pos(
+          row, col, tpl_stride, tpl_data->tpl_stats_block_mis_log2)];
       inter_cost_b[mi_count] = this_stats->inter_cost;
       intra_cost_b[mi_count] = this_stats->intra_cost;
       mi_count++;
@@ -4031,6 +4033,7 @@
   TplParams *const tpl_data = &cpi->tpl_data;
   TplDepFrame *tpl_frame = &tpl_data->tpl_frame[tpl_idx];
   TplDepStats *tpl_stats = tpl_frame->tpl_stats_ptr;
+  const uint8_t block_mis_log2 = tpl_data->tpl_stats_block_mis_log2;
   int tpl_stride = tpl_frame->stride;
   int64_t intra_cost = 0;
   int64_t mc_dep_cost = 0;
@@ -4051,12 +4054,12 @@
   const int mi_col_end_sr =
       coded_to_superres_mi(mi_col + mi_wide, cm->superres_scale_denominator);
   const int mi_cols_sr = av1_pixels_to_mi(cm->superres_upscaled_width);
-  const int step = 1 << tpl_data->tpl_stats_block_mis_log2;
+  const int step = 1 << block_mis_log2;
   for (int row = mi_row; row < mi_row + mi_high; row += step) {
     for (int col = mi_col_sr; col < mi_col_end_sr; col += step) {
       if (row >= cm->mi_params.mi_rows || col >= mi_cols_sr) continue;
       TplDepStats *this_stats =
-          &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+          &tpl_stats[av1_tpl_ptr_pos(row, col, tpl_stride, block_mis_log2)];
       int64_t mc_dep_delta =
           RDCOST(tpl_frame->base_rdmult, this_stats->mc_dep_rate,
                  this_stats->mc_dep_dist);
@@ -4557,6 +4560,7 @@
   const int frame_idx = cpi->gf_group.index;
   TplParams *const tpl_data = &cpi->tpl_data;
   TplDepFrame *tpl_frame = &tpl_data->tpl_frame[frame_idx];
+  const uint8_t block_mis_log2 = tpl_data->tpl_stats_block_mis_log2;
 
   av1_zero(x->search_ref_frame);
 
@@ -4575,7 +4579,7 @@
   TplDepStats *tpl_stats = tpl_frame->tpl_stats_ptr;
   const int tpl_stride = tpl_frame->stride;
   int64_t inter_cost[INTER_REFS_PER_FRAME] = { 0 };
-  const int step = 1 << tpl_data->tpl_stats_block_mis_log2;
+  const int step = 1 << block_mis_log2;
   const BLOCK_SIZE sb_size = cm->seq_params.sb_size;
   const int mi_row_end =
       AOMMIN(mi_size_high[sb_size] + mi_row, mi_params->mi_rows);
@@ -4585,7 +4589,7 @@
   for (int row = mi_row; row < mi_row_end; row += step) {
     for (int col = mi_col; col < mi_col_end; col += step) {
       const TplDepStats *this_stats =
-          &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+          &tpl_stats[av1_tpl_ptr_pos(row, col, tpl_stride, block_mis_log2)];
       int64_t tpl_pred_error[INTER_REFS_PER_FRAME] = { 0 };
       // Find the winner ref frame idx for the current block
       int64_t best_inter_cost = this_stats->pred_error[0];
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 4758e7d..63a1c4c 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2677,12 +2677,12 @@
                   aom_calloc(mi_params->mi_rows * mi_params->mi_cols, 1));
 }
 
-static AOM_INLINE void set_tpl_stats_block_size(
-    int width, int height, uint8_t *tpl_stats_block_mis_log2) {
+static AOM_INLINE void set_tpl_stats_block_size(int width, int height,
+                                                uint8_t *block_mis_log2) {
   const int is_720p_or_larger = AOMMIN(width, height) >= 720;
 
   // 0: 4x4, 1: 8x8, 2: 16x16
-  *tpl_stats_block_mis_log2 = is_720p_or_larger ? 2 : 1;
+  *block_mis_log2 = is_720p_or_larger ? 2 : 1;
 }
 
 void av1_alloc_compound_type_rd_buffers(AV1_COMMON *const cm,
@@ -2953,9 +2953,10 @@
 static INLINE void setup_tpl_buffers(AV1_COMMON *const cm,
                                      TplParams *const tpl_data) {
   CommonModeInfoParams *const mi_params = &cm->mi_params;
-
   set_tpl_stats_block_size(cm->width, cm->height,
                            &tpl_data->tpl_stats_block_mis_log2);
+  const uint8_t block_mis_log2 = tpl_data->tpl_stats_block_mis_log2;
+
   for (int frame = 0; frame < MAX_LENGTH_TPL_FRAME_STATS; ++frame) {
     const int mi_cols =
         ALIGN_POWER_OF_TWO(mi_params->mi_cols, MAX_MIB_SIZE_LOG2);
@@ -2963,10 +2964,8 @@
         ALIGN_POWER_OF_TWO(mi_params->mi_rows, MAX_MIB_SIZE_LOG2);
 
     tpl_data->tpl_stats_buffer[frame].is_valid = 0;
-    tpl_data->tpl_stats_buffer[frame].width =
-        mi_cols >> tpl_data->tpl_stats_block_mis_log2;
-    tpl_data->tpl_stats_buffer[frame].height =
-        mi_rows >> tpl_data->tpl_stats_block_mis_log2;
+    tpl_data->tpl_stats_buffer[frame].width = mi_cols >> block_mis_log2;
+    tpl_data->tpl_stats_buffer[frame].height = mi_rows >> block_mis_log2;
     tpl_data->tpl_stats_buffer[frame].stride =
         tpl_data->tpl_stats_buffer[frame].width;
     tpl_data->tpl_stats_buffer[frame].mi_rows = mi_params->mi_rows;
@@ -4122,8 +4121,8 @@
 
     for (int row = 0; row < cm->mi_params.mi_rows; row += step) {
       for (int col = 0; col < mi_cols_sr; col += step) {
-        TplDepStats *this_stats =
-            &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+        TplDepStats *this_stats = &tpl_stats[av1_tpl_ptr_pos(
+            row, col, tpl_stride, tpl_data->tpl_stats_block_mis_log2)];
         int64_t mc_dep_delta =
             RDCOST(tpl_frame->base_rdmult, this_stats->mc_dep_rate,
                    this_stats->mc_dep_dist);
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 705d11c..89d5ba5 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -2140,8 +2140,8 @@
        row += step) {
     for (int col = mi_col_sr; col < AOMMIN(mi_col_end_sr, mi_cols_sr);
          col += step) {
-      const TplDepStats *this_stats =
-          &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+      const TplDepStats *this_stats = &tpl_stats[av1_tpl_ptr_pos(
+          row, col, tpl_stride, tpl_data->tpl_stats_block_mis_log2)];
 
       // Sums up the inter cost of corresponding ref frames
       for (int ref_idx = 0; ref_idx < INTER_REFS_PER_FRAME; ref_idx++) {
diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 3eef2e2..f846f88 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -200,7 +200,9 @@
 
   (void)gf_group;
 
-  TplDepFrame *tpl_frame = &cpi->tpl_data.tpl_frame[frame_idx];
+  TplParams *tpl_data = &cpi->tpl_data;
+  TplDepFrame *tpl_frame = &tpl_data->tpl_frame[frame_idx];
+  const uint8_t block_mis_log2 = tpl_data->tpl_stats_block_mis_log2;
 
   const int bw = 4 << mi_size_wide_log2[bsize];
   const int bh = 4 << mi_size_high_log2[bsize];
@@ -318,7 +320,7 @@
 
     if (xd->up_available) {
       TplDepStats *ref_tpl_stats = &tpl_frame->tpl_stats_ptr[av1_tpl_ptr_pos(
-          cpi, mi_row - mi_height, mi_col, tpl_frame->stride)];
+          mi_row - mi_height, mi_col, tpl_frame->stride, block_mis_log2)];
       if (!is_alike_mv(ref_tpl_stats->mv[rf_idx], center_mvs, refmv_count,
                        cpi->sf.tpl_sf.skip_alike_starting_mv)) {
         center_mvs[refmv_count].as_int = ref_tpl_stats->mv[rf_idx].as_int;
@@ -328,7 +330,7 @@
 
     if (xd->left_available) {
       TplDepStats *ref_tpl_stats = &tpl_frame->tpl_stats_ptr[av1_tpl_ptr_pos(
-          cpi, mi_row, mi_col - mi_width, tpl_frame->stride)];
+          mi_row, mi_col - mi_width, tpl_frame->stride, block_mis_log2)];
       if (!is_alike_mv(ref_tpl_stats->mv[rf_idx], center_mvs, refmv_count,
                        cpi->sf.tpl_sf.skip_alike_starting_mv)) {
         center_mvs[refmv_count].as_int = ref_tpl_stats->mv[rf_idx].as_int;
@@ -338,7 +340,8 @@
 
     if (xd->up_available && mi_col + mi_width < xd->tile.mi_col_end) {
       TplDepStats *ref_tpl_stats = &tpl_frame->tpl_stats_ptr[av1_tpl_ptr_pos(
-          cpi, mi_row - mi_height, mi_col + mi_width, tpl_frame->stride)];
+          mi_row - mi_height, mi_col + mi_width, tpl_frame->stride,
+          block_mis_log2)];
       if (!is_alike_mv(ref_tpl_stats->mv[rf_idx], center_mvs, refmv_count,
                        cpi->sf.tpl_sf.skip_alike_starting_mv)) {
         center_mvs[refmv_count].as_int = ref_tpl_stats->mv[rf_idx].as_int;
@@ -502,9 +505,7 @@
   return width * height;
 }
 
-int av1_tpl_ptr_pos(AV1_COMP *cpi, int mi_row, int mi_col, int stride) {
-  const int right_shift = cpi->tpl_data.tpl_stats_block_mis_log2;
-
+int av1_tpl_ptr_pos(int mi_row, int mi_col, int stride, uint8_t right_shift) {
   return (mi_row >> right_shift) * stride + (mi_col >> right_shift);
 }
 
@@ -537,11 +538,16 @@
   return rate_cost;
 }
 
-static AOM_INLINE void tpl_model_update_b(AV1_COMP *cpi, TplDepFrame *tpl_frame,
-                                          TplDepStats *tpl_stats_ptr,
-                                          int mi_row, int mi_col,
-                                          const BLOCK_SIZE bsize,
+static AOM_INLINE void tpl_model_update_b(TplParams *const tpl_data, int mi_row,
+                                          int mi_col, const BLOCK_SIZE bsize,
                                           int frame_idx) {
+  TplDepFrame *tpl_frame_ptr = &tpl_data->tpl_frame[frame_idx];
+  TplDepStats *tpl_ptr = tpl_frame_ptr->tpl_stats_ptr;
+  TplDepFrame *tpl_frame = tpl_data->tpl_frame;
+  const uint8_t block_mis_log2 = tpl_data->tpl_stats_block_mis_log2;
+  TplDepStats *tpl_stats_ptr = &tpl_ptr[av1_tpl_ptr_pos(
+      mi_row, mi_col, tpl_frame->stride, block_mis_log2)];
+
   if (tpl_stats_ptr->ref_frame_index < 0) return;
   const int ref_frame_index = tpl_stats_ptr->ref_frame_index;
   TplDepFrame *ref_tpl_frame =
@@ -586,12 +592,13 @@
           grid_pos_row, grid_pos_col, ref_pos_row, ref_pos_col, block, bsize);
       int ref_mi_row = round_floor(grid_pos_row, bh) * mi_height;
       int ref_mi_col = round_floor(grid_pos_col, bw) * mi_width;
-      const int step = 1 << cpi->tpl_data.tpl_stats_block_mis_log2;
+      const int step = 1 << block_mis_log2;
 
       for (int idy = 0; idy < mi_height; idy += step) {
         for (int idx = 0; idx < mi_width; idx += step) {
           TplDepStats *des_stats = &ref_stats_ptr[av1_tpl_ptr_pos(
-              cpi, ref_mi_row + idy, ref_mi_col + idx, ref_tpl_frame->stride)];
+              ref_mi_row + idy, ref_mi_col + idx, ref_tpl_frame->stride,
+              block_mis_log2)];
           des_stats->mc_dep_dist +=
               ((cur_dep_dist + mc_dep_dist) * overlap_area) / pix_num;
           des_stats->mc_dep_rate +=
@@ -604,33 +611,30 @@
   }
 }
 
-static AOM_INLINE void tpl_model_update(AV1_COMP *cpi, TplDepFrame *tpl_frame,
-                                        TplDepStats *tpl_stats_ptr, int mi_row,
+static AOM_INLINE void tpl_model_update(TplParams *const tpl_data, int mi_row,
                                         int mi_col, const BLOCK_SIZE bsize,
                                         int frame_idx) {
   const int mi_height = mi_size_high[bsize];
   const int mi_width = mi_size_wide[bsize];
-  const int step = 1 << cpi->tpl_data.tpl_stats_block_mis_log2;
-  const BLOCK_SIZE tpl_block_size = convert_length_to_bsize(
-      MI_SIZE << cpi->tpl_data.tpl_stats_block_mis_log2);
+  const int step = 1 << tpl_data->tpl_stats_block_mis_log2;
+  const BLOCK_SIZE tpl_block_size =
+      convert_length_to_bsize(MI_SIZE << tpl_data->tpl_stats_block_mis_log2);
 
   for (int idy = 0; idy < mi_height; idy += step) {
     for (int idx = 0; idx < mi_width; idx += step) {
-      TplDepStats *tpl_ptr = &tpl_stats_ptr[av1_tpl_ptr_pos(
-          cpi, mi_row + idy, mi_col + idx, tpl_frame->stride)];
-      tpl_model_update_b(cpi, tpl_frame, tpl_ptr, mi_row + idy, mi_col + idx,
-                         tpl_block_size, frame_idx);
+      tpl_model_update_b(tpl_data, mi_row + idy, mi_col + idx, tpl_block_size,
+                         frame_idx);
     }
   }
 }
 
-static AOM_INLINE void tpl_model_store(AV1_COMP *cpi,
-                                       TplDepStats *tpl_stats_ptr, int mi_row,
+static AOM_INLINE void tpl_model_store(TplDepStats *tpl_stats_ptr, int mi_row,
                                        int mi_col, BLOCK_SIZE bsize, int stride,
-                                       const TplDepStats *src_stats) {
+                                       const TplDepStats *src_stats,
+                                       uint8_t block_mis_log2) {
   const int mi_height = mi_size_high[bsize];
   const int mi_width = mi_size_wide[bsize];
-  const int step = 1 << cpi->tpl_data.tpl_stats_block_mis_log2;
+  const int step = 1 << block_mis_log2;
 
   int64_t intra_cost = src_stats->intra_cost / (mi_height * mi_width);
   int64_t inter_cost = src_stats->inter_cost / (mi_height * mi_width);
@@ -647,8 +651,8 @@
   recrf_rate = AOMMAX(1, recrf_rate);
 
   for (int idy = 0; idy < mi_height; idy += step) {
-    TplDepStats *tpl_ptr =
-        &tpl_stats_ptr[av1_tpl_ptr_pos(cpi, mi_row + idy, mi_col, stride)];
+    TplDepStats *tpl_ptr = &tpl_stats_ptr[av1_tpl_ptr_pos(
+        mi_row + idy, mi_col, stride, block_mis_log2)];
     for (int idx = 0; idx < mi_width; idx += step) {
       tpl_ptr->intra_cost = intra_cost;
       tpl_ptr->inter_cost = inter_cost;
@@ -768,8 +772,9 @@
                       tx_size, ref_frame, src_frame, &tpl_stats);
 
       // Motion flow dependency dispenser.
-      tpl_model_store(cpi, tpl_frame->tpl_stats_ptr, mi_row, mi_col, bsize,
-                      tpl_frame->stride, &tpl_stats);
+      tpl_model_store(tpl_frame->tpl_stats_ptr, mi_row, mi_col, bsize,
+                      tpl_frame->stride, &tpl_stats,
+                      tpl_data->tpl_stats_block_mis_log2);
     }
   }
 }
@@ -780,7 +785,7 @@
   const GF_GROUP *gf_group = &cpi->gf_group;
   if (frame_idx == gf_group->size) return;
 
-  TplDepFrame *tpl_frame = &cpi->tpl_data.tpl_frame[frame_idx];
+  TplParams *const tpl_data = &cpi->tpl_data;
 
   const BLOCK_SIZE bsize = convert_length_to_bsize(MC_FLOW_BSIZE_1D);
   const int mi_height = mi_size_high[bsize];
@@ -789,8 +794,7 @@
   for (int mi_row = 0; mi_row < cm->mi_params.mi_rows; mi_row += mi_height) {
     for (int mi_col = 0; mi_col < cm->mi_params.mi_cols; mi_col += mi_width) {
       if (frame_idx) {
-        tpl_model_update(cpi, cpi->tpl_data.tpl_frame, tpl_frame->tpl_stats_ptr,
-                         mi_row, mi_col, bsize, frame_idx);
+        tpl_model_update(tpl_data, mi_row, mi_col, bsize, frame_idx);
       }
     }
   }
@@ -1052,8 +1056,8 @@
 
     for (int row = 0; row < cm->mi_params.mi_rows; row += step) {
       for (int col = 0; col < mi_cols_sr; col += step) {
-        TplDepStats *this_stats =
-            &tpl_stats[av1_tpl_ptr_pos(cpi, row, col, tpl_stride)];
+        TplDepStats *this_stats = &tpl_stats[av1_tpl_ptr_pos(
+            row, col, tpl_stride, tpl_data->tpl_stats_block_mis_log2)];
         int64_t mc_dep_delta =
             RDCOST(tpl_frame->base_rdmult, this_stats->mc_dep_rate,
                    this_stats->mc_dep_dist);
@@ -1108,8 +1112,8 @@
         for (int mi_col = col * num_mi_w; mi_col < (col + 1) * num_mi_w;
              mi_col += step) {
           if (mi_row >= cm->mi_params.mi_rows || mi_col >= mi_cols_sr) continue;
-          const TplDepStats *this_stats =
-              &tpl_stats[av1_tpl_ptr_pos(cpi, mi_row, mi_col, tpl_stride)];
+          const TplDepStats *this_stats = &tpl_stats[av1_tpl_ptr_pos(
+              mi_row, mi_col, tpl_stride, tpl_data->tpl_stats_block_mis_log2)];
           int64_t mc_dep_delta =
               RDCOST(tpl_frame->base_rdmult, this_stats->mc_dep_rate,
                      this_stats->mc_dep_dist);
diff --git a/av1/encoder/tpl_model.h b/av1/encoder/tpl_model.h
index 812d5ad..11a61b6 100644
--- a/av1/encoder/tpl_model.h
+++ b/av1/encoder/tpl_model.h
@@ -33,7 +33,7 @@
                         const EncodeFrameParams *const frame_params,
                         const EncodeFrameInput *const frame_input);
 
-int av1_tpl_ptr_pos(AV1_COMP *cpi, int mi_row, int mi_col, int stride);
+int av1_tpl_ptr_pos(int mi_row, int mi_col, int stride, uint8_t right_shift);
 
 void av1_tpl_rdmult_setup(AV1_COMP *cpi);