summaryrefslogtreecommitdiff
path: root/vp9/decoder/decodframe.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/decoder/decodframe.c')
-rw-r--r--vp9/decoder/decodframe.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/vp9/decoder/decodframe.c b/vp9/decoder/decodframe.c
index 275bfb9ca..2642e5a6c 100644
--- a/vp9/decoder/decodframe.c
+++ b/vp9/decoder/decodframe.c
@@ -1315,6 +1315,19 @@ int vp9_decode_frame(VP9D_COMP *pbi) {
pc->refresh_last_frame = (pc->frame_type == KEY_FRAME)
|| vp9_read_bit(&header_bc);
+ // Read inter mode probability context updates
+ if (pc->frame_type != KEY_FRAME) {
+ int i, j;
+ for (i = 0; i < INTER_MODE_CONTEXTS; i++) {
+ for (j = 0; j < 4; j++) {
+ if (vp9_read(&header_bc, 252)) {
+ pc->fc.vp9_mode_contexts[i][j] =
+ (vp9_prob)vp9_read_literal(&header_bc, 8);
+ }
+ }
+ }
+ }
+
if (0) {
FILE *z = fopen("decodestats.stt", "a");
fprintf(z, "%6d F:%d,G:%d,A:%d,L:%d,Q:%d\n",
@@ -1363,7 +1376,6 @@ int vp9_decode_frame(VP9D_COMP *pbi) {
vp9_zero(pbi->common.fc.mbsplit_counts);
vp9_zero(pbi->common.fc.NMVcount);
vp9_zero(pbi->common.fc.mv_ref_ct);
- vp9_zero(pbi->common.fc.mv_ref_ct_a);
#if CONFIG_COMP_INTERINTRA_PRED
vp9_zero(pbi->common.fc.interintra_counts);
#endif