Replacing int_mv with MV.

Change-Id: I1020dec1ac2e9404a8efcc04681a050417b8b065
This commit is contained in:
Dmitry Kovalev 2014-04-10 23:48:09 -07:00
parent b5bf64668e
commit 73aa5b7656

View File

@ -2580,7 +2580,7 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
struct buf_2d ref_yv12[2]; struct buf_2d ref_yv12[2];
int bestsme = INT_MAX; int bestsme = INT_MAX;
int sadpb = x->sadperbit16; int sadpb = x->sadperbit16;
int_mv tmp_mv; MV tmp_mv;
int search_range = 3; int search_range = 3;
int tmp_col_min = x->mv_col_min; int tmp_col_min = x->mv_col_min;
@ -2609,20 +2609,20 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
vp9_set_mv_search_range(x, &ref_mv[id].as_mv); vp9_set_mv_search_range(x, &ref_mv[id].as_mv);
// Use mv result from single mode as mvp. // Use mv result from single mode as mvp.
tmp_mv.as_int = frame_mv[refs[id]].as_int; tmp_mv = frame_mv[refs[id]].as_mv;
tmp_mv.as_mv.col >>= 3; tmp_mv.col >>= 3;
tmp_mv.as_mv.row >>= 3; tmp_mv.row >>= 3;
// Small-range full-pixel motion search // Small-range full-pixel motion search
bestsme = vp9_refining_search_8p_c(x, &tmp_mv.as_mv, sadpb, bestsme = vp9_refining_search_8p_c(x, &tmp_mv, sadpb,
search_range, search_range,
&cpi->fn_ptr[bsize], &cpi->fn_ptr[bsize],
x->nmvjointcost, x->mvcost, x->nmvjointcost, x->mvcost,
&ref_mv[id].as_mv, second_pred, &ref_mv[id].as_mv, second_pred,
pw, ph); pw, ph);
if (bestsme < INT_MAX) if (bestsme < INT_MAX)
bestsme = vp9_get_mvpred_av_var(x, &tmp_mv.as_mv, &ref_mv[id].as_mv, bestsme = vp9_get_mvpred_av_var(x, &tmp_mv, &ref_mv[id].as_mv,
second_pred, &cpi->fn_ptr[bsize], 1); second_pred, &cpi->fn_ptr[bsize], 1);
x->mv_col_min = tmp_col_min; x->mv_col_min = tmp_col_min;
@ -2634,7 +2634,7 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
int dis; /* TODO: use dis in distortion calculation later. */ int dis; /* TODO: use dis in distortion calculation later. */
unsigned int sse; unsigned int sse;
bestsme = cpi->find_fractional_mv_step_comp( bestsme = cpi->find_fractional_mv_step_comp(
x, &tmp_mv.as_mv, x, &tmp_mv,
&ref_mv[id].as_mv, &ref_mv[id].as_mv,
cpi->common.allow_high_precision_mv, cpi->common.allow_high_precision_mv,
x->errorperbit, x->errorperbit,
@ -2649,7 +2649,7 @@ static void joint_motion_search(VP9_COMP *cpi, MACROBLOCK *x,
xd->plane[0].pre[0] = scaled_first_yv12; xd->plane[0].pre[0] = scaled_first_yv12;
if (bestsme < last_besterr[id]) { if (bestsme < last_besterr[id]) {
frame_mv[refs[id]].as_int = tmp_mv.as_int; frame_mv[refs[id]].as_mv = tmp_mv;
last_besterr[id] = bestsme; last_besterr[id] = bestsme;
} else { } else {
break; break;