static av_cold int init(AVFilterContext *ctx, const char *args)
{
FadeContext *fade = ctx->priv;
- static const char *shorthand[] = { "type", "start_frame", "nb_frames", NULL };
- int ret;
-
- fade->class = &fade_class;
- av_opt_set_defaults(fade);
-
- if ((ret = av_opt_set_from_string(fade, args, shorthand, "=", ":")) < 0)
- return ret;
fade->fade_per_frame = (1 << 16) / fade->nb_frames;
if (!strcmp(fade->type, "in"))
return 0;
}
-static av_cold void uninit(AVFilterContext *ctx)
-{
- FadeContext *fade = ctx->priv;
-
- av_opt_free(fade);
-}
-
static int query_formats(AVFilterContext *ctx)
{
static const enum AVPixelFormat pix_fmts[] = {
{ NULL }
};
+static const char *const shorthand[] = { "type", "start_frame", "nb_frames", NULL };
+
AVFilter avfilter_vf_fade = {
.name = "fade",
.description = NULL_IF_CONFIG_SMALL("Fade in/out input video."),
.init = init,
- .uninit = uninit,
.priv_size = sizeof(FadeContext),
.query_formats = query_formats,
.inputs = avfilter_vf_fade_inputs,
.outputs = avfilter_vf_fade_outputs,
.priv_class = &fade_class,
+ .shorthand = shorthand,
};