avfilter/vf_amplify: add timeline support

pull/333/head
Paul B Mahol 5 years ago
parent 103effebc1
commit 55ca21d54e
  1. 11
      libavfilter/vf_amplify.c

@ -259,14 +259,21 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
s->frames[s->nb_inputs - 1] = in; s->frames[s->nb_inputs - 1] = in;
} }
if (!ctx->is_disabled) {
out = ff_get_video_buffer(outlink, outlink->w, outlink->h); out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
if (!out) if (!out)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
out->pts = s->frames[0]->pts; av_frame_copy_props(out, s->frames[0]);
td.out = out; td.out = out;
td.in = s->frames; td.in = s->frames;
ctx->internal->execute(ctx, amplify_frame, &td, NULL, FFMIN(s->height[1], ff_filter_get_nb_threads(ctx))); ctx->internal->execute(ctx, amplify_frame, &td, NULL, FFMIN(s->height[1], ff_filter_get_nb_threads(ctx)));
} else {
out = av_frame_clone(s->frames[s->radius]);
if (!out)
return AVERROR(ENOMEM);
out->pts = s->frames[0]->pts;
}
return ff_filter_frame(outlink, out); return ff_filter_frame(outlink, out);
} }
@ -316,6 +323,6 @@ AVFilter ff_vf_amplify = {
.inputs = inputs, .inputs = inputs,
.init = init, .init = init,
.uninit = uninit, .uninit = uninit,
.flags = AVFILTER_FLAG_SLICE_THREADS, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
.process_command = ff_filter_process_command, .process_command = ff_filter_process_command,
}; };

Loading…
Cancel
Save