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);