[FFmpeg-cvslog] avfilter/vf_lagfun: add timeline support

Paul B Mahol git at videolan.org
Thu Feb 11 01:45:44 EET 2021


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Feb 11 00:30:07 2021 +0100| [05b394d5376fe987046b9f52da535301365102ec] | committer: Paul B Mahol

avfilter/vf_lagfun: add timeline support

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

 libavfilter/vf_lagfun.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/libavfilter/vf_lagfun.c b/libavfilter/vf_lagfun.c
index 8f08888841..9e2e0726c7 100644
--- a/libavfilter/vf_lagfun.c
+++ b/libavfilter/vf_lagfun.c
@@ -104,7 +104,11 @@ static int lagfun_frame8(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs
                 float v = FFMAX(src[x], osrc[x] * decay);
 
                 osrc[x] = v;
-                dst[x] = lrintf(v);
+                if (ctx->is_disabled) {
+                    dst[x] = src[x];
+                } else {
+                    dst[x] = lrintf(v);
+                }
             }
 
             src += in->linesize[p];
@@ -143,7 +147,11 @@ static int lagfun_frame16(AVFilterContext *ctx, void *arg, int jobnr, int nb_job
                 float v = FFMAX(src[x], osrc[x] * decay);
 
                 osrc[x] = v;
-                dst[x] = lrintf(v);
+                if (ctx->is_disabled) {
+                    dst[x] = src[x];
+                } else {
+                    dst[x] = lrintf(v);
+                }
             }
 
             src += in->linesize[p] / 2;
@@ -256,6 +264,6 @@ AVFilter ff_vf_lagfun = {
     .uninit        = uninit,
     .outputs       = outputs,
     .inputs        = inputs,
-    .flags         = AVFILTER_FLAG_SLICE_THREADS,
+    .flags         = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
     .process_command = ff_filter_process_command,
 };



More information about the ffmpeg-cvslog mailing list