diff options
Diffstat (limited to 'libavfilter/vf_alphamerge.c')
-rw-r--r-- | libavfilter/vf_alphamerge.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libavfilter/vf_alphamerge.c b/libavfilter/vf_alphamerge.c index a478de527a..8a1ca22da5 100644 --- a/libavfilter/vf_alphamerge.c +++ b/libavfilter/vf_alphamerge.c @@ -57,11 +57,16 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_NONE }; static const enum AVPixelFormat alpha_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; - AVFilterFormats *main_formats = ff_make_format_list(main_fmts); - AVFilterFormats *alpha_formats = ff_make_format_list(alpha_fmts); - ff_formats_ref(main_formats, &ctx->inputs[0]->out_formats); - ff_formats_ref(alpha_formats, &ctx->inputs[1]->out_formats); - ff_formats_ref(main_formats, &ctx->outputs[0]->in_formats); + AVFilterFormats *main_formats, *alpha_formats; + int ret; + + if (!(main_formats = ff_make_format_list(main_fmts)) || + !(alpha_formats = ff_make_format_list(alpha_fmts))) + return AVERROR(ENOMEM); + if ((ret = ff_formats_ref(main_formats , &ctx->inputs[0]->out_formats)) < 0 || + (ret = ff_formats_ref(alpha_formats, &ctx->inputs[1]->out_formats)) < 0 || + (ret = ff_formats_ref(main_formats , &ctx->outputs[0]->in_formats)) < 0) + return ret; return 0; } |