diff mbox series

[FFmpeg-devel,012/218] avfilter/af_aderivative: Use formats list instead of query function

Message ID PR3PR03MB66658E4570638DAF4F0C55D08FAA9@PR3PR03MB6665.eurprd03.prod.outlook.com
State Accepted
Commit 5f39512dee97d2e2c83aca6f41b1f395dcc45808
Headers show
Series [FFmpeg-devel,001/218] avfilter/f_reverse: Don't use redundant query_formats function | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

Andreas Rheinhardt Sept. 30, 2021, 1:39 p.m. UTC
In this case switching to .formats.samples even allows to avoid
the runtime check for which filter is currently used.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavfilter/af_aderivative.c | 28 +++-------------------------
 1 file changed, 3 insertions(+), 25 deletions(-)
diff mbox series

Patch

diff --git a/libavfilter/af_aderivative.c b/libavfilter/af_aderivative.c
index e37f978df6..baa272d609 100644
--- a/libavfilter/af_aderivative.c
+++ b/libavfilter/af_aderivative.c
@@ -27,29 +27,6 @@  typedef struct ADerivativeContext {
                    int nb_samples, int channels);
 } ADerivativeContext;
 
-static int query_formats(AVFilterContext *ctx)
-{
-    static const enum AVSampleFormat derivative_sample_fmts[] = {
-        AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_FLTP,
-        AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_DBLP,
-        AV_SAMPLE_FMT_NONE
-    };
-    static const enum AVSampleFormat integral_sample_fmts[] = {
-        AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP,
-        AV_SAMPLE_FMT_NONE
-    };
-    int ret = ff_set_common_formats_from_list(ctx, strcmp(ctx->filter->name, "aintegral") ?
-                                              derivative_sample_fmts : integral_sample_fmts);
-    if (ret < 0)
-        return ret;
-
-    ret = ff_set_common_all_channel_counts(ctx);
-    if (ret < 0)
-        return ret;
-
-    return ff_set_common_all_samplerates(ctx);
-}
-
 #define DERIVATIVE(name, type)                                          \
 static void aderivative_## name ##p(void **d, void **p, const void **s, \
                                     int nb_samples, int channels)       \
@@ -179,7 +156,8 @@  const AVFilter ff_af_aderivative = {
     .uninit        = uninit,
     FILTER_INPUTS(aderivative_inputs),
     FILTER_OUTPUTS(aderivative_outputs),
-    FILTER_QUERY_FUNC(query_formats),
+    FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_FLTP,
+                      AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_DBLP),
 };
 
 const AVFilter ff_af_aintegral = {
@@ -189,5 +167,5 @@  const AVFilter ff_af_aintegral = {
     .uninit        = uninit,
     FILTER_INPUTS(aderivative_inputs),
     FILTER_OUTPUTS(aderivative_outputs),
-    FILTER_QUERY_FUNC(query_formats),
+    FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP),
 };