Changed nearmv for one of the sub8x8 partitions
It is a minor change, but the essential idea is to use the mv of the top right block as the nearmv for the bottom left partition in the sub8x8 block. The change is under the experiment of NEWMVREF. When all 13 experiments are on (except for INTRABC), the gain is +0.05%: Worse on bowing_cif: -0.17% Best on foreman_cif: +0.42%; and bridge_far_cif: +0.40% The total 13 experiments achieved a gain of +6.97% against base. Change-Id: I3a51d9e28b34b0943fe16a984d62bfb38304ebca
This commit is contained in:
parent
9b638cded6
commit
9b083e8271
@ -205,7 +205,9 @@ void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm, MACROBLOCKD *xd,
|
||||
near->as_int = mv_list[1].as_int;
|
||||
break;
|
||||
case 1:
|
||||
#if !CONFIG_NEWMVREF
|
||||
case 2:
|
||||
#endif // !CONFIG_NEWMVREF
|
||||
nearest->as_int = bmi[0].as_mv[ref].as_int;
|
||||
for (n = 0; n < MAX_MV_REF_CANDIDATES; ++n)
|
||||
if (nearest->as_int != mv_list[n].as_int) {
|
||||
@ -213,6 +215,22 @@ void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm, MACROBLOCKD *xd,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
#if CONFIG_NEWMVREF
|
||||
case 2: {
|
||||
int_mv candidates[1 + MAX_MV_REF_CANDIDATES];
|
||||
candidates[0] = bmi[1].as_mv[ref];
|
||||
candidates[1] = mv_list[0];
|
||||
candidates[2] = mv_list[1];
|
||||
|
||||
nearest->as_int = bmi[0].as_mv[ref].as_int;
|
||||
for (n = 0; n < 1 + MAX_MV_REF_CANDIDATES; ++n)
|
||||
if (nearest->as_int != candidates[n].as_int) {
|
||||
near->as_int = candidates[n].as_int;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif // CONFIG_NEWMVREF
|
||||
case 3: {
|
||||
int_mv candidates[2 + MAX_MV_REF_CANDIDATES];
|
||||
candidates[0] = bmi[1].as_mv[ref];
|
||||
|
Loading…
x
Reference in New Issue
Block a user