Merge "Assert no 8x4/4x8 partition for scaled references"
diff --git a/configure b/configure
index f12779c..c3c0f40 100755
--- a/configure
+++ b/configure
@@ -35,6 +35,9 @@
${toggle_debug_libs} in/exclude debug version of libraries
${toggle_static_msvcrt} use static MSVCRT (VS builds only)
${toggle_vp9_highbitdepth} use VP9 high bit depth (10/12) profiles
+ ${toggle_better_hw_compatibility}
+ enable encoder to produce streams with better
+ hardware decoder compatibility
${toggle_vp8} VP8 codec support
${toggle_vp9} VP9 codec support
${toggle_vp10} VP10 codec support
@@ -322,6 +325,7 @@
vp9_temporal_denoising
coefficient_range_checking
vp9_highbitdepth
+ better_hw_compatibility
experimental
size_limit
${EXPERIMENT_LIST}
@@ -380,6 +384,7 @@
temporal_denoising
vp9_temporal_denoising
coefficient_range_checking
+ better_hw_compatibility
vp9_highbitdepth
experimental
"
diff --git a/vp9/common/vp9_reconinter.c b/vp9/common/vp9_reconinter.c
index d8c14ec..3eb19b1 100644
--- a/vp9/common/vp9_reconinter.c
+++ b/vp9/common/vp9_reconinter.c
@@ -187,6 +187,10 @@
const int is_scaled = vp9_is_scaled(sf);
if (is_scaled) {
+#if CONFIG_BETTER_HW_COMPATIBILITY
+ assert(xd->mi[0]->mbmi.sb_type != BLOCK_4X8 &&
+ xd->mi[0]->mbmi.sb_type != BLOCK_8X4);
+#endif
// Co-ordinate of containing block to pixel precision.
const int x_start = (-xd->mb_to_left_edge >> (3 + pd->subsampling_x));
const int y_start = (-xd->mb_to_top_edge >> (3 + pd->subsampling_y));