Reproduces a bug to remain consistent with libvpx' behaviour.
Unified · Split
| @@ -642,6 +642,8 @@ static int decode_frame_header(AVCodecContext *ctx, · 641 unmodified lines | ||
| 642 | 642 | s->s.h.refreshctx = s->s.h.errorres ? 0 : get_bits1(&s->gb); |
| 643 | 643 | s->s.h.parallelmode = s->s.h.errorres ? 1 : get_bits1(&s->gb); |
| 644 | 644 | s->s.h.framectxid = c = get_bits(&s->gb, 2); |
| 645 | + if (s->s.h.keyframe || s->s.h.intraonly) | |
| 646 | + s->s.h.framectxid = 0; // BUG: libvpx ignores this field in keyframes | |
| 645 | 647 | |
| 646 | 648 | /* loopfilter header data */ |
| 647 | 649 | if (s->s.h.keyframe || s->s.h.errorres || s->s.h.intraonly) { |