avfilter/vf_lagfun: add timeline support

This commit is contained in:
Paul B Mahol 2021-02-11 00:30:07 +01:00
parent 27b5d0e1e4
commit 05b394d537
1 changed files with 11 additions and 3 deletions

View File

@ -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,
};