[FFmpeg-cvslog] vp9: use resetctx in the same way as libvpx.
Ronald S. Bultje
git at videolan.org
Fri Sep 4 16:07:46 CEST 2015
ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Wed Sep 2 12:20:29 2015 -0400| [8d25a11dc79c11880e0f03722344dddd95a90f43] | committer: Ronald S. Bultje
vp9: use resetctx in the same way as libvpx.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d25a11dc79c11880e0f03722344dddd95a90f43
---
libavcodec/vp9.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index b986c1e..c804686 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -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)
More information about the ffmpeg-cvslog
mailing list