Clean up write_tx_type()

Remove repeated mbmi->tx_size calls.

Change-Id: I3e4e03b69b2efffd860cc1ea34e150f4257bf081
This commit is contained in:
Jingning Han
2016-11-04 09:58:36 -07:00
parent ab7163db08
commit 641b1ad5ad

View File

@@ -1125,33 +1125,33 @@ static void write_tx_type(const AV1_COMMON *const cm,
#endif #endif
aom_writer *w) { aom_writer *w) {
const int is_inter = is_inter_block(mbmi); const int is_inter = is_inter_block(mbmi);
const TX_SIZE tx_size = mbmi->tx_size;
if (!FIXED_TX_TYPE) { if (!FIXED_TX_TYPE) {
#if CONFIG_EXT_TX #if CONFIG_EXT_TX
const BLOCK_SIZE bsize = mbmi->sb_type; const BLOCK_SIZE bsize = mbmi->sb_type;
if (get_ext_tx_types(mbmi->tx_size, bsize, is_inter) > 1 && if (get_ext_tx_types(tx_size, bsize, is_inter) > 1 && cm->base_qindex > 0 &&
cm->base_qindex > 0 && !mbmi->skip && !mbmi->skip &&
#if CONFIG_SUPERTX #if CONFIG_SUPERTX
!supertx_enabled && !supertx_enabled &&
#endif // CONFIG_SUPERTX #endif // CONFIG_SUPERTX
!segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) { !segfeature_active(&cm->seg, mbmi->segment_id, SEG_LVL_SKIP)) {
int eset = get_ext_tx_set(mbmi->tx_size, bsize, is_inter); int eset = get_ext_tx_set(tx_size, bsize, is_inter);
if (is_inter) { if (is_inter) {
assert(ext_tx_used_inter[eset][mbmi->tx_type]); assert(ext_tx_used_inter[eset][mbmi->tx_type]);
if (eset > 0) if (eset > 0)
av1_write_token( av1_write_token(
w, av1_ext_tx_inter_tree[eset], w, av1_ext_tx_inter_tree[eset],
cm->fc->inter_ext_tx_prob[eset][txsize_sqr_map[mbmi->tx_size]], cm->fc->inter_ext_tx_prob[eset][txsize_sqr_map[tx_size]],
&ext_tx_inter_encodings[eset][mbmi->tx_type]); &ext_tx_inter_encodings[eset][mbmi->tx_type]);
} else if (ALLOW_INTRA_EXT_TX) { } else if (ALLOW_INTRA_EXT_TX) {
if (eset > 0) if (eset > 0)
av1_write_token( av1_write_token(w, av1_ext_tx_intra_tree[eset],
w, av1_ext_tx_intra_tree[eset], cm->fc->intra_ext_tx_prob[eset][tx_size][mbmi->mode],
cm->fc->intra_ext_tx_prob[eset][mbmi->tx_size][mbmi->mode],
&ext_tx_intra_encodings[eset][mbmi->tx_type]); &ext_tx_intra_encodings[eset][mbmi->tx_type]);
} }
} }
#else #else
if (mbmi->tx_size < TX_32X32 && cm->base_qindex > 0 && !mbmi->skip && if (tx_size < TX_32X32 && cm->base_qindex > 0 && !mbmi->skip &&
#if CONFIG_SUPERTX #if CONFIG_SUPERTX
!supertx_enabled && !supertx_enabled &&
#endif // CONFIG_SUPERTX #endif // CONFIG_SUPERTX
@@ -1159,24 +1159,23 @@ static void write_tx_type(const AV1_COMMON *const cm,
if (is_inter) { if (is_inter) {
#if CONFIG_DAALA_EC #if CONFIG_DAALA_EC
aom_write_symbol(w, av1_ext_tx_ind[mbmi->tx_type], aom_write_symbol(w, av1_ext_tx_ind[mbmi->tx_type],
cm->fc->inter_ext_tx_cdf[mbmi->tx_size], TX_TYPES); cm->fc->inter_ext_tx_cdf[tx_size], TX_TYPES);
#else #else
av1_write_token(w, av1_ext_tx_tree, av1_write_token(w, av1_ext_tx_tree, cm->fc->inter_ext_tx_prob[tx_size],
cm->fc->inter_ext_tx_prob[mbmi->tx_size],
&ext_tx_encodings[mbmi->tx_type]); &ext_tx_encodings[mbmi->tx_type]);
#endif #endif
} else { } else {
#if CONFIG_DAALA_EC #if CONFIG_DAALA_EC
aom_write_symbol( aom_write_symbol(
w, av1_ext_tx_ind[mbmi->tx_type], w, av1_ext_tx_ind[mbmi->tx_type],
cm->fc->intra_ext_tx_cdf[mbmi->tx_size] cm->fc->intra_ext_tx_cdf[tx_size]
[intra_mode_to_tx_type_context[mbmi->mode]], [intra_mode_to_tx_type_context[mbmi->mode]],
TX_TYPES); TX_TYPES);
#else #else
av1_write_token( av1_write_token(
w, av1_ext_tx_tree, w, av1_ext_tx_tree,
cm->fc cm->fc
->intra_ext_tx_prob[mbmi->tx_size] ->intra_ext_tx_prob[tx_size]
[intra_mode_to_tx_type_context[mbmi->mode]], [intra_mode_to_tx_type_context[mbmi->mode]],
&ext_tx_encodings[mbmi->tx_type]); &ext_tx_encodings[mbmi->tx_type]);
#endif #endif