Rename CONFIG_LOWBITDEPTH to FORCE_HIGHBITDEPTH_DECODING.
Mark it as advanced.
Change-Id: If5b10a1dc01651bce9f6f159f3802a5d4fb7b5c3
diff --git a/apps/aomdec.c b/apps/aomdec.c
index 549c4da..f229078 100644
--- a/apps/aomdec.c
+++ b/apps/aomdec.c
@@ -451,7 +451,7 @@
int opt_yv12 = 0;
int opt_i420 = 0;
int opt_raw = 0;
- aom_codec_dec_cfg_t cfg = { 0, 0, 0, CONFIG_LOWBITDEPTH, { 1 } };
+ aom_codec_dec_cfg_t cfg = { 0, 0, 0, !FORCE_HIGHBITDEPTH_DECODING, { 1 } };
unsigned int fixed_output_bit_depth = 0;
unsigned int is_annexb = 0;
int frames_corrupted = 0;
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 3594162..5f72a3c 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -1583,7 +1583,7 @@
}
}
config->use_16bit_internal =
- config->cfg.g_bit_depth > AOM_BITS_8 || !CONFIG_LOWBITDEPTH;
+ config->cfg.g_bit_depth > AOM_BITS_8 || FORCE_HIGHBITDEPTH_DECODING;
return eos_mark_found;
}
@@ -1840,7 +1840,7 @@
#if CONFIG_AV1_DECODER
if (global->test_decode != TEST_DECODE_OFF) {
const AvxInterface *decoder = get_aom_decoder_by_name(global->codec->name);
- aom_codec_dec_cfg_t cfg = { 0, 0, 0, CONFIG_LOWBITDEPTH, { 1 } };
+ aom_codec_dec_cfg_t cfg = { 0, 0, 0, !FORCE_HIGHBITDEPTH_DECODING, { 1 } };
aom_codec_dec_init(&stream->decoder, decoder->codec_interface(), &cfg, 0);
if (strcmp(global->codec->name, "av1") == 0) {
diff --git a/av1/av1_dx_iface.c b/av1/av1_dx_iface.c
index 38c1dfa..66fe5df 100644
--- a/av1/av1_dx_iface.c
+++ b/av1/av1_dx_iface.c
@@ -101,7 +101,7 @@
priv->flushed = 0;
// TODO(tdaede): this should not be exposed to the API
- priv->cfg.allow_lowbitdepth = CONFIG_LOWBITDEPTH;
+ priv->cfg.allow_lowbitdepth = !FORCE_HIGHBITDEPTH_DECODING;
if (ctx->config.dec) {
priv->cfg = *ctx->config.dec;
ctx->config.dec = &priv->cfg;
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 1a35d5b..155da5b 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -104,8 +104,9 @@
set_aom_config_var(CONFIG_INSPECTION 0 NUMBER "Enables bitstream inspection.")
set_aom_config_var(CONFIG_INTERNAL_STATS 0 NUMBER
"Enables internal encoder stats.")
-set_aom_config_var(CONFIG_LOWBITDEPTH 1 NUMBER
- "Enables 8-bit optimized pipeline.")
+set_aom_config_var(FORCE_HIGHBITDEPTH_DECODING 0 NUMBER
+ "Force high bitdepth pipeline decoding on 8-bit input.")
+mark_as_advanced(FORCE_HIGHBITDEPTH_DECODING)
set_aom_config_var(CONFIG_MAX_DECODE_PROFILE 2 NUMBER
"Max profile to support decoding.")
set_aom_config_var(CONFIG_NORMAL_TILE_MODE 0 NUMBER
diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake
index 60b8692..30d95e7 100644
--- a/build/cmake/aom_configure.cmake
+++ b/build/cmake/aom_configure.cmake
@@ -24,6 +24,12 @@
include("${AOM_ROOT}/build/cmake/compiler_tests.cmake")
include("${AOM_ROOT}/build/cmake/util.cmake")
+if(CONFIG_LOWBITDEPTH)
+ message(WARNING "CONFIG_LOWBITDEPTH has been removed, \
+ enabling FORCE_HIGHBITDEPTH_DECODING")
+ set(FORCE_HIGHBITDEPTH_DECODING 1 CACHE NUMBER "${cmake_cmdline_helpstring}")
+endif()
+
# Generate the user config settings.
list(APPEND aom_build_vars ${AOM_CONFIG_VARS} ${AOM_OPTION_VARS})
foreach(cache_var ${aom_build_vars})
diff --git a/examples/aom_cx_set_ref.c b/examples/aom_cx_set_ref.c
index 5a78af9..2f4f658 100644
--- a/examples/aom_cx_set_ref.c
+++ b/examples/aom_cx_set_ref.c
@@ -262,7 +262,7 @@
die("Failed to allocate image.");
}
- if (!CONFIG_LOWBITDEPTH) ref_fmt |= AOM_IMG_FMT_HIGHBITDEPTH;
+ if (FORCE_HIGHBITDEPTH_DECODING) ref_fmt |= AOM_IMG_FMT_HIGHBITDEPTH;
// Allocate memory with the border so that it can be used as a reference.
if (!aom_img_alloc_with_border(&ext_ref, ref_fmt, info.frame_width,
info.frame_height, 32, 8,
@@ -283,7 +283,7 @@
cfg.g_lag_in_frames = 3;
cfg.g_bit_depth = AOM_BITS_8;
- flags |= (cfg.g_bit_depth > AOM_BITS_8 || !CONFIG_LOWBITDEPTH)
+ flags |= (cfg.g_bit_depth > AOM_BITS_8 || FORCE_HIGHBITDEPTH_DECODING)
? AOM_CODEC_USE_HIGHBITDEPTH
: 0;
@@ -311,7 +311,7 @@
if (limit && frame_in >= limit) break;
aom_image_t *frame_to_encode;
- if (!CONFIG_LOWBITDEPTH) {
+ if (FORCE_HIGHBITDEPTH_DECODING) {
// Need to allocate larger buffer to use hbd internal.
int input_shift = 0;
if (!allocated_raw_shift) {
diff --git a/examples/av1_dec_fuzzer.cc b/examples/av1_dec_fuzzer.cc
index 937c944..15752a0 100644
--- a/examples/av1_dec_fuzzer.cc
+++ b/examples/av1_dec_fuzzer.cc
@@ -38,7 +38,9 @@
aom_codec_ctx_t codec;
// Set thread count in the range [1, 64].
const unsigned int threads = (data[IVF_FILE_HDR_SZ] & 0x3f) + 1;
- aom_codec_dec_cfg_t cfg = { threads, 0, 0, CONFIG_LOWBITDEPTH, { 1 } };
+ aom_codec_dec_cfg_t cfg = {
+ threads, 0, 0, !FORCE_HIGHBITDEPTH_DECODING, { 1 }
+ };
if (aom_codec_dec_init(&codec, codec_interface, &cfg, 0)) {
return 0;
}
diff --git a/examples/build_av1_dec_fuzzer.sh b/examples/build_av1_dec_fuzzer.sh
index 78fe66e..0dcb254 100755
--- a/examples/build_av1_dec_fuzzer.sh
+++ b/examples/build_av1_dec_fuzzer.sh
@@ -50,9 +50,9 @@
EXTRA_C_FLAGS='-DDO_RANGE_CHECK_CLAMP=1 -DAOM_MAX_ALLOCABLE_MEMORY=1073741824'
cd "${BUILD_DIR}"
cmake "${AOM_DIR}" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCONFIG_PIC=1 \
- -DCONFIG_SCALABILITY=0 -DCONFIG_LOWBITDEPTH=1 -DCONFIG_AV1_ENCODER=0 \
- -DENABLE_EXAMPLES=0 -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DCONFIG_SIZE_LIMIT=1 \
- -DDECODE_HEIGHT_LIMIT=12288 -DDECODE_WIDTH_LIMIT=12288 \
+ -DCONFIG_SCALABILITY=0 -DFORCE_HIGHBITDEPTH_DECODING=0 \
+ -DCONFIG_AV1_ENCODER=0 -DENABLE_EXAMPLES=0 -DENABLE_DOCS=0 -DENABLE_TESTS=0 \
+ -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=12288 -DDECODE_WIDTH_LIMIT=12288 \
-DAOM_EXTRA_C_FLAGS="${EXTRA_C_FLAGS}" \
-DAOM_EXTRA_CXX_FLAGS="${EXTRA_C_FLAGS}" -DSANITIZE=fuzzer-no-link,address
diff --git a/examples/lightfield_decoder.c b/examples/lightfield_decoder.c
index 1771d63..48c4db2 100644
--- a/examples/lightfield_decoder.c
+++ b/examples/lightfield_decoder.c
@@ -277,7 +277,7 @@
if (output_format != YUV1D) {
// Allocate the output frame.
aom_img_fmt_t out_fmt = ref_fmt;
- if (!CONFIG_LOWBITDEPTH) out_fmt |= AOM_IMG_FMT_HIGHBITDEPTH;
+ if (FORCE_HIGHBITDEPTH_DECODING) out_fmt |= AOM_IMG_FMT_HIGHBITDEPTH;
if (!aom_img_alloc(&output, out_fmt, output_frame_width,
output_frame_height, 32))
die("Failed to allocate output image.");
diff --git a/examples/lightfield_encoder.c b/examples/lightfield_encoder.c
index 143928b..40c8030 100644
--- a/examples/lightfield_encoder.c
+++ b/examples/lightfield_encoder.c
@@ -117,7 +117,7 @@
static void get_raw_image(aom_image_t **frame_to_encode, aom_image_t *raw,
aom_image_t *raw_shift) {
- if (!CONFIG_LOWBITDEPTH) {
+ if (FORCE_HIGHBITDEPTH_DECODING) {
// Need to allocate larger buffer to use hbd internal.
int input_shift = 0;
aom_img_upshift(raw_shift, raw, input_shift);
@@ -283,7 +283,7 @@
reference_image_num - 1))
die_codec(&codec, "Failed to set max gf interval");
aom_img_fmt_t ref_fmt = AOM_IMG_FMT_I420;
- if (!CONFIG_LOWBITDEPTH) ref_fmt |= AOM_IMG_FMT_HIGHBITDEPTH;
+ if (FORCE_HIGHBITDEPTH_DECODING) ref_fmt |= AOM_IMG_FMT_HIGHBITDEPTH;
// Allocate memory with the border so that it can be used as a reference.
int border_in_pixels =
(codec.config.enc->rc_resize_mode || codec.config.enc->rc_superres_mode)
@@ -467,7 +467,7 @@
if (!aom_img_alloc(&raw, AOM_IMG_FMT_I420, w, h, 32)) {
die("Failed to allocate image.");
}
- if (!CONFIG_LOWBITDEPTH) {
+ if (FORCE_HIGHBITDEPTH_DECODING) {
// Need to allocate larger buffer to use hbd internal.
aom_img_alloc(&raw_shift, AOM_IMG_FMT_I420 | AOM_IMG_FMT_HIGHBITDEPTH, w, h,
32);
@@ -489,7 +489,7 @@
cfg.kf_mode = AOM_KF_DISABLED;
cfg.large_scale_tile = 0; // Only set it to 1 for camera frame encoding.
cfg.g_bit_depth = AOM_BITS_8;
- flags |= (cfg.g_bit_depth > AOM_BITS_8 || !CONFIG_LOWBITDEPTH)
+ flags |= (cfg.g_bit_depth > AOM_BITS_8 || FORCE_HIGHBITDEPTH_DECODING)
? AOM_CODEC_USE_HIGHBITDEPTH
: 0;
@@ -509,7 +509,7 @@
lf_blocksize, flags, &raw_shift);
free(stats.buf);
- if (!CONFIG_LOWBITDEPTH) aom_img_free(&raw_shift);
+ if (FORCE_HIGHBITDEPTH_DECODING) aom_img_free(&raw_shift);
aom_img_free(&raw);
fclose(infile);
diff --git a/test/external_frame_buffer_test.cc b/test/external_frame_buffer_test.cc
index f6e4e0e..79057b5 100644
--- a/test/external_frame_buffer_test.cc
+++ b/test/external_frame_buffer_test.cc
@@ -242,7 +242,7 @@
expected_md5[32] = '\0';
::libaom_test::MD5 md5_res;
-#if !CONFIG_LOWBITDEPTH
+#if FORCE_HIGHBITDEPTH_DECODING
const aom_img_fmt_t shifted_fmt =
(aom_img_fmt)(img.fmt & ~AOM_IMG_FMT_HIGHBITDEPTH);
if (img.bit_depth == 8 && shifted_fmt != img.fmt) {
@@ -256,7 +256,7 @@
} else {
#endif
md5_res.Add(&img);
-#if !CONFIG_LOWBITDEPTH
+#if FORCE_HIGHBITDEPTH_DECODING
}
#endif
const char *const actual_md5 = md5_res.Get();
@@ -430,7 +430,7 @@
OpenMD5File(md5_filename);
// Set decode config.
- cfg.allow_lowbitdepth = CONFIG_LOWBITDEPTH;
+ cfg.allow_lowbitdepth = !FORCE_HIGHBITDEPTH_DECODING;
set_cfg(cfg);
// Decode frame, and check the md5 matching.
diff --git a/test/invalid_file_test.cc b/test/invalid_file_test.cc
index 470dfe7..11b8ff3 100644
--- a/test/invalid_file_test.cc
+++ b/test/invalid_file_test.cc
@@ -100,7 +100,7 @@
void RunTest() {
const DecodeParam input = GET_PARAM(1);
- aom_codec_dec_cfg_t cfg = { 0, 0, 0, CONFIG_LOWBITDEPTH, { 1 } };
+ aom_codec_dec_cfg_t cfg = { 0, 0, 0, !FORCE_HIGHBITDEPTH_DECODING, { 1 } };
cfg.threads = input.threads;
const std::string filename = input.filename;
libaom_test::IVFVideoSource decode_video(filename);
diff --git a/test/test_vector_test.cc b/test/test_vector_test.cc
index 9f070b9..82b3031 100644
--- a/test/test_vector_test.cc
+++ b/test/test_vector_test.cc
@@ -68,7 +68,7 @@
expected_md5[32] = '\0';
::libaom_test::MD5 md5_res;
-#if !CONFIG_LOWBITDEPTH
+#if FORCE_HIGHBITDEPTH_DECODING
const aom_img_fmt_t shifted_fmt =
(aom_img_fmt)(img.fmt & ~AOM_IMG_FMT_HIGHBITDEPTH);
if (img.bit_depth == 8 && shifted_fmt != img.fmt) {
@@ -82,7 +82,7 @@
} else {
#endif
md5_res.Add(&img);
-#if !CONFIG_LOWBITDEPTH
+#if FORCE_HIGHBITDEPTH_DECODING
}
#endif
@@ -138,7 +138,7 @@
OpenMD5File(md5_filename);
// Set decode config and flags.
- cfg.allow_lowbitdepth = CONFIG_LOWBITDEPTH;
+ cfg.allow_lowbitdepth = !FORCE_HIGHBITDEPTH_DECODING;
set_cfg(cfg);
set_flags(flags);