summaryrefslogtreecommitdiff
path: root/libavcodec/vp9.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2016-04-17 09:28:56 -0400
committerRonald S. Bultje <rsbultje@gmail.com>2016-04-17 09:28:56 -0400
commitee729cc0ed0bdc6d9029ccd21c76bdde09519b45 (patch)
tree3074897fcc4ccf769ced86bde6bbb529bc4c89f7 /libavcodec/vp9.c
parent6135aed0d2b2f630d34599eae6c7b908b39f5c63 (diff)
vp9: ignore frame_context_index field in key-/intraonly-frames.
Reproduces a bug to remain consistent with libvpx' behaviour.
Diffstat (limited to 'libavcodec/vp9.c')
-rw-r--r--libavcodec/vp9.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 5c6f176367..cb2a4a2921 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -642,6 +642,8 @@ static int decode_frame_header(AVCodecContext *ctx,
s->s.h.refreshctx = s->s.h.errorres ? 0 : get_bits1(&s->gb);
s->s.h.parallelmode = s->s.h.errorres ? 1 : get_bits1(&s->gb);
s->s.h.framectxid = c = get_bits(&s->gb, 2);
+ if (s->s.h.keyframe || s->s.h.intraonly)
+ s->s.h.framectxid = 0; // BUG: libvpx ignores this field in keyframes
/* loopfilter header data */
if (s->s.h.keyframe || s->s.h.errorres || s->s.h.intraonly) {