Rename a func to av1_enc_build_one_inter_predictor
The new name is clearer than original name 'av1_build_inter_predictor',
as the function is declared and used on encoder side only. Also, this
distinguishes its purpose from similar other functions in
reconinter_enc.[hc].
In addition, an upcoming patch will add a similar function to decoder
side, so adding 'enc' to function name is helpful for that purpose as
well.
Patch #5 in preparation for refactoring build_inter_predictors() and
dec_build_inter_predictors() functions.
BUG=aomedia:2635
Change-Id: I1f055861ebf8195af469bbbe1843b3482d5bb8d6
diff --git a/av1/encoder/motion_search_facade.c b/av1/encoder/motion_search_facade.c
index 70ce23f..52f4850 100644
--- a/av1/encoder/motion_search_facade.c
+++ b/av1/encoder/motion_search_facade.c
@@ -437,8 +437,8 @@
// 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(second_pred, pw, &cur_mv[!id].as_mv,
- &inter_pred_params);
+ av1_enc_build_one_inter_predictor(second_pred, pw, &cur_mv[!id].as_mv,
+ &inter_pred_params);
const int order_idx = id != 0;
av1_dist_wtd_comp_weight_assign(
@@ -662,7 +662,8 @@
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(second_pred, pw, other_mv, &inter_pred_params);
+ av1_enc_build_one_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 d437229..51c6e0e 100644
--- a/av1/encoder/reconinter_enc.c
+++ b/av1/encoder/reconinter_enc.c
@@ -120,8 +120,8 @@
ref, plane, xd->tmp_conv_dst, tmp_dst_stride, is_compound, xd->bd);
inter_pred_params.conv_params.use_dist_wtd_comp_avg = 0;
- av1_build_inter_predictor(dst, dst_buf->stride, &mv,
- &inter_pred_params);
+ av1_enc_build_one_inter_predictor(dst, dst_buf->stride, &mv,
+ &inter_pred_params);
++col;
}
++row;
@@ -169,7 +169,8 @@
inter_pred_params.mask_comp.seg_mask = xd->seg_mask;
}
- av1_build_inter_predictor(dst, dst_buf->stride, &mv, &inter_pred_params);
+ av1_enc_build_one_inter_predictor(dst, dst_buf->stride, &mv,
+ &inter_pred_params);
}
}
}
@@ -194,7 +195,8 @@
0, AOM_PLANE_Y, xd->tmp_conv_dst, MAX_SB_SIZE, false, xd->bd);
inter_pred_params.conv_params.use_dist_wtd_comp_avg = 0;
- av1_build_inter_predictor(dst, dst_buf->stride, &mv, &inter_pred_params);
+ av1_enc_build_one_inter_predictor(dst, dst_buf->stride, &mv,
+ &inter_pred_params);
}
void av1_enc_build_inter_predictor(const AV1_COMMON *cm, MACROBLOCKD *xd,
@@ -258,8 +260,9 @@
*src_stride = pre_buf->stride;
}
-void av1_build_inter_predictor(uint8_t *dst, int dst_stride, const MV *src_mv,
- InterPredParams *inter_pred_params) {
+void av1_enc_build_one_inter_predictor(uint8_t *dst, int dst_stride,
+ const MV *src_mv,
+ InterPredParams *inter_pred_params) {
uint8_t *src;
SubpelParams subpel_params;
int src_stride;
@@ -318,8 +321,8 @@
above_mbmi->interp_filters);
inter_pred_params.conv_params = get_conv_params(0, j, xd->bd);
- av1_build_inter_predictor(pd->dst.buf, pd->dst.stride, &mv,
- &inter_pred_params);
+ av1_enc_build_one_inter_predictor(pd->dst.buf, pd->dst.stride, &mv,
+ &inter_pred_params);
}
}
@@ -430,8 +433,8 @@
uint8_t *const dst = get_buf_by_bd(xd, ext_dst[plane]);
const MV mv = mi->mv[ref].as_mv;
- av1_build_inter_predictor(dst, ext_dst_stride[plane], &mv,
- &inter_pred_params);
+ av1_enc_build_one_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 89b22ca..fdc1f31 100644
--- a/av1/encoder/reconinter_enc.h
+++ b/av1/encoder/reconinter_enc.h
@@ -24,6 +24,8 @@
extern "C" {
#endif
+// Build single or compound reference inter predictors for all planes.
+// Can build inter-intra predictors, masked predictors etc as well.
void av1_enc_build_inter_predictor(const AV1_COMMON *cm, MACROBLOCKD *xd,
int mi_row, int mi_col,
const BUFFER_SET *ctx, BLOCK_SIZE bsize,
@@ -31,8 +33,12 @@
void av1_enc_build_inter_predictor_y(MACROBLOCKD *xd, int mi_row, int mi_col);
-void av1_build_inter_predictor(uint8_t *dst, int dst_stride, const MV *src_mv,
- InterPredParams *inter_pred_params);
+// Build one inter predictor. It is called for building predictor for single
+// reference case, or just the 1st or 2nd reference in compound reference case.
+// Can build both regular and masked predictors.
+void av1_enc_build_one_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,
uint8_t *tmp_buf[MAX_MB_PLANE],
diff --git a/av1/encoder/temporal_filter.c b/av1/encoder/temporal_filter.c
index 4592813..37487c3 100644
--- a/av1/encoder/temporal_filter.c
+++ b/av1/encoder/temporal_filter.c
@@ -364,8 +364,8 @@
subsampling_y, bit_depth, is_high_bitdepth,
is_intrabc, scale, &ref_buf, interp_filters);
inter_pred_params.conv_params = get_conv_params(0, plane, bit_depth);
- av1_build_inter_predictor(&pred[plane_offset + i * plane_w + j],
- plane_w, &mv, &inter_pred_params);
+ av1_enc_build_one_inter_predictor(&pred[plane_offset + i * plane_w + j],
+ plane_w, &mv, &inter_pred_params);
++subblock_idx;
}
diff --git a/av1/encoder/tpl_model.c b/av1/encoder/tpl_model.c
index 8d214bb..733cb44 100644
--- a/av1/encoder/tpl_model.c
+++ b/av1/encoder/tpl_model.c
@@ -369,8 +369,8 @@
sf, &ref_buf, kernel);
inter_pred_params.conv_params = get_conv_params(0, 0, xd->bd);
- av1_build_inter_predictor(predictor, bw, &best_rfidx_mv.as_mv,
- &inter_pred_params);
+ av1_enc_build_one_inter_predictor(predictor, bw, &best_rfidx_mv.as_mv,
+ &inter_pred_params);
inter_cost = tpl_get_satd_cost(x, src_diff, bw, src_mb_buffer, src_stride,
predictor, bw, coeff, bw, bh, tx_size);
@@ -424,8 +424,8 @@
sf, &ref_buf, kernel);
inter_pred_params.conv_params = get_conv_params(0, 0, xd->bd);
- av1_build_inter_predictor(dst_buffer, dst_buffer_stride, &best_mv.as_mv,
- &inter_pred_params);
+ av1_enc_build_one_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,