avfilter/vf_mpdecimate: debug logging of threshold stats
authorPeter Cordes <peter@cordes.ca>
Tue, 3 Mar 2015 02:57:30 +0000 (22:57 -0400)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 31 May 2015 11:25:40 +0000 (13:25 +0200)
It's often really helpful to know why a frame wasn't decimated (lo or
hi), and how much you exceeded the threshold by, if you're trying to
tweak the thresholds to get what you want.

mpdecimate already prints a line per input frame with -v debug, this
just makes it longer.

Signed-off-by: Peter Cordes <peter@cordes.ca>
libavfilter/vf_mpdecimate.c

index 5c41de7..429121d 100644 (file)
@@ -84,15 +84,21 @@ static int diff_planes(AVFilterContext *ctx,
         for (x = 8; x < w-7; x += 4) {
             d = decimate->sad(cur + y*cur_linesize + x, cur_linesize,
                               ref + y*ref_linesize + x, ref_linesize);
-            if (d > decimate->hi)
+            if (d > decimate->hi) {
+                av_log(ctx, AV_LOG_DEBUG, "%d>=hi ", d);
                 return 1;
+            }
             if (d > decimate->lo) {
                 c++;
-                if (c > t)
+                if (c > t) {
+                    av_log(ctx, AV_LOG_DEBUG, "lo:%d>=%d ", c, t);
                     return 1;
+                }
             }
         }
     }
+
+    av_log(ctx, AV_LOG_DEBUG, "lo:%d<%d ", c, t);
     return 0;
 }