Fix a logic error with cb4x4 disabled
In the case where:
* global-motion and ext-inter are both enabled
* cb4x4 is disabled
* We have an 8x8 macroblock which is partitioned into smaller blocks
the function is_nontrans_global_motion has a bug where it will
always act as if that macroblock does not use global motion. This
patch fixes that logic bug.
Change-Id: I712d7bab6d646726d97aa37630399b4bcbee7757
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 3471977..1d9acf1 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -1480,11 +1480,10 @@
#endif // CONFIG_EXT_INTER
} else {
#if CONFIG_EXT_INTER
- 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[0].as_mode != ZERO_ZEROMV ||
- mi->bmi[1].as_mode != ZERO_ZEROMV ||
- mi->bmi[2].as_mode != ZERO_ZEROMV || mi->bmi[3].as_mode != ZERO_ZEROMV)
+ if ((mi->bmi[0].as_mode != ZEROMV && mi->bmi[0].as_mode != ZERO_ZEROMV) ||
+ (mi->bmi[1].as_mode != ZEROMV && mi->bmi[1].as_mode != ZERO_ZEROMV) ||
+ (mi->bmi[2].as_mode != ZEROMV && mi->bmi[2].as_mode != ZERO_ZEROMV) ||
+ (mi->bmi[3].as_mode != ZEROMV && mi->bmi[3].as_mode != ZERO_ZEROMV))
return 0;
#else
if (mi->bmi[0].as_mode != ZEROMV || mi->bmi[1].as_mode != ZEROMV ||