Fix intricacy between speed features in txk-sel

The transform kernel selection re-works the rate-distortion
optimization process. This commit clears some intricacy due the
coupling of different speed features.

BUG=aomedia:1323
BUG=aomedia:1324

Change-Id: Ib8c4006f63ab9d9171de0132e14b5168af7959e4
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index e928385..12cb062 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -1886,9 +1886,13 @@
   int rate_cost = 0;
   const int is_inter = is_inter_block(mbmi);
   TX_TYPE txk_start = DCT_DCT;
-  TX_TYPE txk_end = (x->rd_model == LOW_TXFM_RD || x->cb_partition_scan)
-                        ? DCT_DCT
-                        : TX_TYPES - 1;
+  TX_TYPE txk_end = TX_TYPES - 1;
+
+  if (!(!is_inter && x->use_default_intra_tx_type) &&
+      !(is_inter && x->use_default_inter_tx_type))
+    if (x->rd_model == LOW_TXFM_RD || x->cb_partition_scan)
+      if (plane == 0) txk_end = DCT_DCT;
+
   TX_TYPE best_tx_type = txk_start;
   int64_t best_rd = INT64_MAX;
   uint8_t best_txb_ctx = 0;