Merge "configure: add --enable-coefficient-range-checking"
This commit is contained in:
5
configure
vendored
5
configure
vendored
@@ -46,6 +46,9 @@ Advanced options:
|
||||
${toggle_realtime_only} enable this option while building for real-time encoding
|
||||
${toggle_onthefly_bitpacking} enable on-the-fly bitpacking in real-time encoding
|
||||
${toggle_error_concealment} enable this option to get a decoder which is able to conceal losses
|
||||
${toggle_coefficient_range_checking}
|
||||
enable decoder to check if intermediate
|
||||
transform coefficients are in valid range
|
||||
${toggle_runtime_cpu_detect} runtime cpu detection
|
||||
${toggle_shared} shared library support
|
||||
${toggle_static} static library support
|
||||
@@ -327,6 +330,7 @@ CONFIG_LIST="
|
||||
encode_perf_tests
|
||||
multi_res_encoding
|
||||
temporal_denoising
|
||||
coefficient_range_checking
|
||||
experimental
|
||||
size_limit
|
||||
${EXPERIMENT_LIST}
|
||||
@@ -384,6 +388,7 @@ CMDLINE_SELECT="
|
||||
encode_perf_tests
|
||||
multi_res_encoding
|
||||
temporal_denoising
|
||||
coefficient_range_checking
|
||||
experimental
|
||||
"
|
||||
|
||||
|
@@ -81,6 +81,16 @@ static const int sinpi_4_9 = 15212;
|
||||
|
||||
static INLINE int dct_const_round_shift(int input) {
|
||||
int rv = ROUND_POWER_OF_TWO(input, DCT_CONST_BITS);
|
||||
#if CONFIG_COEFFICIENT_RANGE_CHECKING
|
||||
// For valid VP9 input streams, intermediate stage coefficients should always
|
||||
// stay within the range of a signed 16 bit integer. Coefficients can go out
|
||||
// of this range for invalid/corrupt VP9 streams. However, strictly checking
|
||||
// this range for every intermediate coefficient can burdensome for a decoder,
|
||||
// therefore the following assertion is only enabled when configured with
|
||||
// --enable-coefficient-range-checking.
|
||||
assert(INT16_MIN <= rv);
|
||||
assert(rv <= INT16_MAX);
|
||||
#endif
|
||||
return (int16_t)rv;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user