Regulate effective motion vector in DRL mode search

This resolves unit test failure at speed 2, where the compound
motion search is short-cut.

Change-Id: I0b4d8e4eca4c1e76bab54cc0c106b64425712989
This commit is contained in:
Jingning Han 2016-07-01 10:03:03 -07:00
Родитель 33901417f1
Коммит 5addbe72e2
1 изменённых файлов: 9 добавлений и 0 удалений

Просмотреть файл

@ -3009,6 +3009,15 @@ static int64_t handle_inter_mode(
joint_motion_search(cpi, x, bsize, frame_mv, mi_row, mi_col,
single_newmv, &rate_mv, 0);
} else {
#if CONFIG_REF_MV
for (i = 0; i < 2; ++i) {
if (!av1_use_mv_hp(&x->mbmi_ext->ref_mvs[refs[i]][0].as_mv)) {
MV *this_mv = &frame_mv[refs[i]].as_mv;
if (this_mv->row & 1) this_mv->row += (this_mv->row > 0 ? -1 : 1);
if (this_mv->col & 1) this_mv->col += (this_mv->col > 0 ? -1 : 1);
}
}
#endif
rate_mv = av1_mv_bit_cost(&frame_mv[refs[0]].as_mv,
&x->mbmi_ext->ref_mvs[refs[0]][0].as_mv,
x->nmvjointcost, x->mvcost, MV_COST_WEIGHT);