From 18ec426a861c1a9a2072080796dff146bafecb53 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Tue, 10 Aug 2021 01:25:31 +0200 Subject: avfilter/formats: Factor common function combinations out Several combinations of functions happen quite often in query_format functions; e.g. ff_set_common_formats(ctx, ff_make_format_list(sample_fmts)) is very common. This commit therefore adds functions that are equivalent to commonly used function combinations in order to reduce code duplication. Reviewed-by: Nicolas George Signed-off-by: Andreas Rheinhardt --- libavfilter/af_afir.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'libavfilter/af_afir.c') diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c index 309eb3dd2e..bb07d31726 100644 --- a/libavfilter/af_afir.c +++ b/libavfilter/af_afir.c @@ -715,8 +715,6 @@ static int activate(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx) { AudioFIRContext *s = ctx->priv; - AVFilterFormats *formats; - AVFilterChannelLayouts *layouts; static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE @@ -729,21 +727,18 @@ static int query_formats(AVFilterContext *ctx) if (s->response) { AVFilterLink *videolink = ctx->outputs[1]; - formats = ff_make_format_list(pix_fmts); + AVFilterFormats *formats = ff_make_format_list(pix_fmts); if ((ret = ff_formats_ref(formats, &videolink->incfg.formats)) < 0) return ret; } - layouts = ff_all_channel_counts(); - if (!layouts) - return AVERROR(ENOMEM); - if (s->ir_format) { - ret = ff_set_common_channel_layouts(ctx, layouts); + ret = ff_set_common_all_channel_counts(ctx); if (ret < 0) return ret; } else { AVFilterChannelLayouts *mono = NULL; + AVFilterChannelLayouts *layouts = ff_all_channel_counts(); if ((ret = ff_channel_layouts_ref(layouts, &ctx->inputs[0]->outcfg.channel_layouts)) < 0) return ret; @@ -759,12 +754,10 @@ static int query_formats(AVFilterContext *ctx) } } - formats = ff_make_format_list(sample_fmts); - if ((ret = ff_set_common_formats(ctx, formats)) < 0) + if ((ret = ff_set_common_formats_from_list(ctx, sample_fmts)) < 0) return ret; - formats = ff_all_samplerates(); - return ff_set_common_samplerates(ctx, formats); + return ff_set_common_all_samplerates(ctx); } static int config_output(AVFilterLink *outlink) -- cgit v1.2.3