Replacing int_mv with MV.
Change-Id: I1020dec1ac2e9404a8efcc04681a050417b8b065
This commit is contained in:
parent
b5bf64668e
commit
73aa5b7656
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user