Add a speed 5 feature

Added a tx type search feature at speed 5. The quality/speed tradeoff
was ~20 : 1, and gave ~3% encoder speedup.

Change-Id: Ifedfb85f93c0449837d9e42d86dfa671f0d24698
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 18f3dae..ea39484 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -1681,8 +1681,8 @@
 
   av1_nn_softmax(scores_2D_raw, scores_2D, 16);
 
-  const int prune_aggr_table[2][2] = { { 5, 2 }, { 7, 4 } };
-  int pruning_aggressiveness = 1;
+  const int prune_aggr_table[3][2] = { { 4, 1 }, { 6, 3 }, { 9, 6 } };
+  int pruning_aggressiveness = 0;
   if (tx_set_type == EXT_TX_SET_ALL16) {
     pruning_aggressiveness =
         prune_aggr_table[prune_mode - PRUNE_2D_ACCURATE][0];
@@ -1704,7 +1704,7 @@
   }
 
   const float score_thresh =
-      prune_2D_adaptive_thresholds[tx_size][pruning_aggressiveness - 1];
+      prune_2D_adaptive_thresholds[tx_size][pruning_aggressiveness];
 
   uint16_t prune_bitmask = 0;
   for (int i = 0; i < 16; i++) {
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 1651dbb..f620012 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -377,6 +377,8 @@
     sf->intra_y_mode_mask[TX_16X16] = INTRA_DC_H_V;
     sf->intra_uv_mode_mask[TX_16X16] = UV_INTRA_DC_H_V_CFL;
 
+    sf->tx_type_search.prune_mode = PRUNE_2D_MORE;
+
     // TODO(any): The following features have no impact on quality and speed,
     // and are disabled.
     // sf->disable_filter_search_var_thresh = 200;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 867fc5a..b2a3e44 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -162,6 +162,7 @@
   PRUNE_2D_ACCURATE = 1,
   // similar, but applies much more aggressive pruning to get better speed-up
   PRUNE_2D_FAST = 2,
+  PRUNE_2D_MORE = 3,
 } UENUM1BYTE(TX_TYPE_PRUNE_MODE);
 
 typedef struct {