Remove experimental feature AOM_CODEC_USE_PRESET The AOM_CODEC_USE_PRESET experimental feature is really usage-specific default values for extra_config. It is overly restrictive for the preset feature because each usage is allowed to have only one preset. So we are removing AOM_CODEC_USE_PRESET and will redesign the preset feature to be more flexible. This CL is the minimum change to remove the experimental feature AOM_CODEC_USE_PRESET from the public API. It is intended to be cherry-picked to the minty branch for the libaom v3.11.0 release. This CL essentially reverts commit f10e098. The rest of the AOM_CODEC_USE_PRESET code will be removed later. Bug: 359341194 Change-Id: I74fece5a66e3fc262a78e3edcf52bf0356ac2e9d (cherry picked from commit a433a392e47d941203f524d4e63de5f745031200)
diff --git a/aom/aom_encoder.h b/aom/aom_encoder.h index 1f79c95..3b956bc 100644 --- a/aom/aom_encoder.h +++ b/aom/aom_encoder.h
@@ -78,8 +78,8 @@ */ #define AOM_CODEC_USE_PSNR 0x10000 /**< Calculate PSNR on each frame */ #define AOM_CODEC_USE_HIGHBITDEPTH 0x40000 /**< Use high bitdepth */ -// WARNING: Experimental feature. Not part of the stable API. -#define AOM_CODEC_USE_PRESET 0x80000 /**< Use preset based on g_usage */ +// 0x80000 was used for the experimental feature AOM_CODEC_USE_PRESET during +// libaom v3.11.0 development but was removed before the release. /*!\brief Generic fixed size buffer structure *
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c index e88ad50..2de2cb4 100644 --- a/av1/av1_cx_iface.c +++ b/av1/av1_cx_iface.c
@@ -2824,19 +2824,6 @@ return update_extra_cfg(ctx, &extra_cfg); } -// Returns the index of the default_extra_cfg array element for the specified -// usage. Returns index 0 if not found. This means default_extra_cfg[0] is used -// for any usage that doesn't have a dedicated element in the default_extra_cfg -// array. -static int find_default_extra_cfg_for_usage(unsigned int usage) { - for (int i = 0; i < NELEMENTS(default_extra_cfg); ++i) { - if (default_extra_cfg[i].usage == usage) { - return i; - } - } - return 0; -} - static aom_codec_err_t encoder_init(aom_codec_ctx_t *ctx) { aom_codec_err_t res = AOM_CODEC_OK; @@ -2852,11 +2839,7 @@ priv->cfg = *ctx->config.enc; ctx->config.enc = &priv->cfg; - int extra_cfg_idx = 0; - if (ctx->init_flags & AOM_CODEC_USE_PRESET) { - extra_cfg_idx = find_default_extra_cfg_for_usage(priv->cfg.g_usage); - } - priv->extra_cfg = default_extra_cfg[extra_cfg_idx]; + priv->extra_cfg = default_extra_cfg[0]; // Special handling: // By default, if omitted, --enable-cdef = 1. // Here we set its default value to 0 when --allintra is turned on.
diff --git a/test/encode_api_test.cc b/test/encode_api_test.cc index 47ddcc1..4a71458 100644 --- a/test/encode_api_test.cc +++ b/test/encode_api_test.cc
@@ -109,17 +109,6 @@ EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&enc)); } -TEST(EncodeAPI, InitializeWithPreset) { - aom_codec_iface_t *iface = aom_codec_av1_cx(); - aom_codec_ctx_t enc; - aom_codec_enc_cfg_t cfg; - EXPECT_EQ(AOM_CODEC_OK, - aom_codec_enc_config_default(iface, &cfg, AOM_USAGE_REALTIME)); - EXPECT_EQ(AOM_CODEC_OK, - aom_codec_enc_init(&enc, iface, &cfg, AOM_CODEC_USE_PRESET)); - EXPECT_EQ(AOM_CODEC_OK, aom_codec_destroy(&enc)); -} - void EncodeSetSFrameOnFirstFrame(aom_img_fmt fmt, aom_codec_flags_t flag) { constexpr int kWidth = 2; constexpr int kHeight = 128;