ffmpeg | branch: master | Ronald S. Bultje <[email protected]> | Fri May 15 
11:42:39 2015 -0400| [c81677e9b73c31508b78123dd6e4473fe45b03cd] | committer: 
Ronald S. Bultje

vp9: reset loopfilter mode/ref deltas on keyframe.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c81677e9b73c31508b78123dd6e4473fe45b03cd
---

 libavcodec/vp9.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 23cf99b..8b1ef67 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -698,6 +698,15 @@ static int decode_frame_header(AVCodecContext *ctx,
     s->framectxid   = c = get_bits(&s->gb, 2);
 
     /* loopfilter header data */
+    if (s->keyframe || s->errorres || s->intraonly) {
+        // reset loopfilter defaults
+        s->lf_delta.ref[0] = 1;
+        s->lf_delta.ref[1] = 0;
+        s->lf_delta.ref[2] = -1;
+        s->lf_delta.ref[3] = -1;
+        s->lf_delta.mode[0] = 0;
+        s->lf_delta.mode[1] = 0;
+    }
     s->filter.level = get_bits(&s->gb, 6);
     sharp = get_bits(&s->gb, 3);
     // if sharpness changed, reinit lim/mblim LUTs. if it didn't change, keep

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to