[FFmpeg-cvslog] vp9: reset loopfilter mode/ref deltas on keyframe.

Ronald S. Bultje git at videolan.org
Mon May 18 02:44:28 CEST 2015


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | 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



More information about the ffmpeg-cvslog mailing list