Update intra_ext_tx_cdf per frame. Move computing the intra_ext_tx_cdf tables per symbol to computing them only when the probabilities are updated. Change-Id: I26d5e419e103093e98a7d896c196176305b50fc9
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c index a696533..f234e3b 100644 --- a/av1/common/entropymode.c +++ b/av1/common/entropymode.c
@@ -1284,6 +1284,9 @@ }; /* clang-format on */ +int av1_ext_tx_ind[TX_TYPES]; +int av1_ext_tx_inv[TX_TYPES]; + static const aom_prob default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = { { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } }, @@ -1383,6 +1386,8 @@ #if CONFIG_DAALA_EC av1_tree_to_cdf_1D(av1_switchable_interp_tree, fc->switchable_interp_prob, fc->switchable_interp_cdf, SWITCHABLE_FILTER_CONTEXTS); + av1_tree_to_cdf_2D(av1_ext_tx_tree, fc->intra_ext_tx_prob, + fc->intra_ext_tx_cdf, EXT_TX_SIZES, TX_TYPES); #endif } @@ -1578,10 +1583,15 @@ } #else for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - for (j = 0; j < TX_TYPES; ++j) + for (j = 0; j < TX_TYPES; ++j) { aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->intra_ext_tx_prob[i][j], counts->intra_ext_tx[i][j], fc->intra_ext_tx_prob[i][j]); +#if CONFIG_DAALA_EC + av1_tree_to_cdf(av1_ext_tx_tree, fc->intra_ext_tx_prob[i][j], + fc->intra_ext_tx_cdf[i][j]); +#endif + } } for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { aom_tree_merge_probs(av1_ext_tx_tree, pre_fc->inter_ext_tx_prob[i],