} IlContext;
#define OFFSET(x) offsetof(IlContext, x)
-#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
+#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
static const AVOption il_options[] = {
{"luma_mode", "select luma mode", OFFSET(luma_mode), AV_OPT_TYPE_INT, {.i64=MODE_NONE}, MODE_NONE, MODE_DEINTERLEAVE, FLAGS, "luma_mode"},
static int query_formats(AVFilterContext *ctx)
{
AVFilterFormats *formats = NULL;
- int fmt, ret;
-
- for (fmt = 0; av_pix_fmt_desc_get(fmt); fmt++) {
- const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt);
- if (!(desc->flags & AV_PIX_FMT_FLAG_PAL) &&
- !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL) &&
- (ret = ff_add_format(&formats, fmt)) < 0)
- return ret;
- }
+ int ret;
+ ret = ff_formats_pixdesc_filter(&formats, 0,
+ AV_PIX_FMT_FLAG_PAL |
+ AV_PIX_FMT_FLAG_HWACCEL);
+ if (ret < 0)
+ return ret;
return ff_set_common_formats(ctx, formats);
}
.outputs = outputs,
.priv_class = &il_class,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .process_command = ff_filter_process_command,
};