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