filter_intra: make fi mode index entropy coded
Make fi mode index entropy coded instead of using raw bits. Mode
cost estimation in key-frame RDO is updated as well. Modification
to inter frame RDO is not included in this patch.
Also key-frame y mode cdf table is re-trained since fi modes are
attached to DC_PRED
Key frame BDRate:
-0.399% lowres, -0.339% midres
Change-Id: I9ccf478b0a2e48fb1870fe8451e45e2c858a5f63
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index cabeb0e..dd048a8 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -890,7 +890,8 @@
aom_read(r, cm->fc->filter_intra_probs[0], ACCT_STR);
if (filter_intra_mode_info->use_filter_intra_mode[0]) {
filter_intra_mode_info->filter_intra_mode[0] =
- av1_read_uniform(r, FILTER_INTRA_MODES);
+ aom_read_symbol(r, xd->tile_ctx->filter_intra_mode_cdf[0],
+ FILTER_INTRA_MODES, ACCT_STR);
}
if (counts) {
++counts
@@ -914,7 +915,8 @@
aom_read(r, cm->fc->filter_intra_probs[1], ACCT_STR);
if (filter_intra_mode_info->use_filter_intra_mode[1]) {
filter_intra_mode_info->filter_intra_mode[1] =
- av1_read_uniform(r, FILTER_INTRA_MODES);
+ aom_read_symbol(r, xd->tile_ctx->filter_intra_mode_cdf[1],
+ FILTER_INTRA_MODES, ACCT_STR);
}
if (counts) {
++counts