aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/vf_showpalette.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/libavfilter/vf_showpalette.c b/libavfilter/vf_showpalette.c
index f715d6bc2c..c32dbd5b5d 100644
--- a/libavfilter/vf_showpalette.c
+++ b/libavfilter/vf_showpalette.c
@@ -46,26 +46,13 @@ static int query_formats(AVFilterContext *ctx)
{
static const enum AVPixelFormat in_fmts[] = {AV_PIX_FMT_PAL8, AV_PIX_FMT_NONE};
static const enum AVPixelFormat out_fmts[] = {AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE};
- int ret;
- AVFilterFormats *in = ff_make_format_list(in_fmts);
- AVFilterFormats *out = ff_make_format_list(out_fmts);
- if (!in || !out) {
- ret = AVERROR(ENOMEM);
- goto fail;
- }
+ int ret = ff_formats_ref(ff_make_format_list(in_fmts),
+ &ctx->inputs[0]->out_formats);
+ if (ret < 0)
+ return ret;
- if ((ret = ff_formats_ref(in , &ctx->inputs[0]->out_formats)) < 0 ||
- (ret = ff_formats_ref(out, &ctx->outputs[0]->in_formats)) < 0)
- goto fail;
- return 0;
-fail:
- if (in)
- av_freep(&in->formats);
- av_freep(&in);
- if (out)
- av_freep(&out->formats);
- av_freep(&out);
- return ret;
+ return ff_formats_ref(ff_make_format_list(out_fmts),
+ &ctx->outputs[0]->in_formats);
}
static int config_output(AVFilterLink *outlink)