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