Remove tx_size_search_method command line option
Removed tx_size_search_method command line option, which doesn't work
anymore. Currently, tx_size_search_method is chosen differently based
on mode evaluation stages and encoding modes/speeds. Removing this
option makes the logic more clear.
Change-Id: I88fc58a9d3010d08a69c7ca20c925cca464f1c88
diff --git a/Sample.cfg b/Sample.cfg
index d24663d..d5dbe66 100644
--- a/Sample.cfg
+++ b/Sample.cfg
@@ -16,7 +16,6 @@
disable_flip_idtx = 0 # disable flip and identity transform
disable_tx_64x64 = 0 # disable 64x64 transform
reduced_tx_type_set = 0 # use reduced transform type set
-tx_size_search_method = 0 # 0:FULL_RD, 1 : FAST_RD, 2 : USE_LARGEST
reduced_reference_set = 0 # use reduced reference frame set
disable_obmc = 0 # disable OBMC
disable_warp_motion = 0 # disable Warped Motion
diff --git a/aom/aom_encoder.h b/aom/aom_encoder.h
index 39203c0..a4e5f70 100644
--- a/aom/aom_encoder.h
+++ b/aom/aom_encoder.h
@@ -308,10 +308,6 @@
*
*/
unsigned int disable_intra_angle_delta;
- /*!\brief specify transform size search method
- * 0:FULLRD,1:FASTRD,2:USELARGEST
- */
- unsigned int tx_size_search_method;
/*!\brief disable intra edge filter
*
*/
diff --git a/aom/aomcx.h b/aom/aomcx.h
index ae4ac3d..790daca 100644
--- a/aom/aomcx.h
+++ b/aom/aomcx.h
@@ -834,13 +834,9 @@
*/
AV1E_SET_ENABLE_FLIP_IDTX = 81,
- /*!\brief Codec control function to set transform block size search method.
+ /*!\brief enum value 82 is empty.
*
- * This will set the transform block size search method.
- * 0: use Full RD search, 1: use Fast RD search, 2: always use largest
- * allowed transform block size based on partition size.
*/
- AV1E_SET_TX_SIZE_SEARCH_METHOD = 82,
/*!\brief Codec control function to turn on / off dist-wtd compound mode
* at sequence level.
@@ -1446,9 +1442,6 @@
AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_TX64, int)
#define AOM_CTRL_AV1E_SET_ENABLE_TX64
-AOM_CTRL_USE_TYPE(AV1E_SET_TX_SIZE_SEARCH_METHOD, int)
-#define AOM_CTRL_AV1E_SET_TXSIZE_SEARCH_METHOD
-
AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_FLIP_IDTX, int)
#define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
diff --git a/apps/aomenc.c b/apps/aomenc.c
index a2baf9ce..56441c8 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -476,10 +476,6 @@
static const arg_def_t enable_tx64 =
ARG_DEF(NULL, "enable-tx64", 1,
"Enable 64-pt transform (0: false, 1: true (default))");
-static const arg_def_t tx_size_search_method =
- ARG_DEF(NULL, "tx-size-search-method", 1,
- "Set transform block size search method "
- "(0: Full RD (default), 1: Fast RD, 2: use largest allowed)");
static const arg_def_t enable_flip_idtx =
ARG_DEF(NULL, "enable-flip-idtx", 1,
"Enable extended transform type (0: false, 1: true (default)) "
@@ -829,7 +825,6 @@
&enable_intra_edge_filter,
&enable_order_hint,
&enable_tx64,
- &tx_size_search_method,
&enable_flip_idtx,
&enable_dist_wtd_comp,
&enable_masked_comp,
@@ -935,7 +930,6 @@
AV1E_SET_ENABLE_INTRA_EDGE_FILTER,
AV1E_SET_ENABLE_ORDER_HINT,
AV1E_SET_ENABLE_TX64,
- AV1E_SET_TX_SIZE_SEARCH_METHOD,
AV1E_SET_ENABLE_FLIP_IDTX,
AV1E_SET_ENABLE_DIST_WTD_COMP,
AV1E_SET_ENABLE_MASKED_COMP,
@@ -1761,7 +1755,6 @@
SHOW_PARAMS(disable_filter_intra);
SHOW_PARAMS(disable_dual_filter);
SHOW_PARAMS(disable_intra_angle_delta);
- SHOW_PARAMS(tx_size_search_method);
SHOW_PARAMS(disable_intra_edge_filter);
SHOW_PARAMS(disable_tx_64x64);
SHOW_PARAMS(disable_smooth_inter_intra);
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index 140ec38..37b2dac 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -103,7 +103,6 @@
int enable_intra_edge_filter; // enable intra-edge filter for sequence
int enable_order_hint; // enable order hint for sequence
int enable_tx64; // enable 64-pt transform usage for sequence
- int tx_size_search_method; // set transform block size search method
int enable_flip_idtx; // enable flip and identity transform types
int enable_dist_wtd_comp; // enable dist wtd compound for sequence
int max_reference_frames; // maximum number of references per frame
@@ -224,7 +223,6 @@
1, // enable intra edge filter
1, // frame order hint
1, // enable 64-pt transform usage
- 0, // transform block size search method
1, // enable flip and identity transform
1, // dist-wtd compound
7, // max_reference_frames
@@ -517,12 +515,6 @@
RANGE_CHECK(extra_cfg, max_partition_size, 4, 128);
RANGE_CHECK_HI(extra_cfg, min_partition_size, extra_cfg->max_partition_size);
- RANGE_CHECK(extra_cfg, tx_size_search_method, 0, 2);
-
- if (!extra_cfg->enable_tx64 && extra_cfg->tx_size_search_method == 2) {
- ERROR("TX64 cannot be disabled when search_method is USE_LARGESTALL (2).");
- }
-
for (int i = 0; i < MAX_NUM_OPERATING_POINTS; ++i) {
const int level_idx = extra_cfg->target_seq_level_idx[i];
if (!is_valid_seq_level_idx(level_idx) && level_idx != SEQ_LEVELS) {
@@ -633,7 +625,6 @@
extra_cfg->allow_ref_frame_mvs = (cfg->disable_ref_frame_mv == 0);
extra_cfg->enable_ref_frame_mvs = (cfg->disable_ref_frame_mv == 0);
extra_cfg->enable_onesided_comp = (cfg->disable_one_sided_comp == 0);
- extra_cfg->tx_size_search_method = cfg->tx_size_search_method;
extra_cfg->enable_reduced_reference_set = cfg->reduced_reference_set;
extra_cfg->reduced_tx_type_set = cfg->reduced_tx_type_set;
}
@@ -875,7 +866,6 @@
oxcf->max_partition_size = extra_cfg->max_partition_size;
oxcf->enable_intra_edge_filter = extra_cfg->enable_intra_edge_filter;
oxcf->enable_tx64 = extra_cfg->enable_tx64;
- oxcf->tx_size_search_method = extra_cfg->tx_size_search_method;
oxcf->enable_flip_idtx = extra_cfg->enable_flip_idtx;
oxcf->enable_order_hint = extra_cfg->enable_order_hint;
oxcf->enable_dist_wtd_comp =
@@ -1338,13 +1328,6 @@
return update_extra_cfg(ctx, &extra_cfg);
}
-static aom_codec_err_t ctrl_set_tx_size_search_method(aom_codec_alg_priv_t *ctx,
- va_list args) {
- struct av1_extracfg extra_cfg = ctx->extra_cfg;
- extra_cfg.tx_size_search_method = CAST(AV1E_SET_TX_SIZE_SEARCH_METHOD, args);
- return update_extra_cfg(ctx, &extra_cfg);
-}
-
static aom_codec_err_t ctrl_set_enable_flip_idtx(aom_codec_alg_priv_t *ctx,
va_list args) {
struct av1_extracfg extra_cfg = ctx->extra_cfg;
@@ -2450,7 +2433,6 @@
{ AV1E_SET_ENABLE_INTRA_EDGE_FILTER, ctrl_set_enable_intra_edge_filter },
{ AV1E_SET_ENABLE_ORDER_HINT, ctrl_set_enable_order_hint },
{ AV1E_SET_ENABLE_TX64, ctrl_set_enable_tx64 },
- { AV1E_SET_TX_SIZE_SEARCH_METHOD, ctrl_set_tx_size_search_method },
{ AV1E_SET_ENABLE_FLIP_IDTX, ctrl_set_enable_flip_idtx },
{ AV1E_SET_ENABLE_DIST_WTD_COMP, ctrl_set_enable_dist_wtd_comp },
{ AV1E_SET_MAX_REFERENCE_FRAMES, ctrl_set_max_reference_frames },
@@ -2595,7 +2577,7 @@
{ 0 }, // tile_widths
{ 0 }, // tile_heights
{ 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
} },
{ 1,
{
@@ -2664,7 +2646,7 @@
{ 0 }, // tile_widths
{ 0 }, // tile_heights
{ 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // cfg
} },
};
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index c7356fa..dfaf33b 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -377,7 +377,6 @@
int max_partition_size;
int enable_intra_edge_filter;
int enable_tx64;
- int tx_size_search_method;
int enable_flip_idtx;
int enable_order_hint;
int enable_dist_wtd_comp;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 3babf45..71c2b0d 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -898,7 +898,7 @@
sf->intra_cnn_split = 0;
// Set this at the appropriate speed levels
- sf->tx_size_search_level = cpi->oxcf.tx_size_search_method;
+ sf->tx_size_search_level = USE_FULL_RD;
sf->tx_domain_dist_level = 0;
sf->tx_domain_dist_thres_level = 0;
sf->gm_search_type = GM_FULL_SEARCH;
@@ -1052,11 +1052,6 @@
predict_skip_levels[cpi->sf.tx_type_search.use_skip_flag_prediction],
sizeof(cpi->predict_skip_level));
- // Override speed feature setting for user config
- if (cpi->oxcf.tx_size_search_method != USE_FULL_RD) {
- cpi->sf.enable_winner_mode_for_tx_size_srch = 0;
- cpi->sf.tx_size_search_level = cpi->oxcf.tx_size_search_method;
- }
// assert ensures that tx_size_search_level is accessed correctly
assert(cpi->sf.tx_size_search_level >= 0 && cpi->sf.tx_size_search_level < 3);
memcpy(cpi->tx_size_search_methods,
diff --git a/common/args.c b/common/args.c
index ade5e85..ec2a863 100644
--- a/common/args.c
+++ b/common/args.c
@@ -110,7 +110,6 @@
GET_PARAMS(disable_filter_intra);
GET_PARAMS(disable_dual_filter);
GET_PARAMS(disable_intra_angle_delta);
- GET_PARAMS(tx_size_search_method);
GET_PARAMS(disable_intra_edge_filter);
GET_PARAMS(disable_tx_64x64);
GET_PARAMS(disable_smooth_inter_intra);