Commit bb41ab4a authored by John Koleszar's avatar John Koleszar
Browse files

Remove BLOCKD structure

All members can be referenced from their per-plane counterparts, and
removes assumptions about 24 blocks per macroblock.

Change-Id: I7ff2fa72d22c29163eb558981c8193765a8113d9
parent 4f55c561
......@@ -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];
......
......@@ -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;
......
......@@ -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
......
......@@ -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);
}
......
......@@ -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,
......
......@@ -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,
......
......@@ -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,
......
......@@ -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) {
......
......@@ -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,
......
......@@ -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],
......
......@@ -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],
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment