avfilter/vf_stack: use ff_formats_pixdesc_filter()

This commit is contained in:
Paul B Mahol 2021-01-16 21:04:42 +01:00
parent b7817f23c0
commit 5b34fcaa8d
1 changed files with 9 additions and 12 deletions

View File

@ -60,24 +60,21 @@ typedef struct StackContext {
static int query_formats(AVFilterContext *ctx)
{
AVFilterFormats *pix_fmts = NULL;
AVFilterFormats *formats = NULL;
StackContext *s = ctx->priv;
int fmt, ret;
int ret;
if (s->fillcolor_enable) {
return ff_set_common_formats(ctx, ff_draw_supported_pixel_formats(0));
}
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 ||
desc->flags & AV_PIX_FMT_FLAG_BITSTREAM) &&
(ret = ff_add_format(&pix_fmts, fmt)) < 0)
return ret;
}
return ff_set_common_formats(ctx, pix_fmts);
ret = ff_formats_pixdesc_filter(&formats, 0,
AV_PIX_FMT_FLAG_HWACCEL |
AV_PIX_FMT_FLAG_BITSTREAM |
AV_PIX_FMT_FLAG_PAL);
if (ret < 0)
return ret;
return ff_set_common_formats(ctx, formats);
}
static av_cold int init(AVFilterContext *ctx)