Commit 44a33fcc authored by Niklas Haas's avatar Niklas Haas

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.
parent 796669d4
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment