Fix enc/dec mismatch in global motion
Resolve an enc/dec mismatch issue when global motion is turned on. BUG=aomedia:424 Change-Id: Ifad02fab4412588527ec7e8b24ab9b8c6327e5ba
This commit is contained in:
Родитель
041c67b9c7
Коммит
3ca0e67298
|
@ -1248,9 +1248,6 @@ static INLINE int is_nontrans_global_motion(const MACROBLOCKD *xd) {
|
||||||
if (mbmi->mode != ZEROMV) return 0;
|
if (mbmi->mode != ZEROMV) return 0;
|
||||||
#endif // CONFIG_EXT_INTER
|
#endif // CONFIG_EXT_INTER
|
||||||
} else {
|
} else {
|
||||||
#if !GLOBAL_SUB8X8_USED
|
|
||||||
return 0;
|
|
||||||
#endif // !GLOBAL_SUB8X8_USED
|
|
||||||
#if CONFIG_EXT_INTER
|
#if CONFIG_EXT_INTER
|
||||||
if (mi->bmi[0].as_mode != ZEROMV || mi->bmi[1].as_mode != ZEROMV ||
|
if (mi->bmi[0].as_mode != ZEROMV || mi->bmi[1].as_mode != ZEROMV ||
|
||||||
mi->bmi[2].as_mode != ZEROMV || mi->bmi[3].as_mode != ZEROMV ||
|
mi->bmi[2].as_mode != ZEROMV || mi->bmi[3].as_mode != ZEROMV ||
|
||||||
|
@ -1264,6 +1261,11 @@ static INLINE int is_nontrans_global_motion(const MACROBLOCKD *xd) {
|
||||||
return 0;
|
return 0;
|
||||||
#endif // CONFIG_EXT_INTER
|
#endif // CONFIG_EXT_INTER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !GLOBAL_SUB8X8_USED
|
||||||
|
if (mbmi->sb_type < BLOCK_8X8) return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Now check if all global motion is non translational
|
// Now check if all global motion is non translational
|
||||||
for (ref = 0; ref < 1 + has_second_ref(mbmi); ++ref) {
|
for (ref = 0; ref < 1 + has_second_ref(mbmi); ++ref) {
|
||||||
if (xd->global_motion[mbmi->ref_frame[ref]].wmtype <= TRANSLATION) return 0;
|
if (xd->global_motion[mbmi->ref_frame[ref]].wmtype <= TRANSLATION) return 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче