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,