EC_ADAPT: use tile context for intra mode syntax.
Change-Id: Id01c785ad48134075c4f6643233413564f0b8fbc
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 9dc11fd..bf70d88 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -1354,7 +1354,7 @@
if (bsize >= BLOCK_8X8 || unify_bsize) {
#if CONFIG_EC_MULTISYMBOL
aom_write_symbol(w, av1_intra_mode_ind[mode],
- cm->fc->y_mode_cdf[size_group_lookup[bsize]],
+ ec_ctx->y_mode_cdf[size_group_lookup[bsize]],
INTRA_MODES);
#else
write_intra_mode(w, mode, cm->fc->y_mode_prob[size_group_lookup[bsize]]);
@@ -1367,7 +1367,7 @@
for (idx = 0; idx < 2; idx += num_4x4_w) {
const PREDICTION_MODE b_mode = mi->bmi[idy * 2 + idx].as_mode;
#if CONFIG_EC_MULTISYMBOL
- aom_write_symbol(w, av1_intra_mode_ind[b_mode], cm->fc->y_mode_cdf[0],
+ aom_write_symbol(w, av1_intra_mode_ind[b_mode], ec_ctx->y_mode_cdf[0],
INTRA_MODES);
#else
write_intra_mode(w, b_mode, cm->fc->y_mode_prob[0]);
@@ -1377,7 +1377,7 @@
}
#if CONFIG_EC_MULTISYMBOL
aom_write_symbol(w, av1_intra_mode_ind[mbmi->uv_mode],
- cm->fc->uv_mode_cdf[mode], INTRA_MODES);
+ ec_ctx->uv_mode_cdf[mode], INTRA_MODES);
#else
write_intra_mode(w, mbmi->uv_mode, cm->fc->uv_mode_prob[mode]);
#endif
@@ -1681,6 +1681,12 @@
const int unify_bsize = 0;
#endif
+#if CONFIG_EC_ADAPT
+ FRAME_CONTEXT *ec_ctx = xd->tile_ctx;
+#elif CONFIG_EC_MULTISYMBOL
+ FRAME_CONTEXT *ec_ctx = cm->fc;
+#endif
+
if (seg->update_map) write_segment_id(w, seg, segp, mbmi->segment_id);
#if CONFIG_DELTA_Q
@@ -1707,7 +1713,8 @@
if (bsize >= BLOCK_8X8 || unify_bsize) {
#if CONFIG_EC_MULTISYMBOL
aom_write_symbol(w, av1_intra_mode_ind[mbmi->mode],
- get_y_mode_cdf(cm, mi, above_mi, left_mi, 0), INTRA_MODES);
+ get_y_mode_cdf(ec_ctx, mi, above_mi, left_mi, 0),
+ INTRA_MODES);
#else
write_intra_mode(w, mbmi->mode,
get_y_mode_probs(cm, mi, above_mi, left_mi, 0));
@@ -1722,7 +1729,7 @@
const int block = idy * 2 + idx;
#if CONFIG_EC_MULTISYMBOL
aom_write_symbol(w, av1_intra_mode_ind[mi->bmi[block].as_mode],
- get_y_mode_cdf(cm, mi, above_mi, left_mi, block),
+ get_y_mode_cdf(ec_ctx, mi, above_mi, left_mi, block),
INTRA_MODES);
#else
write_intra_mode(w, mi->bmi[block].as_mode,
@@ -1733,7 +1740,7 @@
}
#if CONFIG_EC_MULTISYMBOL
aom_write_symbol(w, av1_intra_mode_ind[mbmi->uv_mode],
- cm->fc->uv_mode_cdf[mbmi->mode], INTRA_MODES);
+ 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
@@ -4461,7 +4468,7 @@
if (frame_is_intra_only(cm)) {
av1_copy(cm->kf_y_prob, av1_kf_y_mode_prob);
#if CONFIG_EC_MULTISYMBOL
- av1_copy(cm->kf_y_cdf, av1_kf_y_mode_cdf);
+ av1_copy(cm->fc->kf_y_cdf, av1_kf_y_mode_cdf);
#endif
#if !CONFIG_EC_ADAPT