Align EXT_TX with EC_MULTISYMBOL and EC_ADAPT.

Do multisymbol coding for transform type.
Load default cdf probabilities directly.
Use CDF frame update mechanism when EC_ADAPT is
enabled.

Change-Id: Id23c927e81587b560e9df8b9bc56c0e2e3bb6f03
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 2f3c3a3..e12f2a4 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -787,18 +787,30 @@
 
       if (inter_block) {
         if (eset > 0) {
+#if CONFIG_EC_MULTISYMBOL
+          mbmi->tx_type = av1_ext_tx_inter_inv[eset][aom_read_symbol(
+              r, ec_ctx->inter_ext_tx_cdf[eset][square_tx_size],
+              ext_tx_cnt_inter[eset], ACCT_STR)];
+#else
           mbmi->tx_type = aom_read_tree(
               r, av1_ext_tx_inter_tree[eset],
               ec_ctx->inter_ext_tx_prob[eset][square_tx_size], ACCT_STR);
+#endif
           if (counts)
             ++counts->inter_ext_tx[eset][square_tx_size][mbmi->tx_type];
         }
       } else if (ALLOW_INTRA_EXT_TX) {
         if (eset > 0) {
+#if CONFIG_EC_MULTISYMBOL
+          mbmi->tx_type = av1_ext_tx_intra_inv[eset][aom_read_symbol(
+              r, ec_ctx->intra_ext_tx_cdf[eset][square_tx_size][mbmi->mode],
+              ext_tx_cnt_intra[eset], ACCT_STR)];
+#else
           mbmi->tx_type = aom_read_tree(
               r, av1_ext_tx_intra_tree[eset],
               ec_ctx->intra_ext_tx_prob[eset][square_tx_size][mbmi->mode],
               ACCT_STR);
+#endif
           if (counts)
             ++counts->intra_ext_tx[eset][square_tx_size][mbmi->mode]
                                   [mbmi->tx_type];
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c
index a3550dc..5a74a3b 100644
--- a/av1/decoder/decoder.c
+++ b/av1/decoder/decoder.c
@@ -55,7 +55,15 @@
                           av1_intra_mode_tree);
     av1_indices_from_tree(av1_switchable_interp_ind, av1_switchable_interp_inv,
                           SWITCHABLE_FILTERS, av1_switchable_interp_tree);
-#if !CONFIG_EXT_TX
+#if CONFIG_EXT_TX
+    int s;
+    for (s = 1; s < EXT_TX_SETS_INTRA; ++s)
+      av1_indices_from_tree(av1_ext_tx_intra_ind[s], av1_ext_tx_intra_inv[s],
+                            ext_tx_cnt_intra[s], av1_ext_tx_intra_tree[s]);
+    for (s = 1; s < EXT_TX_SETS_INTER; ++s)
+      av1_indices_from_tree(av1_ext_tx_inter_ind[s], av1_ext_tx_inter_inv[s],
+                            ext_tx_cnt_inter[s], av1_ext_tx_inter_tree[s]);
+#else
     av1_indices_from_tree(av1_ext_tx_ind, av1_ext_tx_inv, TX_TYPES,
                           av1_ext_tx_tree);
 #endif