Fix enc/dec mismatch in cb4x4 and ec-multisymbol Change-Id: I75945cd00c71757d06822dd4c11ea800f9218452
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 1093b13..b7cd4f4 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -1623,17 +1623,24 @@ } } } +#if CONFIG_CB4X4 + if (bsize >= BLOCK_8X8 || is_chroma_reference(mi_row, mi_col)) { +#if CONFIG_EC_MULTISYMBOL + aom_write_symbol(w, av1_intra_mode_ind[mbmi->uv_mode], + ec_ctx->uv_mode_cdf[mode], INTRA_MODES); +#else + write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mode]); +#endif // CONFIG_EC_MULTISYMBOL + } +#else // !CONFIG_CB4X4 #if CONFIG_EC_MULTISYMBOL aom_write_symbol(w, av1_intra_mode_ind[mbmi->uv_mode], ec_ctx->uv_mode_cdf[mode], INTRA_MODES); #else -#if CONFIG_CB4X4 - if (bsize >= BLOCK_8X8 || is_chroma_reference(mi_row, mi_col)) - write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mode]); -#else write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mode]); +#endif // CONFIG_EC_MULTISYMBOL #endif // CONFIG_CB4X4 -#endif + #if CONFIG_EXT_INTRA write_intra_angle_info(cm, xd, w); #endif // CONFIG_EXT_INTRA @@ -1980,17 +1987,25 @@ } } } + +#if CONFIG_CB4X4 + if (bsize >= BLOCK_8X8 || is_chroma_reference(mi_row, mi_col)) { +#if CONFIG_EC_MULTISYMBOL + aom_write_symbol(w, av1_intra_mode_ind[mbmi->uv_mode], + ec_ctx->uv_mode_cdf[mbmi->mode], INTRA_MODES); +#else + write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mbmi->mode]); +#endif // CONFIG_EC_MULTISYMBOL + } +#else // !CONFIG_CB4X4 #if CONFIG_EC_MULTISYMBOL aom_write_symbol(w, av1_intra_mode_ind[mbmi->uv_mode], ec_ctx->uv_mode_cdf[mbmi->mode], INTRA_MODES); #else -#if CONFIG_CB4X4 - if (bsize >= BLOCK_8X8 || is_chroma_reference(mi_row, mi_col)) - write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mbmi->mode]); -#else write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mbmi->mode]); +#endif // CONFIG_EC_MULTISYMBOL #endif // CONFIG_CB4X4 -#endif + #if CONFIG_EXT_INTRA write_intra_angle_info(cm, xd, w); #endif // CONFIG_EXT_INTRA