Fail on bit-depth > 8 if CONFIG_AV1_HIGHBITDEPTH=0
Fail gracefully on bit depth 10 or 12 if CONFIG_AV1_HIGHBITDEPTH is set
to 0.
Tested:
cmake ../aom -DCONFIG_AV1_HIGHBITDEPTH=0
make -j20
./test_libaom --gtest_filter=*TestVectorTest*
Sample test outputs:
Before:
Segmentation fault
After:
Expected equality of these values:
AOM_CODEC_OK
Which is: 0
res_dec
Which is: 5
Bit-depth 10 not supported
BUG=aomedia:2479
Change-Id: I8693829054b8205c9eb5054f5e4e1c5c027532ed
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 7584679..b51a8e3 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -4010,6 +4010,12 @@
aom_internal_error(error_info, AOM_CODEC_UNSUP_BITSTREAM,
"Unsupported profile/bit-depth combination");
}
+#if !CONFIG_AV1_HIGHBITDEPTH
+ if (seq_params->bit_depth > AOM_BITS_8) {
+ aom_internal_error(error_info, AOM_CODEC_UNSUP_BITSTREAM,
+ "Bit-depth %d not supported", seq_params->bit_depth);
+ }
+#endif
}
void av1_read_film_grain_params(AV1_COMMON *cm,