diff options
author | Niklas Haas <git@haasn.dev> | 2023-10-25 13:43:28 +0200 |
---|---|---|
committer | Niklas Haas <git@haasn.dev> | 2023-12-31 13:36:22 -0800 |
commit | 44a33fccd8b56478d87f7c62279a203d0a27e1f4 (patch) | |
tree | e00eb0f8ddf1f6aa5660d2c3de9c9f1eac2edf40 /libavfilter | |
parent | 796669d4834b490095ebad3e898bb90502bd02d4 (diff) |
avfilter/vf_format: allow empty pix_fmts list
Which will impose no restriction. This makes sense when using e.g.
`color_ranges=pc` to limit the color range, without also limiting the
pixel format.
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_format.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index d1bb9daa97..3a353bbb0d 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -91,11 +91,6 @@ static av_cold int init(AVFilterContext *ctx) enum AVPixelFormat pix_fmt; int ret; - if (!s->pix_fmts) { - av_log(ctx, AV_LOG_ERROR, "Empty output format string.\n"); - return AVERROR(EINVAL); - } - for (char *sep, *cur = s->pix_fmts; cur; cur = sep) { sep = strchr(cur, '|'); if (sep && *sep) @@ -131,7 +126,7 @@ static av_cold int init(AVFilterContext *ctx) } /* hold on to a ref for the lifetime of the filter */ - if ((ret = ff_formats_ref(s->formats, &s->formats)) < 0 || + if (s->formats && (ret = ff_formats_ref(s->formats, &s->formats)) < 0 || s->color_spaces && (ret = ff_formats_ref(s->color_spaces, &s->color_spaces)) < 0 || s->color_ranges && (ret = ff_formats_ref(s->color_ranges, &s->color_ranges)) < 0) return ret; @@ -144,7 +139,7 @@ static int query_formats(AVFilterContext *ctx) FormatContext *s = ctx->priv; int ret; - if ((ret = ff_set_common_formats(ctx, s->formats)) < 0 || + if (s->formats && (ret = ff_set_common_formats(ctx, s->formats)) < 0 || s->color_spaces && (ret = ff_set_common_color_spaces(ctx, s->color_spaces)) < 0 || s->color_ranges && (ret = ff_set_common_color_ranges(ctx, s->color_ranges)) < 0) return ret; |