diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-08-10 01:25:31 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-08-13 17:36:22 +0200 |
commit | 18ec426a861c1a9a2072080796dff146bafecb53 (patch) | |
tree | d3d8b683db1ff9b6a46fd6e828e0f4c7c94ed1be /libavfilter/af_afir.c | |
parent | 55d9d6767967794edcdd6e1bbd8840fc6f4e9315 (diff) |
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 <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavfilter/af_afir.c')
-rw-r--r-- | libavfilter/af_afir.c | 17 |
1 files changed, 5 insertions, 12 deletions
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) |