From 72762a282782be8779037185c578699b9d8a254c Mon Sep 17 00:00:00 2001 From: "Nathan E. Egge" Date: Wed, 7 Sep 2016 17:12:07 -0400 Subject: [PATCH] Use intra_ext_tx_cdf when coding tx_type. When building with --enable-daala_ec, the tx_type for intra blocks can be coded using the CDFs that are updated once per frame. This patch converts a tx_type symbol to be coded with aom_write_symbol() and aom_read_symbol() that was missed in f3e8e267. Change-Id: I34f8fef7525f88e156bbcb78dfc48994367610ce --- av1/decoder/decodemv.c | 6 ++++++ av1/encoder/bitstream.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index 4d181fd00..d6feaa837 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c @@ -718,9 +718,15 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm, !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) { FRAME_COUNTS *counts = xd->counts; TX_TYPE tx_type_nom = intra_mode_to_tx_type_context[mbmi->mode]; +#if CONFIG_DAALA_EC + mbmi->tx_type = av1_ext_tx_inv[aom_read_symbol( + r, cm->fc->intra_ext_tx_cdf[mbmi->tx_size][tx_type_nom], TX_TYPES, + ACCT_STR)]; +#else mbmi->tx_type = aom_read_tree( r, av1_ext_tx_tree, cm->fc->intra_ext_tx_prob[mbmi->tx_size][tx_type_nom], ACCT_STR); +#endif if (counts) ++counts->intra_ext_tx[mbmi->tx_size][tx_type_nom][mbmi->tx_type]; } else { diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 7068604d6..e0fb7ecb0 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c @@ -1666,11 +1666,19 @@ static void write_mb_modes_kf(const AV1_COMMON *cm, const MACROBLOCKD *xd, #else if (mbmi->tx_size < TX_32X32 && cm->base_qindex > 0 && !mbmi->skip && !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) { +#if CONFIG_DAALA_EC + aom_write_symbol( + w, av1_ext_tx_ind[mbmi->tx_type], + cm->fc->intra_ext_tx_cdf[mbmi->tx_size] + [intra_mode_to_tx_type_context[mbmi->mode]], + TX_TYPES); +#else av1_write_token( w, av1_ext_tx_tree, cm->fc->intra_ext_tx_prob[mbmi->tx_size] [intra_mode_to_tx_type_context[mbmi->mode]], &ext_tx_encodings[mbmi->tx_type]); +#endif } #endif // CONFIG_EXT_TX }