vp9: use resetctx in the same way as libvpx.

This commit is contained in:
Ronald S. Bultje 2015-09-02 12:20:29 -04:00
parent cc9d3a3e36
commit 8d25a11dc7
1 changed files with 5 additions and 1 deletions

View File

@ -856,7 +856,7 @@ static int decode_frame_header(AVCodecContext *ctx,
}
}
if (s->keyframe || s->errorres || s->intraonly) {
if (s->keyframe || s->errorres || (s->intraonly && s->resetctx == 3)) {
s->prob_ctx[0].p = s->prob_ctx[1].p = s->prob_ctx[2].p =
s->prob_ctx[3].p = vp9_default_probs;
memcpy(s->prob_ctx[0].coef, vp9_default_coef_probs,
@ -867,6 +867,10 @@ static int decode_frame_header(AVCodecContext *ctx,
sizeof(vp9_default_coef_probs));
memcpy(s->prob_ctx[3].coef, vp9_default_coef_probs,
sizeof(vp9_default_coef_probs));
} else if (s->intraonly && s->resetctx == 2) {
s->prob_ctx[c].p = vp9_default_probs;
memcpy(s->prob_ctx[c].coef, vp9_default_coef_probs,
sizeof(vp9_default_coef_probs));
}
// next 16 bits is size of the rest of the header (arith-coded)