[FFmpeg-devel] [PATCH 10/12] vp9: reset loopfilter mode/ref deltas on keyframe.

Ronald S. Bultje rsbultje at gmail.com
Fri May 15 21:43:55 CEST 2015


---
 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
-- 
2.1.2



More information about the ffmpeg-devel mailing list