Prune tx types aggressively for winner mode
The tx type search of winner mode is made faster
by pruning tx types aggressively for speed 6.
cpu-used Instruction Count BD-Rate Loss(%)
Reduction(%) avg.psnr ovr.psnr ssim
6 1.81 0.2241 0.2366 0.1508
STATS_CHANGED
Change-Id: Id560635517757a682543c8d5aa08755ca275576f
diff --git a/av1/encoder/rdopt_utils.h b/av1/encoder/rdopt_utils.h
index 2102198..f000379 100644
--- a/av1/encoder/rdopt_utils.h
+++ b/av1/encoder/rdopt_utils.h
@@ -433,9 +433,10 @@
txfm_params->prune_2d_txfm_mode = sf->tx_sf.tx_type_search.prune_2d_txfm_mode;
if (!winner_mode_tx_type_pruning) return;
- const int prune_mode[3][2] = { { TX_TYPE_PRUNE_3, TX_TYPE_PRUNE_0 },
+ const int prune_mode[4][2] = { { TX_TYPE_PRUNE_3, TX_TYPE_PRUNE_0 },
{ TX_TYPE_PRUNE_4, TX_TYPE_PRUNE_0 },
- { TX_TYPE_PRUNE_5, TX_TYPE_PRUNE_2 } };
+ { TX_TYPE_PRUNE_5, TX_TYPE_PRUNE_2 },
+ { TX_TYPE_PRUNE_5, TX_TYPE_PRUNE_3 } };
txfm_params->prune_2d_txfm_mode =
prune_mode[winner_mode_tx_type_pruning - 1][is_winner_mode];
}
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 8a1f964..bb5ba0b 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1107,7 +1107,7 @@
sf->tpl_sf.gop_length_decision_method = 3;
sf->tpl_sf.disable_filtered_key_tpl = 1;
- sf->tx_sf.tx_type_search.winner_mode_tx_type_pruning = 3;
+ sf->tx_sf.tx_type_search.winner_mode_tx_type_pruning = 4;
sf->tx_sf.use_intra_txb_hash = 1;
sf->tx_sf.tx_type_search.prune_tx_type_est_rd = 0;