diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h index 844892abcfac926e6108b7730ee4afd70ac6a89f..3d156240b6527c3f75e734287d6c4fb5a91163ae 100644 --- a/vp9/common/vp9_blockd.h +++ b/vp9/common/vp9_blockd.h @@ -278,10 +278,6 @@ typedef struct { union b_mode_info bmi[16]; } MODE_INFO; -typedef struct blockd { - int unused; -} BLOCKD; - struct scale_factors { int x_num; int x_den; @@ -335,9 +331,6 @@ struct macroblockd_plane { typedef struct macroblockd { struct macroblockd_plane plane[MAX_MB_PLANE]; - /* 16 Y blocks, 4 U, 4 V, each with 16 entries. */ - BLOCKD block[24]; - struct scale_factors scale_factor[2]; struct scale_factors scale_factor_uv[2]; diff --git a/vp9/common/vp9_reconintra4x4.c b/vp9/common/vp9_reconintra4x4.c index 5d0bdecb39f0192d5b7a7d4ddc6b12536e2b1b61..08a5fac2b78058210344f8fe48232819273824b3 100644 --- a/vp9/common/vp9_reconintra4x4.c +++ b/vp9/common/vp9_reconintra4x4.c @@ -160,12 +160,11 @@ B_PREDICTION_MODE vp9_find_bpred_context(MACROBLOCKD *xd, int block_idx, #endif void vp9_intra4x4_predict(MACROBLOCKD *xd, - BLOCKD *x, + int block_idx, int b_mode, uint8_t *predictor, int ps) { int i, r, c; - const int block_idx = x - xd->block; const int have_top = (block_idx >> 2) || xd->up_available; const int have_left = (block_idx & 3) || xd->left_available; const int have_right = (block_idx & 3) != 3 || xd->right_available; diff --git a/vp9/common/vp9_rtcd_defs.sh b/vp9/common/vp9_rtcd_defs.sh index 3621dca600873ebbf50828403786b11b54d192a9..745cc6984f6b567eafe2261d7603598be24041c6 100644 --- a/vp9/common/vp9_rtcd_defs.sh +++ b/vp9/common/vp9_rtcd_defs.sh @@ -8,7 +8,6 @@ cat <<EOF #include "vp9/common/vp9_enums.h" struct loop_filter_info; -struct blockd; struct macroblockd; struct loop_filter_info; @@ -95,7 +94,7 @@ specialize vp9_build_intra_predictors_sby_s prototype void vp9_build_intra_predictors_sbuv_s "struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize" specialize vp9_build_intra_predictors_sbuv_s -prototype void vp9_intra4x4_predict "struct macroblockd *xd, struct blockd *x, int b_mode, uint8_t *predictor, int pre_stride" +prototype void vp9_intra4x4_predict "struct macroblockd *xd, int block, int b_mode, uint8_t *predictor, int pre_stride" specialize vp9_intra4x4_predict; prototype void vp9_intra8x8_predict "struct macroblockd *xd, int block, int b_mode, uint8_t *predictor, int pre_stride" @@ -591,16 +590,16 @@ specialize vp9_short_walsh8x4 # # Motion search # -prototype int vp9_full_search_sad "struct macroblock *x, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n" +prototype int vp9_full_search_sad "struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n" specialize vp9_full_search_sad sse3 sse4_1 vp9_full_search_sad_sse3=vp9_full_search_sadx3 vp9_full_search_sad_sse4_1=vp9_full_search_sadx8 -prototype int vp9_refining_search_sad "struct macroblock *x, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv" +prototype int vp9_refining_search_sad "struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv" specialize vp9_refining_search_sad sse3 vp9_refining_search_sad_sse3=vp9_refining_search_sadx4 -prototype int vp9_diamond_search_sad "struct macroblock *x, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv" +prototype int vp9_diamond_search_sad "struct macroblock *x, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv" specialize vp9_diamond_search_sad sse3 vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4 diff --git a/vp9/decoder/vp9_decodframe.c b/vp9/decoder/vp9_decodframe.c index 53af0079ad78c17cdbb96c2fff9ce500998e31df..699941503733e21c60fc45795aa0f1bfc9bb3496 100644 --- a/vp9/decoder/vp9_decodframe.c +++ b/vp9/decoder/vp9_decodframe.c @@ -361,7 +361,6 @@ static void decode_4x4(VP9D_COMP *pbi, MACROBLOCKD *xd, vp9_reader *r) { } } else if (mode == I4X4_PRED) { for (i = 0; i < 16; i++) { - BLOCKD *b = &xd->block[i]; int b_mode = xd->mode_info_context->bmi[i].as_mode.first; uint8_t* dst; dst = raster_block_offset_uint8(xd, BLOCK_SIZE_MB16X16, 0, i, @@ -373,7 +372,7 @@ static void decode_4x4(VP9D_COMP *pbi, MACROBLOCKD *xd, vp9_reader *r) { if (!xd->mode_info_context->mbmi.mb_skip_coeff) vp9_decode_coefs_4x4(pbi, xd, r, PLANE_TYPE_Y_WITH_DC, i); #endif - vp9_intra4x4_predict(xd, b, b_mode, dst, xd->plane[0].dst.stride); + vp9_intra4x4_predict(xd, i, b_mode, dst, xd->plane[0].dst.stride); tx_type = get_tx_type_4x4(xd, i); dequant_add_y(xd, tx_type, i); } diff --git a/vp9/encoder/vp9_encodeintra.c b/vp9/encoder/vp9_encodeintra.c index ee82628b6ad0fd65d1f0e3083613e0881e1b5101..54c4f3635c8bf3ec0e11ea9ae8b07a012cb471f3 100644 --- a/vp9/encoder/vp9_encodeintra.c +++ b/vp9/encoder/vp9_encodeintra.c @@ -41,7 +41,6 @@ int vp9_encode_intra(VP9_COMP *cpi, MACROBLOCK *x, int use_16x16_pred) { } static void encode_intra4x4block(MACROBLOCK *x, int ib) { - BLOCKD *b = &x->e_mbd.block[ib]; MACROBLOCKD * const xd = &x->e_mbd; TX_TYPE tx_type; uint8_t* const src = @@ -65,7 +64,7 @@ static void encode_intra4x4block(MACROBLOCK *x, int ib) { vp9_find_bpred_context(&x->e_mbd, ib, dst, xd->plane[0].dst.stride); #endif - vp9_intra4x4_predict(&x->e_mbd, b, + vp9_intra4x4_predict(&x->e_mbd, ib, xd->mode_info_context->bmi[ib].as_mode.first, dst, xd->plane[0].dst.stride); vp9_subtract_block(4, 4, src_diff, 16, diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c index a83669ab5e166399e34f7c36121d08e52087eb66..607cd99233e34323b5215df26fec9c2cb36aa8bc 100644 --- a/vp9/encoder/vp9_firstpass.c +++ b/vp9/encoder/vp9_firstpass.c @@ -363,7 +363,6 @@ static void first_pass_motion_search(VP9_COMP *cpi, MACROBLOCK *x, YV12_BUFFER_CONFIG *recon_buffer, int *best_motion_err, int recon_yoffset) { MACROBLOCKD *const xd = &x->e_mbd; - BLOCKD *d = &x->e_mbd.block[0]; int num00; int_mv tmp_mv; @@ -399,7 +398,7 @@ static void first_pass_motion_search(VP9_COMP *cpi, MACROBLOCK *x, tmp_mv.as_int = 0; ref_mv_full.as_mv.col = ref_mv->as_mv.col >> 3; ref_mv_full.as_mv.row = ref_mv->as_mv.row >> 3; - tmp_err = cpi->diamond_search_sad(x, d, &ref_mv_full, &tmp_mv, step_param, + tmp_err = cpi->diamond_search_sad(x, &ref_mv_full, &tmp_mv, step_param, x->sadperbit16, &num00, &v_fn_ptr, x->nmvjointcost, x->mvcost, ref_mv); @@ -422,7 +421,7 @@ static void first_pass_motion_search(VP9_COMP *cpi, MACROBLOCK *x, if (num00) num00--; else { - tmp_err = cpi->diamond_search_sad(x, d, &ref_mv_full, &tmp_mv, + tmp_err = cpi->diamond_search_sad(x, &ref_mv_full, &tmp_mv, step_param + n, x->sadperbit16, &num00, &v_fn_ptr, x->nmvjointcost, diff --git a/vp9/encoder/vp9_mbgraph.c b/vp9/encoder/vp9_mbgraph.c index 7e67b6b386900b95e0c3d17a91c9168b941f3ff4..27e9eceb084218d2347e8ad7a5800109e50d993b 100644 --- a/vp9/encoder/vp9_mbgraph.c +++ b/vp9/encoder/vp9_mbgraph.c @@ -25,11 +25,9 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi, int mb_col) { MACROBLOCK *const x = &cpi->mb; MACROBLOCKD *const xd = &x->e_mbd; - BLOCKD *d = &xd->block[0]; vp9_variance_fn_ptr_t v_fn_ptr = cpi->fn_ptr[BLOCK_16X16]; unsigned int best_err; - int tmp_col_min = x->mv_col_min; int tmp_col_max = x->mv_col_max; int tmp_row_min = x->mv_row_min; @@ -47,7 +45,7 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi, /*cpi->sf.search_method == HEX*/ best_err = vp9_hex_search( - x, d, + x, &ref_full, dst_mv, step_param, x->errorperbit, @@ -62,7 +60,7 @@ static unsigned int do_16x16_motion_iteration(VP9_COMP *cpi, int distortion; unsigned int sse; best_err = cpi->find_fractional_mv_step( - x, d, + x, dst_mv, ref_mv, x->errorperbit, &v_fn_ptr, NULL, NULL, diff --git a/vp9/encoder/vp9_mcomp.c b/vp9/encoder/vp9_mcomp.c index 447a338f69068571c2b251dab3a1f35410e06c45..74caba5a0b3b9a83f704cefa7eba703c6e42c972 100644 --- a/vp9/encoder/vp9_mcomp.c +++ b/vp9/encoder/vp9_mcomp.c @@ -239,7 +239,7 @@ void vp9_init3smotion_compensation(MACROBLOCK *x, int stride) { }, \ v = INT_MAX;) -int vp9_find_best_sub_pixel_step_iteratively(MACROBLOCK *x, BLOCKD *d, +int vp9_find_best_sub_pixel_step_iteratively(MACROBLOCK *x, int_mv *bestmv, int_mv *ref_mv, int error_per_bit, const vp9_variance_fn_ptr_t *vfp, @@ -421,7 +421,7 @@ int vp9_find_best_sub_pixel_step_iteratively(MACROBLOCK *x, BLOCKD *d, #undef MIN #undef MAX -int vp9_find_best_sub_pixel_step(MACROBLOCK *x, BLOCKD *d, +int vp9_find_best_sub_pixel_step(MACROBLOCK *x, int_mv *bestmv, int_mv *ref_mv, int error_per_bit, const vp9_variance_fn_ptr_t *vfp, @@ -924,7 +924,7 @@ int vp9_find_best_sub_pixel_step(MACROBLOCK *x, BLOCKD *d, #undef SP -int vp9_find_best_half_pixel_step(MACROBLOCK *x, BLOCKD *d, +int vp9_find_best_half_pixel_step(MACROBLOCK *x, int_mv *bestmv, int_mv *ref_mv, int error_per_bit, const vp9_variance_fn_ptr_t *vfp, @@ -1096,7 +1096,6 @@ static const MV next_chkpts[6][3] = { int vp9_hex_search ( MACROBLOCK *x, - BLOCKD *d, int_mv *ref_mv, int_mv *best_mv, int search_param, @@ -1250,7 +1249,7 @@ cal_neighbors: #undef CHECK_POINT #undef CHECK_BETTER -int vp9_diamond_search_sad_c(MACROBLOCK *x, BLOCKD *d, +int vp9_diamond_search_sad_c(MACROBLOCK *x, int_mv *ref_mv, int_mv *best_mv, int search_param, int sad_per_bit, int *num00, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, @@ -1361,7 +1360,7 @@ int vp9_diamond_search_sad_c(MACROBLOCK *x, BLOCKD *d, xd->allow_high_precision_mv); } -int vp9_diamond_search_sadx4(MACROBLOCK *x, BLOCKD *d, +int vp9_diamond_search_sadx4(MACROBLOCK *x, int_mv *ref_mv, int_mv *best_mv, int search_param, int sad_per_bit, int *num00, vp9_variance_fn_ptr_t *fn_ptr, @@ -1512,13 +1511,13 @@ int vp9_diamond_search_sadx4(MACROBLOCK *x, BLOCKD *d, point as the best match, we will do a final 1-away diamond refining search */ int vp9_full_pixel_diamond(VP9_COMP *cpi, MACROBLOCK *x, - BLOCKD *d, int_mv *mvp_full, int step_param, + int_mv *mvp_full, int step_param, int sadpb, int further_steps, int do_refine, vp9_variance_fn_ptr_t *fn_ptr, int_mv *ref_mv, int_mv *dst_mv) { int_mv temp_mv; int thissme, n, num00; - int bestsme = cpi->diamond_search_sad(x, d, mvp_full, &temp_mv, + int bestsme = cpi->diamond_search_sad(x, mvp_full, &temp_mv, step_param, sadpb, &num00, fn_ptr, x->nmvjointcost, x->mvcost, ref_mv); @@ -1537,7 +1536,7 @@ int vp9_full_pixel_diamond(VP9_COMP *cpi, MACROBLOCK *x, if (num00) num00--; else { - thissme = cpi->diamond_search_sad(x, d, mvp_full, &temp_mv, + thissme = cpi->diamond_search_sad(x, mvp_full, &temp_mv, step_param + n, sadpb, &num00, fn_ptr, x->nmvjointcost, x->mvcost, ref_mv); @@ -1558,7 +1557,7 @@ int vp9_full_pixel_diamond(VP9_COMP *cpi, MACROBLOCK *x, int search_range = 8; int_mv best_mv; best_mv.as_int = dst_mv->as_int; - thissme = cpi->refining_search_sad(x, d, &best_mv, sadpb, search_range, + thissme = cpi->refining_search_sad(x, &best_mv, sadpb, search_range, fn_ptr, x->nmvjointcost, x->mvcost, ref_mv); @@ -1570,7 +1569,7 @@ int vp9_full_pixel_diamond(VP9_COMP *cpi, MACROBLOCK *x, return bestsme; } -int vp9_full_search_sad_c(MACROBLOCK *x, BLOCKD *d, int_mv *ref_mv, +int vp9_full_search_sad_c(MACROBLOCK *x, int_mv *ref_mv, int sad_per_bit, int distance, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], @@ -1666,7 +1665,7 @@ int vp9_full_search_sad_c(MACROBLOCK *x, BLOCKD *d, int_mv *ref_mv, return INT_MAX; } -int vp9_full_search_sadx3(MACROBLOCK *x, BLOCKD *d, int_mv *ref_mv, +int vp9_full_search_sadx3(MACROBLOCK *x, int_mv *ref_mv, int sad_per_bit, int distance, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], int_mv *center_mv, int n) { @@ -1794,7 +1793,7 @@ int vp9_full_search_sadx3(MACROBLOCK *x, BLOCKD *d, int_mv *ref_mv, return INT_MAX; } -int vp9_full_search_sadx8(MACROBLOCK *x, BLOCKD *d, int_mv *ref_mv, +int vp9_full_search_sadx8(MACROBLOCK *x, int_mv *ref_mv, int sad_per_bit, int distance, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], @@ -1948,7 +1947,7 @@ int vp9_full_search_sadx8(MACROBLOCK *x, BLOCKD *d, int_mv *ref_mv, else return INT_MAX; } -int vp9_refining_search_sad_c(MACROBLOCK *x, BLOCKD *d, +int vp9_refining_search_sad_c(MACROBLOCK *x, int_mv *ref_mv, int error_per_bit, int search_range, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], int_mv *center_mv) { @@ -2026,7 +2025,7 @@ int vp9_refining_search_sad_c(MACROBLOCK *x, BLOCKD *d, return INT_MAX; } -int vp9_refining_search_sadx4(MACROBLOCK *x, BLOCKD *d, +int vp9_refining_search_sadx4(MACROBLOCK *x, int_mv *ref_mv, int error_per_bit, int search_range, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], int_mv *center_mv) { diff --git a/vp9/encoder/vp9_mcomp.h b/vp9/encoder/vp9_mcomp.h index 558663cca9bf554c7792be67c7b51da359b16aba..e1ba7fd9dceb795d46886b16d536d01339b5fb86 100644 --- a/vp9/encoder/vp9_mcomp.h +++ b/vp9/encoder/vp9_mcomp.h @@ -38,12 +38,12 @@ void vp9_init3smotion_compensation(MACROBLOCK *x, int stride); // Runs sequence of diamond searches in smaller steps for RD struct VP9_COMP; int vp9_full_pixel_diamond(struct VP9_COMP *cpi, MACROBLOCK *x, - BLOCKD *d, int_mv *mvp_full, int step_param, + int_mv *mvp_full, int step_param, int sadpb, int further_steps, int do_refine, vp9_variance_fn_ptr_t *fn_ptr, int_mv *ref_mv, int_mv *dst_mv); -int vp9_hex_search(MACROBLOCK *x, BLOCKD *d, +int vp9_hex_search(MACROBLOCK *x, int_mv *ref_mv, int_mv *best_mv, int search_param, int error_per_bit, const vp9_variance_fn_ptr_t *vf, @@ -51,27 +51,27 @@ int vp9_hex_search(MACROBLOCK *x, BLOCKD *d, int *mvjcost, int *mvcost[2], int_mv *center_mv); -typedef int (fractional_mv_step_fp) (MACROBLOCK *x, BLOCKD *d, int_mv +typedef int (fractional_mv_step_fp) (MACROBLOCK *x, int_mv *bestmv, int_mv *ref_mv, int error_per_bit, const vp9_variance_fn_ptr_t *vfp, int *mvjcost, int *mvcost[2], int *distortion, unsigned int *sse); extern fractional_mv_step_fp vp9_find_best_sub_pixel_step_iteratively; extern fractional_mv_step_fp vp9_find_best_sub_pixel_step; extern fractional_mv_step_fp vp9_find_best_half_pixel_step; -typedef int (*vp9_full_search_fn_t)(MACROBLOCK *x, BLOCKD *d, +typedef int (*vp9_full_search_fn_t)(MACROBLOCK *x, int_mv *ref_mv, int sad_per_bit, int distance, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], int_mv *center_mv, int n); -typedef int (*vp9_refining_search_fn_t)(MACROBLOCK *x, BLOCKD *d, +typedef int (*vp9_refining_search_fn_t)(MACROBLOCK *x, int_mv *ref_mv, int sad_per_bit, int distance, vp9_variance_fn_ptr_t *fn_ptr, int *mvjcost, int *mvcost[2], int_mv *center_mv); -typedef int (*vp9_diamond_search_fn_t)(MACROBLOCK *x, BLOCKD *d, +typedef int (*vp9_diamond_search_fn_t)(MACROBLOCK *x, int_mv *ref_mv, int_mv *best_mv, int search_param, int sad_per_bit, int *num00, diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 3859fe3ec721f06e5cb2ddb3d132c9f55634a790..7de5bf7867a0f35890c36d0f9227ad832cc645d3 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -850,7 +850,6 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, int ib, int rate = 0; int distortion; VP9_COMMON *const cm = &cpi->common; - BLOCKD *b = xd->block + ib; const int src_stride = x->plane[0].src.stride; uint8_t* const src = raster_block_offset_uint8(xd, BLOCK_SIZE_MB16X16, 0, ib, @@ -904,7 +903,7 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, int ib, rate = bmode_costs[mode]; #endif - vp9_intra4x4_predict(xd, b, mode, dst, xd->plane[0].dst.stride); + vp9_intra4x4_predict(xd, ib, mode, dst, xd->plane[0].dst.stride); vp9_subtract_block(4, 4, src_diff, 16, src, src_stride, dst, xd->plane[0].dst.stride); @@ -922,7 +921,7 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, int ib, tempa = ta; templ = tl; - ratey = cost_coeffs(cm, x, b - xd->block, + ratey = cost_coeffs(cm, x, ib, PLANE_TYPE_Y_WITH_DC, &tempa, &templ, TX_4X4, 16); rate += ratey; distortion = vp9_block_error(coeff, @@ -952,7 +951,7 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, int ib, else xd->inv_txm4x4(best_dqcoeff, diff, 32); - vp9_intra4x4_predict(xd, b, *best_mode, + vp9_intra4x4_predict(xd, ib, *best_mode, dst, xd->plane[0].dst.stride); vp9_recon_b(dst, diff, dst, xd->plane[0].dst.stride); @@ -2057,7 +2056,6 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x, int step_param = 0; int further_steps; int thissme, bestsme = INT_MAX; - BLOCKD *e; const struct buf_2d orig_src = x->plane[0].src; const struct buf_2d orig_pre = x->e_mbd.plane[0].pre[0]; @@ -2109,9 +2107,8 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x, raster_block_offset_uint8(&x->e_mbd, BLOCK_SIZE_MB16X16, 0, n, x->e_mbd.plane[0].pre[0].buf, x->e_mbd.plane[0].pre[0].stride); - e = &x->e_mbd.block[n]; - bestsme = vp9_full_pixel_diamond(cpi, x, e, &mvp_full, step_param, + bestsme = vp9_full_pixel_diamond(cpi, x, &mvp_full, step_param, sadpb, further_steps, 0, v_fn_ptr, bsi->ref_mv, &mode_mv[NEW4X4]); @@ -2123,7 +2120,7 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x, clamp_mv(&mvp_full, x->mv_col_min, x->mv_col_max, x->mv_row_min, x->mv_row_max); - thissme = cpi->full_search_sad(x, e, &mvp_full, + thissme = cpi->full_search_sad(x, &mvp_full, sadpb, 16, v_fn_ptr, x->nmvjointcost, x->mvcost, bsi->ref_mv, @@ -2145,7 +2142,7 @@ static void rd_check_segment_txsize(VP9_COMP *cpi, MACROBLOCK *x, if (bestsme < INT_MAX) { int distortion; unsigned int sse; - cpi->find_fractional_mv_step(x, e, &mode_mv[NEW4X4], + cpi->find_fractional_mv_step(x, &mode_mv[NEW4X4], bsi->ref_mv, x->errorperbit, v_fn_ptr, x->nmvjointcost, x->mvcost, &distortion, &sse); @@ -2883,7 +2880,6 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, VP9_COMMON *cm = &cpi->common; MACROBLOCKD *xd = &x->e_mbd; MB_MODE_INFO *mbmi = &xd->mode_info_context->mbmi; - BLOCKD *d = &xd->block[0]; const int is_comp_pred = (mbmi->second_ref_frame > 0); #if CONFIG_COMP_INTERINTRA_PRED const int is_comp_interintra_pred = (mbmi->second_ref_frame == INTRA_FRAME); @@ -2964,7 +2960,7 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, // Further step/diamond searches as necessary further_steps = (cpi->sf.max_step_search_steps - 1) - step_param; - bestsme = vp9_full_pixel_diamond(cpi, x, d, &mvp_full, step_param, + bestsme = vp9_full_pixel_diamond(cpi, x, &mvp_full, step_param, sadpb, further_steps, 1, &cpi->fn_ptr[block_size], &ref_mv[0], &tmp_mv); @@ -2977,7 +2973,7 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, if (bestsme < INT_MAX) { int dis; /* TODO: use dis in distortion calculation later. */ unsigned int sse; - cpi->find_fractional_mv_step(x, d, &tmp_mv, + cpi->find_fractional_mv_step(x, &tmp_mv, &ref_mv[0], x->errorperbit, &cpi->fn_ptr[block_size], diff --git a/vp9/encoder/vp9_temporal_filter.c b/vp9/encoder/vp9_temporal_filter.c index ef868fce44da4509a8c8d3f5b69b7287d600e38d..1e6b9840b922445c61a8d332ada890b81de36769 100644 --- a/vp9/encoder/vp9_temporal_filter.c +++ b/vp9/encoder/vp9_temporal_filter.c @@ -129,7 +129,6 @@ static int temporal_filter_find_matching_mb_c(VP9_COMP *cpi, int sadpb = x->sadperbit16; int bestsme = INT_MAX; - BLOCKD *d = &x->e_mbd.block[0]; int_mv best_ref_mv1; int_mv best_ref_mv1_full; /* full-pixel value of best_ref_mv1 */ int_mv *ref_mv; @@ -160,7 +159,7 @@ static int temporal_filter_find_matching_mb_c(VP9_COMP *cpi, // TODO Check that the 16x16 vf & sdf are selected here // Ignore mv costing by sending NULL pointer instead of cost arrays ref_mv = &x->e_mbd.mode_info_context->bmi[0].as_mv[0]; - bestsme = vp9_hex_search(x, d, &best_ref_mv1_full, ref_mv, + bestsme = vp9_hex_search(x, &best_ref_mv1_full, ref_mv, step_param, sadpb, &cpi->fn_ptr[BLOCK_16X16], NULL, NULL, NULL, NULL, &best_ref_mv1); @@ -172,7 +171,7 @@ static int temporal_filter_find_matching_mb_c(VP9_COMP *cpi, int distortion; unsigned int sse; // Ignore mv costing by sending NULL pointer instead of cost array - bestsme = cpi->find_fractional_mv_step(x, d, ref_mv, + bestsme = cpi->find_fractional_mv_step(x, ref_mv, &best_ref_mv1, x->errorperbit, &cpi->fn_ptr[BLOCK_16X16],