static int query_formats(AVFilterContext *ctx)
{
- AVFilterFormats *pix_fmts = 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_HWACCEL ||
- desc->flags & AV_PIX_FMT_FLAG_PAL ||
- desc->flags & AV_PIX_FMT_FLAG_BITSTREAM) &&
- (ret = ff_add_format(&pix_fmts, fmt)) < 0)
- return ret;
- }
+ AVFilterFormats *formats = NULL;
+ int ret;
- return ff_set_common_formats(ctx, pix_fmts);
+ ret = ff_formats_pixdesc_filter(&formats, 0,
+ AV_PIX_FMT_FLAG_BITSTREAM |
+ AV_PIX_FMT_FLAG_PAL |
+ AV_PIX_FMT_FLAG_HWACCEL);
+ if (ret < 0)
+ return ret;
+ return ff_set_common_formats(ctx, formats);
}
static int config_input(AVFilterLink *inlink)
{ NULL }
};
-AVFilter ff_vf_detelecine = {
+const AVFilter ff_vf_detelecine = {
.name = "detelecine",
.description = NULL_IF_CONFIG_SMALL("Apply an inverse telecine pattern."),
.priv_size = sizeof(DetelecineContext),