summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure5
-rw-r--r--vp9/common/vp9_reconinter.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/configure b/configure
index 24992c4ef..20537695b 100755
--- a/configure
+++ b/configure
@@ -35,6 +35,9 @@ Advanced options:
${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
@@ -319,6 +322,7 @@ CONFIG_LIST="
vp9_temporal_denoising
coefficient_range_checking
vp9_highbitdepth
+ better_hw_compatibility
experimental
size_limit
${EXPERIMENT_LIST}
@@ -377,6 +381,7 @@ CMDLINE_SELECT="
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 d8c14ecc8..3eb19b124 100644
--- a/vp9/common/vp9_reconinter.c
+++ b/vp9/common/vp9_reconinter.c
@@ -187,6 +187,10 @@ static void build_inter_predictors(MACROBLOCKD *xd, int plane, int block,
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));