diff options
Diffstat (limited to 'vp9/decoder/decodframe.c')
-rw-r--r-- | vp9/decoder/decodframe.c | 14 |
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 |