avfilter/vf_alphamerge: add timeline support

This commit is contained in:
Paul B Mahol 2020-02-08 14:28:01 +01:00
parent a8d82cc2b8
commit cbd5a4536c

View File

@ -26,6 +26,7 @@
#include <string.h> #include <string.h>
#include "libavutil/imgutils.h" #include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/pixfmt.h" #include "libavutil/pixfmt.h"
#include "avfilter.h" #include "avfilter.h"
#include "drawutils.h" #include "drawutils.h"
@ -154,7 +155,8 @@ static int activate(AVFilterContext *ctx)
} }
if (s->main_frame && s->alpha_frame) { if (s->main_frame && s->alpha_frame) {
draw_frame(ctx, s->main_frame, s->alpha_frame); if (!ctx->is_disabled)
draw_frame(ctx, s->main_frame, s->alpha_frame);
ret = ff_filter_frame(outlink, s->main_frame); ret = ff_filter_frame(outlink, s->main_frame);
av_frame_free(&s->alpha_frame); av_frame_free(&s->alpha_frame);
s->main_frame = NULL; s->main_frame = NULL;
@ -203,13 +205,21 @@ static const AVFilterPad alphamerge_outputs[] = {
{ NULL } { NULL }
}; };
static const AVOption alphamerge_options[] = {
{ NULL }
};
AVFILTER_DEFINE_CLASS(alphamerge);
AVFilter ff_vf_alphamerge = { AVFilter ff_vf_alphamerge = {
.name = "alphamerge", .name = "alphamerge",
.description = NULL_IF_CONFIG_SMALL("Copy the luma value of the second " .description = NULL_IF_CONFIG_SMALL("Copy the luma value of the second "
"input into the alpha channel of the first input."), "input into the alpha channel of the first input."),
.priv_size = sizeof(AlphaMergeContext), .priv_size = sizeof(AlphaMergeContext),
.priv_class = &alphamerge_class,
.query_formats = query_formats, .query_formats = query_formats,
.inputs = alphamerge_inputs, .inputs = alphamerge_inputs,
.outputs = alphamerge_outputs, .outputs = alphamerge_outputs,
.activate = activate, .activate = activate,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
}; };