From patchwork Thu Aug 3 14:27:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43107 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c11f:b0:130:ccc6:6c4b with SMTP id bh31csp1356096pzb; Thu, 3 Aug 2023 07:27:07 -0700 (PDT) X-Google-Smtp-Source: APBJJlF+8Lc4dHpsoQgRJP4YDbkLZMMd1l/djGCwsO3i/n0QwLy7/whN3uTj7kfZCDGK7sQAAZzH X-Received: by 2002:a17:906:53ce:b0:989:34a0:45b0 with SMTP id p14-20020a17090653ce00b0098934a045b0mr8140374ejo.49.1691072827068; Thu, 03 Aug 2023 07:27:07 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q13-20020a170906940d00b009939d1b60bdsi11143335ejx.67.2023.08.03.07.27.06; Thu, 03 Aug 2023 07:27:07 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=hJdlDKjh; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1974A68C6A6; Thu, 3 Aug 2023 17:27:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2018.outbound.protection.outlook.com [40.92.89.18]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5D41A68B20A for ; Thu, 3 Aug 2023 17:26:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iROJVk58f++9hr9thRBVyv13Pee2VCb2gFgmHCP24SG2QZ2HEVQLYm5Qwu/otYliKjGt/uRRll5Kfq+xJ0WFxVxkJlE+hPqqbmxR6VU40YLuUWjncC8XiVgm5e++d+iwsQaQO6g79s4+DSzp3lUeQ6VaGfCmMgQc+DYUnYGIREjrwxwulvCSNnygqCHpyCBCmqpCUJY8F5eRayKxOaiXFTAlOGBoKk5IGUb1v1T8V2qmA83dqL5UDNg7zUZBd0luiW4MjRc1LlkWvDbGczZOMZwMCTCvVAlv9yjaBWWT50m4duT9I0uvWNDRiMJWeGdvMEv2JEeZpfQyaUfgjk8J3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uEplL58kPWMcUqw9uwxq3PNMdceI8H6yi45QFg79emU=; b=GGc1tR1ngvG5L3/WeBnjrRae6dH0vAsE9QjGYk1+Ey6TIx549PtzESfMo8ede+bR+YGsVbnm3e/OQm8DDw9tBqevE26hnA5C4YI/qC2oqlPw5GvEVtyY8nTpy+IzPKiorckWxTmesDT1MuuGsGPIn8pUruG1S9oBF3bOWQ99vrvkDw3Z/Uf4bhjPnqcCmwYz5q745EmVjqPbyl8fguUmqxectCPD5AG0C0IO9K/tqDLGMSEAiU5S+rfOjRwiP09MubbJyWH4Gq2g8UtejwiOs/IgvpnZbFBqWbfG5KRuZd4tBZfbtuNl2TKjwMRp6Lx0N6+Whvp8LqIk6eiRqlWULw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uEplL58kPWMcUqw9uwxq3PNMdceI8H6yi45QFg79emU=; b=hJdlDKjhSrcALW2Xr5eXRcujOmBAmMXp9fvg0wpUSOSFCYFQL/E0VRN+0jyMzhMPCiH1am/hBJfC7QBbD7lTyHCW9iltHFle/goNvOQ+jWvsYTMEZuYXJ4tM6YN+x1vxcfFLMpJbw9XTlEQzYPzB3Z2YCzosNfgh6cIXeas4+b9i++156lv4TIN9k+ChR/lzg4o1qSxUhX2xg/44c4lH/6UZObLUGCI9PzFSHkPoSffFnmhBDT3BBA5M40/G6Xpuh0auwWy/jkPwYGvfF9ju8xF+Z8uYkx4E8jzr5cQgowQuZPOo6o9l2WnjWIPkOqWKEnS6jQN/vWyW1eMGT8DDcQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0182.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:325::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug 2023 14:26:49 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4d3a:7ca6:cf28:9e8c]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4d3a:7ca6:cf28:9e8c%7]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023 14:26:49 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Aug 2023 16:27:48 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [5YKHJu3hvS0DUjR5f5MqOIn7Jzzmh86PPUMguLEN2X0=] X-ClientProxiedBy: ZR0P278CA0145.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::15) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230803142751.1282320-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0182:EE_ X-MS-Office365-Filtering-Correlation-Id: dbdfba13-586b-4ccc-de23-08db942dac09 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKw9/h+mHxnUXAKsdmikUs0weW022/PkwqAsvMzfQn2gg4NmkTwP886s3vZwzj9YzS6OCGQ6TlJlHVpvuchXgozPfIWYQ/xPynZikhY82P3h22omCjfvOdSMzC8qIT0HbY6uwBlQE0WhSTrRhc4ufX4EgSVmQL2NmHS8R4igwroInPOpBoxoOkU5O0X8d+fVwBartyt7QUprLfSdv4crMKPShyVqht89SwDVutv+uH4hMjXZHqMNbpJNplu9qIUMtHhOGMvT5lxM9icgpA3HpcB+bygr2EefN+JElfkyt7pxm0B6eknShjgkhnIrbrgrcqZo9EhEjymrx/08oZpkCLXEVB/JuSyepGMav8Xrva5+MXfzHLk4AKuvKVQBsMNXEztdJ9kQKy410yIk3yt65ti5BZFZvsFjQYBw7W8peMXUhqA6akMdUY54i4uY5amOk9ezVZjOH/VRqMZqAWsvmQJ3vCWop9n76xgN3UwvMNpGdOCG7yV9I2KJL1+dAK1vIDDxYYpLG3717ASPW67HM/6tlsli98jHWaWc6IAsRm9jmY+LK5Iq9JBuE9B5y174f4W1vtvzmuKsMCPKqBXM8RQGACsBU2piIwBeAi7Y8K6W1T4/YKe9jezyn+oIGH9OJoXbhwmW7jmn6y2MziLjayenQM0PPE81oh94Oe6NCJpiQaLl9oZS8of3+ss7T7vDcvWkoZ/mdk1JwZKIC1CQi/llop2e/cNhIJI= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Q8nZnhPJx+K3rjPecCwPrxFd5liAYnOzQ0mXkiCSUR1L9f8ezobCaETI9NZoBoEqYTGJPtPwyl9L+M7+tfAjO/J+wLcgijyfTFxCZZubalZEhDqvkqVhurSfpwwhShkqtNr8i0fuQ2oSnSlYt8cL8m5ozXrh9OsWeryGBFT698dHwlurYhSKUiuWfZXhowKg7810wJW+HbnpeAL8KIkRAGZ4Nlqa1lgE+oNf5H2UNgbPhe2YFUlhU68Wb7ED0ChgH1fdWaGTsO8FYP7rsi3RZYDoxnHN7p/IzoOidZhfc+8xXA1LnumTJ+JLB/bVLnv6ParkfyuRpuZinMCXw9VvbRmhK1TQxc4Ord+nLOTVTHaQQa/mN0Oh/yn6mcLWJlHDgYhEoflZZQA86nr/p+MsssOCASX/ytwqzdmP56UqZoBb6Jdpo48YL0cuOoebtBa1LcTu50DTgOmX1B2qOP292xAKScS1Dc2NtRuFiELqfwUKQsIyNSS1x/qsmBhqlgQZzl4F+hP2Vck0OPjyvF6EAX9pC6GESybATBz3nXRQ7sEiJLZSXUCN5IbIEMYNBrTEdGiA41ZXCwWrbPooODGjRYdvNjvIyoQOwWXD3tp6I0o094iCjt1UTlV23cumUZ68 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VJWCAd5hRXEn+skZIomZirWGk6zZVi3Szjqk8V9dbRTchKZhtvXW/qs6Is44SYNCdhp3j5iEZ49jdNJylhW7IxFUb7F+XFifDl8OdjEdHbj2w4jT0ux45koEA3VPWmk9FRqdWcg8DLZPkL8XMeFs4USrxTZLmJQn1CMIFI7qP6QcVymaVPVSDi7ozLAYWdeBKTMJ2GPQnusL2JsBEWHkO/4lVHNvs2KmX55fSTB4IhjdYQOhCC+LFVJ2Fkk7MvF5WJhrJDLns+6mzC6TxdyTTm0NopBI52H5ovgSz9LENSsFivk5SInFEXZJQ+bbEX6x7QOKxfGgBxhFTVmDXdiv1DoDhC0hlpsqBX08ahtkwBf1xIJ5KhYtyAXE3S/JwmnmK0bgQSGBjubIKNgvfGQIxsIaLluO6xUWbLtuhJ6Q2FCmitDrRTcnHNhHB7x9nHSiZqo48EG+t9uhlA14aPAb6qhs5lt7o3141Yh8xSa4nchz/xjpfLmtwic9LBnCBuYCJ0oIqA9J2Mi64HgkBWANiegdRcCkUhIWF3SEB9MzMDbf11wctcsFuZz7CUkN+enj38oIspDASSLmwNDeoAEeaMw8FTQDwdMeEmE3bDasDqwQn/wdiiSOCkaDi22cZkcMsEG9bgo4BdIh5xP1E3e5s2h3ApWeiX8Efur5HqkQTnWiEUbU5h3MlGgixMyiiA+rz+gJQzxOCThxHQuKADJrJ4uPoa+ugtAmP96lAlTjHv2cYuq/IOE6xEHrb5G7hKM98LVe9eOtZ0kuznWY1qLdU/IK5X3zucgykY7XR9rG3WckQJMv6MvYHuf0+dDuADZowgjjNiopPuLsut2vj6X/ADla4zfZLVktPz+ILR/2uYTxyhkL7sw/831KPnl49vPpq1WsarhnJmayB4suJOqrVtJWv9zOdDFnB3Ky1e1OSkDzMYRliYPsrB8Mw35ICsSq8wp2k1pnG3AZ9fvCj/6nzh8T90rwsmXtZHO3jGJpspTFROVQ4ppjrw/QCkUNgO0xyBn/EQQhF3rcGzcT7OmxLpB6WTweSFRZj7lm7+WTX8Z8AE2ugFFEYs2GWSwSv7pEfVhetZ48qgZV5hRDzdsCn/egWon1QZpkrD8HAhX68QwHFa2VjmGTE8E15iuet2r2pmmhUvYUobNFjTehc+ISpyvumgENqUS11NWepPyaC4SJI4GUCbMTowhGEujQ2F0PwLkkTbZdXHevj5tsS5UoGxk3m/eqsx9s29VRNqMeJZTXzd6q9ds/Jk4tDQqn6t8u X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dbdfba13-586b-4ccc-de23-08db942dac09 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 14:26:48.9726 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P250MB0182 Subject: [FFmpeg-devel] [PATCH 1/4] avfilter: Deduplicate default audio inputs/outputs X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VCr+MiYe4/9G Lots of audio filters use very simple inputs or outputs: An array with a single AVFilterPad whose name is "default" and whose type is AVMEDIA_TYPE_AUDIO; everything else is unset. Given that we never use pointer equality for inputs or outputs*, we can simply use a single AVFilterPad instead of dozens; this even saves .data.rel.ro (4784B here) as well as relocations. *: In fact, several filters (like the filters in af_biquads.c) already use the same inputs; furthermore, ff_filter_alloc() duplicates the input and output pads so that we do not even work with the pads directly. Signed-off-by: Andreas Rheinhardt --- libavfilter/af_acontrast.c | 9 +-------- libavfilter/af_acopy.c | 9 +-------- libavfilter/af_acrusher.c | 9 +-------- libavfilter/af_adeclick.c | 11 ++--------- libavfilter/af_adecorrelate.c | 9 +-------- libavfilter/af_adelay.c | 9 +-------- libavfilter/af_aderivative.c | 11 ++--------- libavfilter/af_adrc.c | 9 +-------- libavfilter/af_adynamicequalizer.c | 9 +-------- libavfilter/af_adynamicsmooth.c | 9 +-------- libavfilter/af_aecho.c | 9 +-------- libavfilter/af_aemphasis.c | 9 +-------- libavfilter/af_aexciter.c | 9 +-------- libavfilter/af_afftdn.c | 9 +-------- libavfilter/af_afftfilt.c | 9 +-------- libavfilter/af_aformat.c | 18 ++---------------- libavfilter/af_afreqshift.c | 11 ++--------- libavfilter/af_afwtdn.c | 9 +-------- libavfilter/af_agate.c | 9 +-------- libavfilter/af_anlmdn.c | 9 +-------- libavfilter/af_anull.c | 18 ++---------------- libavfilter/af_apad.c | 9 +-------- libavfilter/af_apsyclip.c | 9 +-------- libavfilter/af_apulsator.c | 9 +-------- libavfilter/af_aresample.c | 9 +-------- libavfilter/af_arnndn.c | 9 +-------- libavfilter/af_asetnsamples.c | 18 ++---------------- libavfilter/af_ashowinfo.c | 9 +-------- libavfilter/af_asoftclip.c | 9 +-------- libavfilter/af_aspectralstats.c | 9 +-------- libavfilter/af_asr.c | 9 +-------- libavfilter/af_asubboost.c | 9 +-------- libavfilter/af_asupercut.c | 15 ++++----------- libavfilter/af_atilt.c | 9 +-------- libavfilter/af_biquads.c | 9 +-------- libavfilter/af_channelmap.c | 9 +-------- libavfilter/af_channelsplit.c | 9 +-------- libavfilter/af_compensationdelay.c | 9 +-------- libavfilter/af_crossfeed.c | 9 +-------- libavfilter/af_crystalizer.c | 9 +-------- libavfilter/af_dcshift.c | 9 +-------- libavfilter/af_deesser.c | 9 +-------- libavfilter/af_dialoguenhance.c | 9 +-------- libavfilter/af_dynaudnorm.c | 9 +-------- libavfilter/af_earwax.c | 9 +-------- libavfilter/af_extrastereo.c | 9 +-------- libavfilter/af_flanger.c | 9 +-------- libavfilter/af_haas.c | 9 +-------- libavfilter/af_hdcd.c | 9 +-------- libavfilter/af_loudnorm.c | 9 +-------- libavfilter/af_pan.c | 9 +-------- libavfilter/af_rubberband.c | 9 +-------- libavfilter/af_silencedetect.c | 9 +-------- libavfilter/af_sofalizer.c | 9 +-------- libavfilter/af_speechnorm.c | 9 +-------- libavfilter/af_stereotools.c | 9 +-------- libavfilter/af_stereowiden.c | 9 +-------- libavfilter/af_tremolo.c | 9 +-------- libavfilter/af_vibrato.c | 9 +-------- libavfilter/af_virtualbass.c | 9 +-------- libavfilter/af_volumedetect.c | 9 +-------- libavfilter/audio.c | 7 +++++++ libavfilter/audio.h | 4 ++++ libavfilter/avf_showcqt.c | 10 ++-------- libavfilter/avf_showcwt.c | 9 +-------- libavfilter/avf_showfreqs.c | 9 +-------- libavfilter/avf_showspatial.c | 9 +-------- libavfilter/avf_showspectrum.c | 9 +-------- libavfilter/avf_showwaves.c | 9 +-------- libavfilter/buffersink.c | 9 +-------- libavfilter/f_bench.c | 10 ++-------- libavfilter/f_cue.c | 19 +++---------------- libavfilter/f_graphmonitor.c | 10 ++-------- libavfilter/f_latency.c | 19 +++---------------- libavfilter/f_loop.c | 9 +-------- libavfilter/f_metadata.c | 9 +-------- libavfilter/f_perms.c | 9 +-------- libavfilter/f_realtime.c | 10 ++-------- libavfilter/f_sendcmd.c | 9 +-------- libavfilter/f_sidedata.c | 10 ++-------- libavfilter/f_zmq.c | 9 +-------- libavfilter/setpts.c | 9 +-------- libavfilter/settb.c | 9 +-------- libavfilter/split.c | 9 +-------- libavfilter/trim.c | 9 +-------- 85 files changed, 112 insertions(+), 710 deletions(-) diff --git a/libavfilter/af_acontrast.c b/libavfilter/af_acontrast.c index a4ed29e30a..91887e5689 100644 --- a/libavfilter/af_acontrast.c +++ b/libavfilter/af_acontrast.c @@ -169,20 +169,13 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_acontrast = { .name = "acontrast", .description = NULL_IF_CONFIG_SMALL("Simple audio dynamic range compression/expansion filter."), .priv_size = sizeof(AudioContrastContext), .priv_class = &acontrast_class, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP), }; diff --git a/libavfilter/af_acopy.c b/libavfilter/af_acopy.c index 1591ec9639..f65f04d461 100644 --- a/libavfilter/af_acopy.c +++ b/libavfilter/af_acopy.c @@ -53,17 +53,10 @@ static const AVFilterPad acopy_inputs[] = { }, }; -static const AVFilterPad acopy_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_acopy = { .name = "acopy", .description = NULL_IF_CONFIG_SMALL("Copy the input audio unchanged to the output."), .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(acopy_inputs), - FILTER_OUTPUTS(acopy_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; diff --git a/libavfilter/af_acrusher.c b/libavfilter/af_acrusher.c index 5c9f36529c..f29524c960 100644 --- a/libavfilter/af_acrusher.c +++ b/libavfilter/af_acrusher.c @@ -325,13 +325,6 @@ static const AVFilterPad avfilter_af_acrusher_inputs[] = { }, }; -static const AVFilterPad avfilter_af_acrusher_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_acrusher = { .name = "acrusher", .description = NULL_IF_CONFIG_SMALL("Reduce audio bit resolution."), @@ -339,7 +332,7 @@ const AVFilter ff_af_acrusher = { .priv_class = &acrusher_class, .uninit = uninit, FILTER_INPUTS(avfilter_af_acrusher_inputs), - FILTER_OUTPUTS(avfilter_af_acrusher_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, diff --git a/libavfilter/af_adeclick.c b/libavfilter/af_adeclick.c index 2db9a29fd3..5c9c4283ff 100644 --- a/libavfilter/af_adeclick.c +++ b/libavfilter/af_adeclick.c @@ -724,13 +724,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_adeclick = { .name = "adeclick", .description = NULL_IF_CONFIG_SMALL("Remove impulsive noise from input audio."), @@ -740,7 +733,7 @@ const AVFilter ff_af_adeclick = { .activate = activate, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, }; @@ -776,7 +769,7 @@ const AVFilter ff_af_adeclip = { .activate = activate, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, }; diff --git a/libavfilter/af_adecorrelate.c b/libavfilter/af_adecorrelate.c index cadc62c1f7..8d7bced634 100644 --- a/libavfilter/af_adecorrelate.c +++ b/libavfilter/af_adecorrelate.c @@ -230,13 +230,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_adecorrelate = { .name = "adecorrelate", .description = NULL_IF_CONFIG_SMALL("Apply decorrelation to input audio."), @@ -244,7 +237,7 @@ const AVFilter ff_af_adecorrelate = { .priv_class = &adecorrelate_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS, diff --git a/libavfilter/af_adelay.c b/libavfilter/af_adelay.c index 03a4e39842..87a86170a8 100644 --- a/libavfilter/af_adelay.c +++ b/libavfilter/af_adelay.c @@ -466,13 +466,6 @@ static const AVFilterPad adelay_inputs[] = { }, }; -static const AVFilterPad adelay_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_adelay = { .name = "adelay", .description = NULL_IF_CONFIG_SMALL("Delay one or more audio channels."), @@ -481,7 +474,7 @@ const AVFilter ff_af_adelay = { .activate = activate, .uninit = uninit, FILTER_INPUTS(adelay_inputs), - FILTER_OUTPUTS(adelay_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, diff --git a/libavfilter/af_aderivative.c b/libavfilter/af_aderivative.c index 853c0f3412..eeaa23ff88 100644 --- a/libavfilter/af_aderivative.c +++ b/libavfilter/af_aderivative.c @@ -153,13 +153,6 @@ static const AVFilterPad aderivative_inputs[] = { }, }; -static const AVFilterPad aderivative_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVOption aderivative_options[] = { { NULL } }; @@ -173,7 +166,7 @@ const AVFilter ff_af_aderivative = { .priv_class = &aderivative_class, .uninit = uninit, FILTER_INPUTS(aderivative_inputs), - FILTER_OUTPUTS(aderivative_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, @@ -186,7 +179,7 @@ const AVFilter ff_af_aintegral = { .priv_class = &aderivative_class, .uninit = uninit, FILTER_INPUTS(aderivative_inputs), - FILTER_OUTPUTS(aderivative_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, }; diff --git a/libavfilter/af_adrc.c b/libavfilter/af_adrc.c index 54997c383e..34e5433a6b 100644 --- a/libavfilter/af_adrc.c +++ b/libavfilter/af_adrc.c @@ -485,13 +485,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_adrc = { .name = "adrc", .description = NULL_IF_CONFIG_SMALL("Audio Spectral Dynamic Range Controller."), @@ -499,7 +492,7 @@ const AVFilter ff_af_adrc = { .priv_class = &adrc_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS, diff --git a/libavfilter/af_adynamicequalizer.c b/libavfilter/af_adynamicequalizer.c index 2a76827ada..2c674cbd7c 100644 --- a/libavfilter/af_adynamicequalizer.c +++ b/libavfilter/af_adynamicequalizer.c @@ -204,13 +204,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_adynamicequalizer = { .name = "adynamicequalizer", .description = NULL_IF_CONFIG_SMALL("Apply Dynamic Equalization of input audio."), @@ -218,7 +211,7 @@ const AVFilter ff_af_adynamicequalizer = { .priv_class = &adynamicequalizer_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS, diff --git a/libavfilter/af_adynamicsmooth.c b/libavfilter/af_adynamicsmooth.c index 3f98d09f5d..72e7120bd7 100644 --- a/libavfilter/af_adynamicsmooth.c +++ b/libavfilter/af_adynamicsmooth.c @@ -121,13 +121,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_adynamicsmooth = { .name = "adynamicsmooth", .description = NULL_IF_CONFIG_SMALL("Apply Dynamic Smoothing of input audio."), @@ -135,7 +128,7 @@ const AVFilter ff_af_adynamicsmooth = { .priv_class = &adynamicsmooth_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = ff_filter_process_command, diff --git a/libavfilter/af_aecho.c b/libavfilter/af_aecho.c index e610c30d59..0b57c0e587 100644 --- a/libavfilter/af_aecho.c +++ b/libavfilter/af_aecho.c @@ -328,13 +328,6 @@ static int activate(AVFilterContext *ctx) return request_frame(outlink); } -static const AVFilterPad aecho_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad aecho_outputs[] = { { .name = "default", @@ -351,7 +344,7 @@ const AVFilter ff_af_aecho = { .init = init, .activate = activate, .uninit = uninit, - FILTER_INPUTS(aecho_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(aecho_outputs), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), diff --git a/libavfilter/af_aemphasis.c b/libavfilter/af_aemphasis.c index 91878987d3..4f05b26993 100644 --- a/libavfilter/af_aemphasis.c +++ b/libavfilter/af_aemphasis.c @@ -361,13 +361,6 @@ static const AVFilterPad avfilter_af_aemphasis_inputs[] = { }, }; -static const AVFilterPad avfilter_af_aemphasis_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_aemphasis = { .name = "aemphasis", .description = NULL_IF_CONFIG_SMALL("Audio emphasis."), @@ -375,7 +368,7 @@ const AVFilter ff_af_aemphasis = { .priv_class = &aemphasis_class, .uninit = uninit, FILTER_INPUTS(avfilter_af_aemphasis_inputs), - FILTER_OUTPUTS(avfilter_af_aemphasis_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | diff --git a/libavfilter/af_aexciter.c b/libavfilter/af_aexciter.c index 8e829f992b..400d6707b5 100644 --- a/libavfilter/af_aexciter.c +++ b/libavfilter/af_aexciter.c @@ -264,13 +264,6 @@ static const AVFilterPad avfilter_af_aexciter_inputs[] = { }, }; -static const AVFilterPad avfilter_af_aexciter_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_aexciter = { .name = "aexciter", .description = NULL_IF_CONFIG_SMALL("Enhance high frequency part of audio."), @@ -278,7 +271,7 @@ const AVFilter ff_af_aexciter = { .priv_class = &aexciter_class, .uninit = uninit, FILTER_INPUTS(avfilter_af_aexciter_inputs), - FILTER_OUTPUTS(avfilter_af_aexciter_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, diff --git a/libavfilter/af_afftdn.c b/libavfilter/af_afftdn.c index de17dc1b2c..6aa51184f5 100644 --- a/libavfilter/af_afftdn.c +++ b/libavfilter/af_afftdn.c @@ -1357,13 +1357,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_afftdn = { .name = "afftdn", .description = NULL_IF_CONFIG_SMALL("Denoise audio samples using FFT."), @@ -1372,7 +1365,7 @@ const AVFilter ff_af_afftdn = { .activate = activate, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | diff --git a/libavfilter/af_afftfilt.c b/libavfilter/af_afftfilt.c index 9b09dcaa39..2b2a70b0b6 100644 --- a/libavfilter/af_afftfilt.c +++ b/libavfilter/af_afftfilt.c @@ -439,20 +439,13 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_afftfilt = { .name = "afftfilt", .description = NULL_IF_CONFIG_SMALL("Apply arbitrary expressions to samples in frequency domain."), .priv_size = sizeof(AFFTFiltContext), .priv_class = &afftfilt_class, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP), .activate = activate, .uninit = uninit, diff --git a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c index a14e4c1240..367a02df33 100644 --- a/libavfilter/af_aformat.c +++ b/libavfilter/af_aformat.c @@ -176,20 +176,6 @@ static int query_formats(AVFilterContext *ctx) return ret; } -static const AVFilterPad avfilter_af_aformat_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - -static const AVFilterPad avfilter_af_aformat_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO - }, -}; - const AVFilter ff_af_aformat = { .name = "aformat", .description = NULL_IF_CONFIG_SMALL("Convert the input audio to one of the specified formats."), @@ -198,7 +184,7 @@ const AVFilter ff_af_aformat = { .priv_size = sizeof(AFormatContext), .priv_class = &aformat_class, .flags = AVFILTER_FLAG_METADATA_ONLY, - FILTER_INPUTS(avfilter_af_aformat_inputs), - FILTER_OUTPUTS(avfilter_af_aformat_outputs), + FILTER_INPUTS(ff_audio_default_filterpad), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_afreqshift.c b/libavfilter/af_afreqshift.c index 4df92a499a..ff2ba9f6c5 100644 --- a/libavfilter/af_afreqshift.c +++ b/libavfilter/af_afreqshift.c @@ -366,13 +366,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_afreqshift = { .name = "afreqshift", .description = NULL_IF_CONFIG_SMALL("Apply frequency shifting to input audio."), @@ -380,7 +373,7 @@ const AVFilter ff_af_afreqshift = { .priv_class = &afreqshift_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS_ARRAY(sample_fmts), .process_command = ff_filter_process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | @@ -403,7 +396,7 @@ const AVFilter ff_af_aphaseshift = { .priv_class = &aphaseshift_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS_ARRAY(sample_fmts), .process_command = ff_filter_process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | diff --git a/libavfilter/af_afwtdn.c b/libavfilter/af_afwtdn.c index cf41b6f4bc..d0c3cbbe83 100644 --- a/libavfilter/af_afwtdn.c +++ b/libavfilter/af_afwtdn.c @@ -1290,13 +1290,6 @@ static int process_command(AVFilterContext *ctx, const char *cmd, const char *ar return 0; } -static const AVFilterPad inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad outputs[] = { { .name = "default", @@ -1312,7 +1305,7 @@ const AVFilter ff_af_afwtdn = { .priv_class = &afwtdn_class, .activate = activate, .uninit = uninit, - FILTER_INPUTS(inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(outputs), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .process_command = process_command, diff --git a/libavfilter/af_agate.c b/libavfilter/af_agate.c index 51bc8c04d4..8205045ba5 100644 --- a/libavfilter/af_agate.c +++ b/libavfilter/af_agate.c @@ -228,20 +228,13 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_agate = { .name = "agate", .description = NULL_IF_CONFIG_SMALL("Audio gate."), .priv_class = &agate_sidechaingate_class, .priv_size = sizeof(AudioGateContext), FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL), .process_command = ff_filter_process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, diff --git a/libavfilter/af_anlmdn.c b/libavfilter/af_anlmdn.c index 8f01c5f8a2..af21a52a12 100644 --- a/libavfilter/af_anlmdn.c +++ b/libavfilter/af_anlmdn.c @@ -343,13 +343,6 @@ static av_cold void uninit(AVFilterContext *ctx) av_frame_free(&s->window); } -static const AVFilterPad inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad outputs[] = { { .name = "default", @@ -365,7 +358,7 @@ const AVFilter ff_af_anlmdn = { .priv_class = &anlmdn_class, .activate = activate, .uninit = uninit, - FILTER_INPUTS(inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(outputs), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP), .process_command = process_command, diff --git a/libavfilter/af_anull.c b/libavfilter/af_anull.c index 78c5faeb23..257dba1a41 100644 --- a/libavfilter/af_anull.c +++ b/libavfilter/af_anull.c @@ -27,24 +27,10 @@ #include "internal.h" #include "libavutil/internal.h" -static const AVFilterPad avfilter_af_anull_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - -static const AVFilterPad avfilter_af_anull_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_anull = { .name = "anull", .description = NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."), .flags = AVFILTER_FLAG_METADATA_ONLY, - FILTER_INPUTS(avfilter_af_anull_inputs), - FILTER_OUTPUTS(avfilter_af_anull_outputs), + FILTER_INPUTS(ff_audio_default_filterpad), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; diff --git a/libavfilter/af_apad.c b/libavfilter/af_apad.c index 45693a2bd5..1e0ecd201e 100644 --- a/libavfilter/af_apad.c +++ b/libavfilter/af_apad.c @@ -187,13 +187,6 @@ static int config_output(AVFilterLink *outlink) return 0; } -static const AVFilterPad apad_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad apad_outputs[] = { { .name = "default", @@ -208,7 +201,7 @@ const AVFilter ff_af_apad = { .init = init, .activate = activate, .priv_size = sizeof(APadContext), - FILTER_INPUTS(apad_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(apad_outputs), .priv_class = &apad_class, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, diff --git a/libavfilter/af_apsyclip.c b/libavfilter/af_apsyclip.c index 0b5859068b..6a0c23d6eb 100644 --- a/libavfilter/af_apsyclip.c +++ b/libavfilter/af_apsyclip.c @@ -637,13 +637,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_apsyclip = { .name = "apsyclip", .description = NULL_IF_CONFIG_SMALL("Audio Psychoacoustic Clipper."), @@ -651,7 +644,7 @@ const AVFilter ff_af_apsyclip = { .priv_class = &apsyclip_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS, diff --git a/libavfilter/af_apulsator.c b/libavfilter/af_apulsator.c index d4d3c59c38..51b4344a39 100644 --- a/libavfilter/af_apulsator.c +++ b/libavfilter/af_apulsator.c @@ -237,19 +237,12 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_apulsator = { .name = "apulsator", .description = NULL_IF_CONFIG_SMALL("Audio pulsator."), .priv_size = sizeof(AudioPulsatorContext), .priv_class = &apulsator_class, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c index 9cc50d4b38..ead85dd46d 100644 --- a/libavfilter/af_aresample.c +++ b/libavfilter/af_aresample.c @@ -357,13 +357,6 @@ static const AVClass aresample_class = { .child_next = resample_child_next, }; -static const AVFilterPad aresample_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad aresample_outputs[] = { { .name = "default", @@ -380,7 +373,7 @@ const AVFilter ff_af_aresample = { .uninit = uninit, .priv_size = sizeof(AResampleContext), .priv_class = &aresample_class, - FILTER_INPUTS(aresample_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(aresample_outputs), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_arnndn.c b/libavfilter/af_arnndn.c index 634f3b972f..ee005eb34c 100644 --- a/libavfilter/af_arnndn.c +++ b/libavfilter/af_arnndn.c @@ -1585,13 +1585,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - #define OFFSET(x) offsetof(AudioRNNContext, x) #define AF AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM @@ -1613,7 +1606,7 @@ const AVFilter ff_af_arnndn = { .init = init, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS, diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c index 20cc70ce4a..e220444c3c 100644 --- a/libavfilter/af_asetnsamples.c +++ b/libavfilter/af_asetnsamples.c @@ -104,27 +104,13 @@ static int activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad asetnsamples_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - -static const AVFilterPad asetnsamples_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asetnsamples = { .name = "asetnsamples", .description = NULL_IF_CONFIG_SMALL("Set the number of samples for each output audio frames."), .priv_size = sizeof(ASNSContext), .priv_class = &asetnsamples_class, - FILTER_INPUTS(asetnsamples_inputs), - FILTER_OUTPUTS(asetnsamples_outputs), + FILTER_INPUTS(ff_audio_default_filterpad), + FILTER_OUTPUTS(ff_audio_default_filterpad), .activate = activate, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = ff_filter_process_command, diff --git a/libavfilter/af_ashowinfo.c b/libavfilter/af_ashowinfo.c index 20900369d0..17a0a90542 100644 --- a/libavfilter/af_ashowinfo.c +++ b/libavfilter/af_ashowinfo.c @@ -253,13 +253,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_ashowinfo = { .name = "ashowinfo", .description = NULL_IF_CONFIG_SMALL("Show textual information for each audio frame."), @@ -267,5 +260,5 @@ const AVFilter ff_af_ashowinfo = { .uninit = uninit, .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; diff --git a/libavfilter/af_asoftclip.c b/libavfilter/af_asoftclip.c index 6212e1d6fe..6fea6e56ab 100644 --- a/libavfilter/af_asoftclip.c +++ b/libavfilter/af_asoftclip.c @@ -473,20 +473,13 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asoftclip = { .name = "asoftclip", .description = NULL_IF_CONFIG_SMALL("Audio Soft Clipper."), .priv_size = sizeof(ASoftClipContext), .priv_class = &asoftclip_class, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), .uninit = uninit, .process_command = ff_filter_process_command, diff --git a/libavfilter/af_aspectralstats.c b/libavfilter/af_aspectralstats.c index b9db6bcfa5..a0fd4aabc9 100644 --- a/libavfilter/af_aspectralstats.c +++ b/libavfilter/af_aspectralstats.c @@ -600,13 +600,6 @@ static av_cold void uninit(AVFilterContext *ctx) av_frame_free(&s->window); } -static const AVFilterPad aspectralstats_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad aspectralstats_outputs[] = { { .name = "default", @@ -622,7 +615,7 @@ const AVFilter ff_af_aspectralstats = { .priv_class = &aspectralstats_class, .uninit = uninit, .activate = activate, - FILTER_INPUTS(aspectralstats_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(aspectralstats_outputs), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP), .flags = AVFILTER_FLAG_SLICE_THREADS, diff --git a/libavfilter/af_asr.c b/libavfilter/af_asr.c index b402f5ff26..a9dd047cb3 100644 --- a/libavfilter/af_asr.c +++ b/libavfilter/af_asr.c @@ -158,13 +158,6 @@ static const AVFilterPad asr_inputs[] = { }, }; -static const AVFilterPad asr_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asr = { .name = "asr", .description = NULL_IF_CONFIG_SMALL("Automatic Speech Recognition."), @@ -174,6 +167,6 @@ const AVFilter ff_af_asr = { .uninit = asr_uninit, .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(asr_inputs), - FILTER_OUTPUTS(asr_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_asubboost.c b/libavfilter/af_asubboost.c index 29a1f66ce6..e132158da6 100644 --- a/libavfilter/af_asubboost.c +++ b/libavfilter/af_asubboost.c @@ -237,13 +237,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asubboost = { .name = "asubboost", .description = NULL_IF_CONFIG_SMALL("Boost subwoofer frequencies."), @@ -251,7 +244,7 @@ const AVFilter ff_af_asubboost = { .priv_class = &asubboost_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | diff --git a/libavfilter/af_asupercut.c b/libavfilter/af_asupercut.c index 5c06d559ed..6764bee25d 100644 --- a/libavfilter/af_asupercut.c +++ b/libavfilter/af_asupercut.c @@ -333,13 +333,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asupercut = { .name = "asupercut", .description = NULL_IF_CONFIG_SMALL("Cut super frequencies."), @@ -347,7 +340,7 @@ const AVFilter ff_af_asupercut = { .priv_class = &asupercut_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS_ARRAY(sample_fmts), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | @@ -370,7 +363,7 @@ const AVFilter ff_af_asubcut = { .priv_class = &asubcut_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS_ARRAY(sample_fmts), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | @@ -395,7 +388,7 @@ const AVFilter ff_af_asuperpass = { .priv_size = sizeof(ASuperCutContext), .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS_ARRAY(sample_fmts), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | @@ -409,7 +402,7 @@ const AVFilter ff_af_asuperstop = { .priv_size = sizeof(ASuperCutContext), .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS_ARRAY(sample_fmts), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | diff --git a/libavfilter/af_atilt.c b/libavfilter/af_atilt.c index 9ece531ea4..2211a214d1 100644 --- a/libavfilter/af_atilt.c +++ b/libavfilter/af_atilt.c @@ -246,13 +246,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_atilt = { .name = "atilt", .description = NULL_IF_CONFIG_SMALL("Apply spectral tilt to audio."), @@ -260,7 +253,7 @@ const AVFilter ff_af_atilt = { .priv_class = &atilt_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | diff --git a/libavfilter/af_biquads.c b/libavfilter/af_biquads.c index 3b12aee3c0..1453f51a16 100644 --- a/libavfilter/af_biquads.c +++ b/libavfilter/af_biquads.c @@ -1431,13 +1431,6 @@ static av_cold void uninit(AVFilterContext *ctx) av_channel_layout_uninit(&s->ch_layout); } -static const AVFilterPad inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad outputs[] = { { .name = "default", @@ -1467,7 +1460,7 @@ const AVFilter ff_af_##name_ = { \ .init = name_##_init, \ .activate = activate, \ .uninit = uninit, \ - FILTER_INPUTS(inputs), \ + FILTER_INPUTS(ff_audio_default_filterpad), \ FILTER_OUTPUTS(outputs), \ FILTER_QUERY_FUNC(query_formats), \ .process_command = process_command, \ diff --git a/libavfilter/af_channelmap.c b/libavfilter/af_channelmap.c index eb173d20c4..09bc4cfbe1 100644 --- a/libavfilter/af_channelmap.c +++ b/libavfilter/af_channelmap.c @@ -409,13 +409,6 @@ static const AVFilterPad avfilter_af_channelmap_inputs[] = { }, }; -static const AVFilterPad avfilter_af_channelmap_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO - }, -}; - const AVFilter ff_af_channelmap = { .name = "channelmap", .description = NULL_IF_CONFIG_SMALL("Remap audio channels."), @@ -423,6 +416,6 @@ const AVFilter ff_af_channelmap = { .priv_size = sizeof(ChannelMapContext), .priv_class = &channelmap_class, FILTER_INPUTS(avfilter_af_channelmap_inputs), - FILTER_OUTPUTS(avfilter_af_channelmap_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(channelmap_query_formats), }; diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c index b537e1380f..bd4afff122 100644 --- a/libavfilter/af_channelsplit.c +++ b/libavfilter/af_channelsplit.c @@ -232,13 +232,6 @@ static int activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad avfilter_af_channelsplit_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_channelsplit = { .name = "channelsplit", .description = NULL_IF_CONFIG_SMALL("Split audio into per-channel streams."), @@ -247,7 +240,7 @@ const AVFilter ff_af_channelsplit = { .init = init, .activate = activate, .uninit = uninit, - FILTER_INPUTS(avfilter_af_channelsplit_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), .outputs = NULL, FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, diff --git a/libavfilter/af_compensationdelay.c b/libavfilter/af_compensationdelay.c index 754e02e3ee..924ccefe94 100644 --- a/libavfilter/af_compensationdelay.c +++ b/libavfilter/af_compensationdelay.c @@ -166,13 +166,6 @@ static const AVFilterPad compensationdelay_inputs[] = { }, }; -static const AVFilterPad compensationdelay_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_compensationdelay = { .name = "compensationdelay", .description = NULL_IF_CONFIG_SMALL("Audio Compensation Delay Line."), @@ -180,7 +173,7 @@ const AVFilter ff_af_compensationdelay = { .priv_class = &compensationdelay_class, .uninit = uninit, FILTER_INPUTS(compensationdelay_inputs), - FILTER_OUTPUTS(compensationdelay_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, diff --git a/libavfilter/af_crossfeed.c b/libavfilter/af_crossfeed.c index 9a518e5258..ee6540a9fc 100644 --- a/libavfilter/af_crossfeed.c +++ b/libavfilter/af_crossfeed.c @@ -362,13 +362,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_crossfeed = { .name = "crossfeed", .description = NULL_IF_CONFIG_SMALL("Apply headphone crossfeed filter."), @@ -377,7 +370,7 @@ const AVFilter ff_af_crossfeed = { .activate = activate, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = process_command, diff --git a/libavfilter/af_crystalizer.c b/libavfilter/af_crystalizer.c index 449f24a082..08931fce43 100644 --- a/libavfilter/af_crystalizer.c +++ b/libavfilter/af_crystalizer.c @@ -233,13 +233,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_crystalizer = { .name = "crystalizer", .description = NULL_IF_CONFIG_SMALL("Simple audio noise sharpening filter."), @@ -247,7 +240,7 @@ const AVFilter ff_af_crystalizer = { .priv_class = &crystalizer_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP), .process_command = ff_filter_process_command, diff --git a/libavfilter/af_dcshift.c b/libavfilter/af_dcshift.c index 480f01f4a3..3e9ba7e528 100644 --- a/libavfilter/af_dcshift.c +++ b/libavfilter/af_dcshift.c @@ -122,13 +122,6 @@ static const AVFilterPad dcshift_inputs[] = { }, }; -static const AVFilterPad dcshift_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_dcshift = { .name = "dcshift", .description = NULL_IF_CONFIG_SMALL("Apply a DC shift to the audio."), @@ -136,7 +129,7 @@ const AVFilter ff_af_dcshift = { .priv_class = &dcshift_class, .init = init, FILTER_INPUTS(dcshift_inputs), - FILTER_OUTPUTS(dcshift_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_S32P), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, }; diff --git a/libavfilter/af_deesser.c b/libavfilter/af_deesser.c index cdef837155..40abf844ee 100644 --- a/libavfilter/af_deesser.c +++ b/libavfilter/af_deesser.c @@ -193,13 +193,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_deesser = { .name = "deesser", .description = NULL_IF_CONFIG_SMALL("Apply de-essing to the audio."), @@ -207,7 +200,7 @@ const AVFilter ff_af_deesser = { .priv_class = &deesser_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, }; diff --git a/libavfilter/af_dialoguenhance.c b/libavfilter/af_dialoguenhance.c index b613733faf..1af2d17153 100644 --- a/libavfilter/af_dialoguenhance.c +++ b/libavfilter/af_dialoguenhance.c @@ -385,13 +385,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_dialoguenhance = { .name = "dialoguenhance", .description = NULL_IF_CONFIG_SMALL("Audio Dialogue Enhancement."), @@ -399,7 +392,7 @@ const AVFilter ff_af_dialoguenhance = { .priv_class = &dialoguenhance_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .activate = activate, diff --git a/libavfilter/af_dynaudnorm.c b/libavfilter/af_dynaudnorm.c index e9d8ad8ec8..fb0581b6e4 100644 --- a/libavfilter/af_dynaudnorm.c +++ b/libavfilter/af_dynaudnorm.c @@ -1019,13 +1019,6 @@ static const AVFilterPad avfilter_af_dynaudnorm_inputs[] = { }, }; -static const AVFilterPad avfilter_af_dynaudnorm_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_dynaudnorm = { .name = "dynaudnorm", .description = NULL_IF_CONFIG_SMALL("Dynamic Audio Normalizer."), @@ -1034,7 +1027,7 @@ const AVFilter ff_af_dynaudnorm = { .uninit = uninit, .activate = activate, FILTER_INPUTS(avfilter_af_dynaudnorm_inputs), - FILTER_OUTPUTS(avfilter_af_dynaudnorm_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .priv_class = &dynaudnorm_class, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | diff --git a/libavfilter/af_earwax.c b/libavfilter/af_earwax.c index f420a5ac55..38ff9c1f3f 100644 --- a/libavfilter/af_earwax.c +++ b/libavfilter/af_earwax.c @@ -222,19 +222,12 @@ static const AVFilterPad earwax_inputs[] = { }, }; -static const AVFilterPad earwax_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_earwax = { .name = "earwax", .description = NULL_IF_CONFIG_SMALL("Widen the stereo image."), .priv_size = sizeof(EarwaxContext), .uninit = uninit, FILTER_INPUTS(earwax_inputs), - FILTER_OUTPUTS(earwax_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_extrastereo.c b/libavfilter/af_extrastereo.c index 6f1d691d8e..2b1b09f9c2 100644 --- a/libavfilter/af_extrastereo.c +++ b/libavfilter/af_extrastereo.c @@ -110,20 +110,13 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_extrastereo = { .name = "extrastereo", .description = NULL_IF_CONFIG_SMALL("Increase difference between stereo audio channels."), .priv_size = sizeof(ExtraStereoContext), .priv_class = &extrastereo_class, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, .process_command = ff_filter_process_command, diff --git a/libavfilter/af_flanger.c b/libavfilter/af_flanger.c index 452436a4b6..2b9da2db89 100644 --- a/libavfilter/af_flanger.c +++ b/libavfilter/af_flanger.c @@ -195,13 +195,6 @@ static const AVFilterPad flanger_inputs[] = { }, }; -static const AVFilterPad flanger_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_flanger = { .name = "flanger", .description = NULL_IF_CONFIG_SMALL("Apply a flanging effect to the audio."), @@ -210,6 +203,6 @@ const AVFilter ff_af_flanger = { .init = init, .uninit = uninit, FILTER_INPUTS(flanger_inputs), - FILTER_OUTPUTS(flanger_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), }; diff --git a/libavfilter/af_haas.c b/libavfilter/af_haas.c index d283da7261..c6d8aa79d8 100644 --- a/libavfilter/af_haas.c +++ b/libavfilter/af_haas.c @@ -206,13 +206,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_haas = { .name = "haas", .description = NULL_IF_CONFIG_SMALL("Apply Haas Stereo Enhancer."), @@ -220,6 +213,6 @@ const AVFilter ff_af_haas = { .priv_class = &haas_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c index 49bfa1bfa8..d2cd71a0f3 100644 --- a/libavfilter/af_hdcd.c +++ b/libavfilter/af_hdcd.c @@ -1763,13 +1763,6 @@ static const AVFilterPad avfilter_af_hdcd_inputs[] = { }, }; -static const AVFilterPad avfilter_af_hdcd_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_hdcd = { .name = "hdcd", .description = NULL_IF_CONFIG_SMALL("Apply High Definition Compatible Digital (HDCD) decoding."), @@ -1778,6 +1771,6 @@ const AVFilter ff_af_hdcd = { .init = init, .uninit = uninit, FILTER_INPUTS(avfilter_af_hdcd_inputs), - FILTER_OUTPUTS(avfilter_af_hdcd_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_loudnorm.c b/libavfilter/af_loudnorm.c index c99d2f11e6..4888fa9b43 100644 --- a/libavfilter/af_loudnorm.c +++ b/libavfilter/af_loudnorm.c @@ -926,13 +926,6 @@ static const AVFilterPad avfilter_af_loudnorm_inputs[] = { }, }; -static const AVFilterPad avfilter_af_loudnorm_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_loudnorm = { .name = "loudnorm", .description = NULL_IF_CONFIG_SMALL("EBU R128 loudness normalization"), @@ -942,6 +935,6 @@ const AVFilter ff_af_loudnorm = { .activate = activate, .uninit = uninit, FILTER_INPUTS(avfilter_af_loudnorm_inputs), - FILTER_OUTPUTS(avfilter_af_loudnorm_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_pan.c b/libavfilter/af_pan.c index 167d7166af..cfed9f146a 100644 --- a/libavfilter/af_pan.c +++ b/libavfilter/af_pan.c @@ -419,13 +419,6 @@ static const AVFilterPad pan_inputs[] = { }, }; -static const AVFilterPad pan_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_pan = { .name = "pan", .description = NULL_IF_CONFIG_SMALL("Remix channels with coefficients (panning)."), @@ -434,6 +427,6 @@ const AVFilter ff_af_pan = { .init = init, .uninit = uninit, FILTER_INPUTS(pan_inputs), - FILTER_OUTPUTS(pan_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), }; diff --git a/libavfilter/af_rubberband.c b/libavfilter/af_rubberband.c index 9f543051b9..50808f12df 100644 --- a/libavfilter/af_rubberband.c +++ b/libavfilter/af_rubberband.c @@ -207,13 +207,6 @@ static const AVFilterPad rubberband_inputs[] = { }, }; -static const AVFilterPad rubberband_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_rubberband = { .name = "rubberband", .description = NULL_IF_CONFIG_SMALL("Apply time-stretching and pitch-shifting."), @@ -222,7 +215,7 @@ const AVFilter ff_af_rubberband = { .uninit = uninit, .activate = activate, FILTER_INPUTS(rubberband_inputs), - FILTER_OUTPUTS(rubberband_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP), .process_command = process_command, }; diff --git a/libavfilter/af_silencedetect.c b/libavfilter/af_silencedetect.c index 6518283d9f..aec5f97237 100644 --- a/libavfilter/af_silencedetect.c +++ b/libavfilter/af_silencedetect.c @@ -253,20 +253,13 @@ static const AVFilterPad silencedetect_inputs[] = { }, }; -static const AVFilterPad silencedetect_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_silencedetect = { .name = "silencedetect", .description = NULL_IF_CONFIG_SMALL("Detect silence."), .priv_size = sizeof(SilenceDetectContext), .uninit = uninit, FILTER_INPUTS(silencedetect_inputs), - FILTER_OUTPUTS(silencedetect_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S32P, diff --git a/libavfilter/af_sofalizer.c b/libavfilter/af_sofalizer.c index be947314f3..acfd4323a5 100644 --- a/libavfilter/af_sofalizer.c +++ b/libavfilter/af_sofalizer.c @@ -1086,13 +1086,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_sofalizer = { .name = "sofalizer", .description = NULL_IF_CONFIG_SMALL("SOFAlizer (Spatially Oriented Format for Acoustics)."), @@ -1102,7 +1095,7 @@ const AVFilter ff_af_sofalizer = { .activate = activate, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SLICE_THREADS, }; diff --git a/libavfilter/af_speechnorm.c b/libavfilter/af_speechnorm.c index 4f56ad9a8f..a8bed2cb8f 100644 --- a/libavfilter/af_speechnorm.c +++ b/libavfilter/af_speechnorm.c @@ -590,13 +590,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_speechnorm = { .name = "speechnorm", .description = NULL_IF_CONFIG_SMALL("Speech Normalizer."), @@ -605,7 +598,7 @@ const AVFilter ff_af_speechnorm = { .activate = activate, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = process_command, diff --git a/libavfilter/af_stereotools.c b/libavfilter/af_stereotools.c index eedc7c68bd..4bcd696cf9 100644 --- a/libavfilter/af_stereotools.c +++ b/libavfilter/af_stereotools.c @@ -365,13 +365,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_stereotools = { .name = "stereotools", .description = NULL_IF_CONFIG_SMALL("Apply various stereo tools."), @@ -379,7 +372,7 @@ const AVFilter ff_af_stereotools = { .priv_class = &stereotools_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .process_command = process_command, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, diff --git a/libavfilter/af_stereowiden.c b/libavfilter/af_stereowiden.c index a91ea03957..af4b23e8a5 100644 --- a/libavfilter/af_stereowiden.c +++ b/libavfilter/af_stereowiden.c @@ -146,13 +146,6 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_stereowiden = { .name = "stereowiden", .description = NULL_IF_CONFIG_SMALL("Apply stereo widening effect."), @@ -160,7 +153,7 @@ const AVFilter ff_af_stereowiden = { .priv_class = &stereowiden_class, .uninit = uninit, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = ff_filter_process_command, diff --git a/libavfilter/af_tremolo.c b/libavfilter/af_tremolo.c index 3e3e2be6f8..024c402b79 100644 --- a/libavfilter/af_tremolo.c +++ b/libavfilter/af_tremolo.c @@ -121,13 +121,6 @@ static const AVFilterPad avfilter_af_tremolo_inputs[] = { }, }; -static const AVFilterPad avfilter_af_tremolo_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_tremolo = { .name = "tremolo", .description = NULL_IF_CONFIG_SMALL("Apply tremolo effect."), @@ -135,7 +128,7 @@ const AVFilter ff_af_tremolo = { .priv_class = &tremolo_class, .uninit = uninit, FILTER_INPUTS(avfilter_af_tremolo_inputs), - FILTER_OUTPUTS(avfilter_af_tremolo_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, }; diff --git a/libavfilter/af_vibrato.c b/libavfilter/af_vibrato.c index 807d2b5996..98ef564397 100644 --- a/libavfilter/af_vibrato.c +++ b/libavfilter/af_vibrato.c @@ -158,13 +158,6 @@ static const AVFilterPad avfilter_af_vibrato_inputs[] = { }, }; -static const AVFilterPad avfilter_af_vibrato_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_vibrato = { .name = "vibrato", .description = NULL_IF_CONFIG_SMALL("Apply vibrato effect."), @@ -172,7 +165,7 @@ const AVFilter ff_af_vibrato = { .priv_class = &vibrato_class, .uninit = uninit, FILTER_INPUTS(avfilter_af_vibrato_inputs), - FILTER_OUTPUTS(avfilter_af_vibrato_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, }; diff --git a/libavfilter/af_virtualbass.c b/libavfilter/af_virtualbass.c index 76b3f42030..fb7189d364 100644 --- a/libavfilter/af_virtualbass.c +++ b/libavfilter/af_virtualbass.c @@ -163,20 +163,13 @@ static const AVFilterPad inputs[] = { }, }; -static const AVFilterPad outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_virtualbass = { .name = "virtualbass", .description = NULL_IF_CONFIG_SMALL("Audio Virtual Bass."), .priv_size = sizeof(AudioVirtualBassContext), .priv_class = &virtualbass_class, FILTER_INPUTS(inputs), - FILTER_OUTPUTS(outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_QUERY_FUNC(query_formats), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, .process_command = ff_filter_process_command, diff --git a/libavfilter/af_volumedetect.c b/libavfilter/af_volumedetect.c index ebfad6914f..8b001d1cf2 100644 --- a/libavfilter/af_volumedetect.c +++ b/libavfilter/af_volumedetect.c @@ -122,13 +122,6 @@ static const AVFilterPad volumedetect_inputs[] = { }, }; -static const AVFilterPad volumedetect_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_volumedetect = { .name = "volumedetect", .description = NULL_IF_CONFIG_SMALL("Detect audio volume."), @@ -136,6 +129,6 @@ const AVFilter ff_af_volumedetect = { .uninit = uninit, .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(volumedetect_inputs), - FILTER_OUTPUTS(volumedetect_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16P), }; diff --git a/libavfilter/audio.c b/libavfilter/audio.c index 36d5caa7e4..35270c14d2 100644 --- a/libavfilter/audio.c +++ b/libavfilter/audio.c @@ -29,6 +29,13 @@ #include "framepool.h" #include "internal.h" +const AVFilterPad ff_audio_default_filterpad[1] = { + { + .name = "default", + .type = AVMEDIA_TYPE_AUDIO, + } +}; + AVFrame *ff_null_get_audio_buffer(AVFilterLink *link, int nb_samples) { return ff_get_audio_buffer(link->dst->outputs[0], nb_samples); diff --git a/libavfilter/audio.h b/libavfilter/audio.h index 90709a0ad0..624b0332e3 100644 --- a/libavfilter/audio.h +++ b/libavfilter/audio.h @@ -25,6 +25,10 @@ #include "avfilter.h" #include "internal.h" +/* An AVFilterPad array whose only entry has name "default" + * and is of type audio. */ +extern const AVFilterPad ff_audio_default_filterpad[1]; + /** default handler for get_audio_buffer() for audio inputs */ AVFrame *ff_default_get_audio_buffer(AVFilterLink *link, int nb_samples); diff --git a/libavfilter/avf_showcqt.c b/libavfilter/avf_showcqt.c index fa3cdaf22b..21948db339 100644 --- a/libavfilter/avf_showcqt.c +++ b/libavfilter/avf_showcqt.c @@ -26,6 +26,7 @@ #include "libavutil/eval.h" #include "libavutil/pixdesc.h" #include "libavutil/time.h" +#include "audio.h" #include "avfilter.h" #include "filters.h" #include "internal.h" @@ -1591,13 +1592,6 @@ static int activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad showcqt_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad showcqt_outputs[] = { { .name = "default", @@ -1613,7 +1607,7 @@ const AVFilter ff_avf_showcqt = { .activate = activate, .uninit = uninit, .priv_size = sizeof(ShowCQTContext), - FILTER_INPUTS(showcqt_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(showcqt_outputs), FILTER_QUERY_FUNC(query_formats), .priv_class = &showcqt_class, diff --git a/libavfilter/avf_showcwt.c b/libavfilter/avf_showcwt.c index 8bf64cfe66..02b86345bb 100644 --- a/libavfilter/avf_showcwt.c +++ b/libavfilter/avf_showcwt.c @@ -1272,13 +1272,6 @@ static int activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad showcwt_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad showcwt_outputs[] = { { .name = "default", @@ -1292,7 +1285,7 @@ const AVFilter ff_avf_showcwt = { .description = NULL_IF_CONFIG_SMALL("Convert input audio to a CWT (Continuous Wavelet Transform) spectrum video output."), .uninit = uninit, .priv_size = sizeof(ShowCWTContext), - FILTER_INPUTS(showcwt_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(showcwt_outputs), FILTER_QUERY_FUNC(query_formats), .activate = activate, diff --git a/libavfilter/avf_showfreqs.c b/libavfilter/avf_showfreqs.c index cf99b4331e..b8cff608eb 100644 --- a/libavfilter/avf_showfreqs.c +++ b/libavfilter/avf_showfreqs.c @@ -547,13 +547,6 @@ static av_cold void uninit(AVFilterContext *ctx) av_frame_free(&s->window); } -static const AVFilterPad showfreqs_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad showfreqs_outputs[] = { { .name = "default", @@ -568,7 +561,7 @@ const AVFilter ff_avf_showfreqs = { .uninit = uninit, .priv_size = sizeof(ShowFreqsContext), .activate = activate, - FILTER_INPUTS(showfreqs_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(showfreqs_outputs), FILTER_QUERY_FUNC(query_formats), .priv_class = &showfreqs_class, diff --git a/libavfilter/avf_showspatial.c b/libavfilter/avf_showspatial.c index 54d7962ec4..7b525aba8d 100644 --- a/libavfilter/avf_showspatial.c +++ b/libavfilter/avf_showspatial.c @@ -315,13 +315,6 @@ static int spatial_activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad showspatial_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad showspatial_outputs[] = { { .name = "default", @@ -335,7 +328,7 @@ const AVFilter ff_avf_showspatial = { .description = NULL_IF_CONFIG_SMALL("Convert input audio to a spatial video output."), .uninit = uninit, .priv_size = sizeof(ShowSpatialContext), - FILTER_INPUTS(showspatial_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(showspatial_outputs), FILTER_QUERY_FUNC(query_formats), .activate = spatial_activate, diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 23269dbb4c..b8e03d07a0 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -1679,13 +1679,6 @@ static int activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad showspectrum_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad showspectrum_outputs[] = { { .name = "default", @@ -1699,7 +1692,7 @@ const AVFilter ff_avf_showspectrum = { .description = NULL_IF_CONFIG_SMALL("Convert input audio to a spectrum video output."), .uninit = uninit, .priv_size = sizeof(ShowSpectrumContext), - FILTER_INPUTS(showspectrum_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(showspectrum_outputs), FILTER_QUERY_FUNC(query_formats), .activate = activate, diff --git a/libavfilter/avf_showwaves.c b/libavfilter/avf_showwaves.c index 7597ee2723..329753c8c8 100644 --- a/libavfilter/avf_showwaves.c +++ b/libavfilter/avf_showwaves.c @@ -794,13 +794,6 @@ static int activate(AVFilterContext *ctx) return FFERROR_NOT_READY; } -static const AVFilterPad showwaves_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad showwaves_outputs[] = { { .name = "default", @@ -815,7 +808,7 @@ const AVFilter ff_avf_showwaves = { .init = init, .uninit = uninit, .priv_size = sizeof(ShowWavesContext), - FILTER_INPUTS(showwaves_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), .activate = activate, FILTER_OUTPUTS(showwaves_outputs), FILTER_QUERY_FUNC(query_formats), diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c index 306c283f77..af9a638e4c 100644 --- a/libavfilter/buffersink.c +++ b/libavfilter/buffersink.c @@ -396,13 +396,6 @@ const AVFilter ff_vsink_buffer = { FILTER_QUERY_FUNC(vsink_query_formats), }; -static const AVFilterPad avfilter_asink_abuffer_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_asink_abuffer = { .name = "abuffersink", .description = NULL_IF_CONFIG_SMALL("Buffer audio frames, and make them available to the end of the filter graph."), @@ -410,7 +403,7 @@ const AVFilter ff_asink_abuffer = { .priv_size = sizeof(BufferSinkContext), .init = common_init, .activate = activate, - FILTER_INPUTS(avfilter_asink_abuffer_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), .outputs = NULL, FILTER_QUERY_FUNC(asink_query_formats), }; diff --git a/libavfilter/f_bench.c b/libavfilter/f_bench.c index 9b55194dbc..7938583d0e 100644 --- a/libavfilter/f_bench.c +++ b/libavfilter/f_bench.c @@ -20,6 +20,7 @@ #include "libavutil/opt.h" #include "libavutil/time.h" +#include "audio.h" #include "avfilter.h" #include "formats.h" #include "internal.h" @@ -131,20 +132,13 @@ static const AVFilterPad abench_inputs[] = { }, }; -static const AVFilterPad abench_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_abench = { .name = "abench", .description = NULL_IF_CONFIG_SMALL("Benchmark part of a filtergraph."), .priv_size = sizeof(BenchContext), .init = init, FILTER_INPUTS(abench_inputs), - FILTER_OUTPUTS(abench_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), .priv_class = &abench_class, .flags = AVFILTER_FLAG_METADATA_ONLY, }; diff --git a/libavfilter/f_cue.c b/libavfilter/f_cue.c index 9a1b7c03b8..290a828d99 100644 --- a/libavfilter/f_cue.c +++ b/libavfilter/f_cue.c @@ -22,6 +22,7 @@ #include "libavutil/opt.h" #include "libavutil/time.h" +#include "audio.h" #include "avfilter.h" #include "filters.h" #include "internal.h" @@ -125,28 +126,14 @@ const AVFilter ff_vf_cue = { #endif /* CONFIG_CUE_FILTER */ #if CONFIG_ACUE_FILTER -static const AVFilterPad acue_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - -static const AVFilterPad acue_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_acue = { .name = "acue", .description = NULL_IF_CONFIG_SMALL("Delay filtering to match a cue."), .priv_class = &cue_acue_class, .priv_size = sizeof(CueContext), .flags = AVFILTER_FLAG_METADATA_ONLY, - FILTER_INPUTS(acue_inputs), - FILTER_OUTPUTS(acue_outputs), + FILTER_INPUTS(ff_audio_default_filterpad), + FILTER_OUTPUTS(ff_audio_default_filterpad), .activate = activate, }; #endif /* CONFIG_ACUE_FILTER */ diff --git a/libavfilter/f_graphmonitor.c b/libavfilter/f_graphmonitor.c index 3a2760ed8c..e75cc52fbe 100644 --- a/libavfilter/f_graphmonitor.c +++ b/libavfilter/f_graphmonitor.c @@ -28,6 +28,7 @@ #include "libavutil/opt.h" #include "libavutil/timestamp.h" #include "libavutil/xga_font_data.h" +#include "audio.h" #include "avfilter.h" #include "filters.h" #include "formats.h" @@ -602,13 +603,6 @@ const AVFilter ff_vf_graphmonitor = { #if CONFIG_AGRAPHMONITOR_FILTER -static const AVFilterPad agraphmonitor_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad agraphmonitor_outputs[] = { { .name = "default", @@ -625,7 +619,7 @@ const AVFilter ff_avf_agraphmonitor = { .init = init, .uninit = uninit, .activate = activate, - FILTER_INPUTS(agraphmonitor_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(agraphmonitor_outputs), FILTER_QUERY_FUNC(query_formats), .process_command = ff_filter_process_command, diff --git a/libavfilter/f_latency.c b/libavfilter/f_latency.c index f04fd726f2..a497e0c71a 100644 --- a/libavfilter/f_latency.c +++ b/libavfilter/f_latency.c @@ -21,6 +21,7 @@ #include "config_components.h" #include "libavutil/opt.h" +#include "audio.h" #include "avfilter.h" #include "filters.h" #include "formats.h" @@ -130,20 +131,6 @@ const AVFilter ff_vf_latency = { #if CONFIG_ALATENCY_FILTER -static const AVFilterPad alatency_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - -static const AVFilterPad alatency_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_alatency = { .name = "alatency", .description = NULL_IF_CONFIG_SMALL("Report audio filtering latency."), @@ -152,7 +139,7 @@ const AVFilter ff_af_alatency = { .uninit = uninit, .activate = activate, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, - FILTER_INPUTS(alatency_inputs), - FILTER_OUTPUTS(alatency_outputs), + FILTER_INPUTS(ff_audio_default_filterpad), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; #endif // CONFIG_ALATENCY_FILTER diff --git a/libavfilter/f_loop.c b/libavfilter/f_loop.c index 33b66fa534..6a654c2109 100644 --- a/libavfilter/f_loop.c +++ b/libavfilter/f_loop.c @@ -300,13 +300,6 @@ static const AVFilterPad ainputs[] = { }, }; -static const AVFilterPad aoutputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_aloop = { .name = "aloop", .description = NULL_IF_CONFIG_SMALL("Loop audio samples."), @@ -315,7 +308,7 @@ const AVFilter ff_af_aloop = { .activate = aactivate, .uninit = auninit, FILTER_INPUTS(ainputs), - FILTER_OUTPUTS(aoutputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; #endif /* CONFIG_ALOOP_FILTER */ diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c index 4b7cfb0cb7..5679dfb203 100644 --- a/libavfilter/f_metadata.c +++ b/libavfilter/f_metadata.c @@ -377,13 +377,6 @@ static const AVFilterPad ainputs[] = { }, }; -static const AVFilterPad aoutputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_ametadata = { .name = "ametadata", .description = NULL_IF_CONFIG_SMALL("Manipulate audio frame metadata."), @@ -392,7 +385,7 @@ const AVFilter ff_af_ametadata = { .init = init, .uninit = uninit, FILTER_INPUTS(ainputs), - FILTER_OUTPUTS(aoutputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_METADATA_ONLY, }; diff --git a/libavfilter/f_perms.c b/libavfilter/f_perms.c index 021652cfe8..1c8cc5f68b 100644 --- a/libavfilter/f_perms.c +++ b/libavfilter/f_perms.c @@ -125,13 +125,6 @@ static const AVFilterPad aperms_inputs[] = { }, }; -static const AVFilterPad aperms_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_aperms = { .name = "aperms", .description = NULL_IF_CONFIG_SMALL("Set permissions for the output audio frame."), @@ -139,7 +132,7 @@ const AVFilter ff_af_aperms = { .init = init, .priv_size = sizeof(PermsContext), FILTER_INPUTS(aperms_inputs), - FILTER_OUTPUTS(aperms_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_METADATA_ONLY, .process_command = ff_filter_process_command, diff --git a/libavfilter/f_realtime.c b/libavfilter/f_realtime.c index ef713474ea..278ee18f36 100644 --- a/libavfilter/f_realtime.c +++ b/libavfilter/f_realtime.c @@ -22,6 +22,7 @@ #include "libavutil/opt.h" #include "libavutil/time.h" +#include "audio.h" #include "avfilter.h" #include "internal.h" #include @@ -114,13 +115,6 @@ static const AVFilterPad arealtime_inputs[] = { }, }; -static const AVFilterPad arealtime_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_arealtime = { .name = "arealtime", .description = NULL_IF_CONFIG_SMALL("Slow down filtering to match realtime."), @@ -128,7 +122,7 @@ const AVFilter ff_af_arealtime = { .priv_size = sizeof(RealtimeContext), .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(arealtime_inputs), - FILTER_OUTPUTS(arealtime_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), .process_command = ff_filter_process_command, }; #endif /* CONFIG_AREALTIME_FILTER */ diff --git a/libavfilter/f_sendcmd.c b/libavfilter/f_sendcmd.c index eb49f8baba..9f27fbde14 100644 --- a/libavfilter/f_sendcmd.c +++ b/libavfilter/f_sendcmd.c @@ -631,13 +631,6 @@ static const AVFilterPad asendcmd_inputs[] = { }, }; -static const AVFilterPad asendcmd_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asendcmd = { .name = "asendcmd", .description = NULL_IF_CONFIG_SMALL("Send commands to filters."), @@ -647,7 +640,7 @@ const AVFilter ff_af_asendcmd = { .priv_size = sizeof(SendCmdContext), .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(asendcmd_inputs), - FILTER_OUTPUTS(asendcmd_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; #endif diff --git a/libavfilter/f_sidedata.c b/libavfilter/f_sidedata.c index 82bbaa0e7e..23e95d0b8a 100644 --- a/libavfilter/f_sidedata.c +++ b/libavfilter/f_sidedata.c @@ -27,6 +27,7 @@ #include "libavutil/internal.h" #include "libavutil/frame.h" #include "libavutil/opt.h" +#include "audio.h" #include "avfilter.h" #include "formats.h" #include "internal.h" @@ -134,13 +135,6 @@ static const AVFilterPad ainputs[] = { }, }; -static const AVFilterPad aoutputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asidedata = { .name = "asidedata", .description = NULL_IF_CONFIG_SMALL("Manipulate audio frame side data."), @@ -148,7 +142,7 @@ const AVFilter ff_af_asidedata = { .priv_class = &asidedata_class, .init = init, FILTER_INPUTS(ainputs), - FILTER_OUTPUTS(aoutputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_METADATA_ONLY, }; diff --git a/libavfilter/f_zmq.c b/libavfilter/f_zmq.c index 156670dad4..d368482a68 100644 --- a/libavfilter/f_zmq.c +++ b/libavfilter/f_zmq.c @@ -247,13 +247,6 @@ static const AVFilterPad azmq_inputs[] = { }, }; -static const AVFilterPad azmq_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_azmq = { .name = "azmq", .description = NULL_IF_CONFIG_SMALL("Receive commands through ZMQ and broker them to filters."), @@ -262,7 +255,7 @@ const AVFilter ff_af_azmq = { .uninit = uninit, .priv_size = sizeof(ZMQContext), FILTER_INPUTS(azmq_inputs), - FILTER_OUTPUTS(azmq_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; #endif diff --git a/libavfilter/setpts.c b/libavfilter/setpts.c index 6dade06e6a..e5150b7e03 100644 --- a/libavfilter/setpts.c +++ b/libavfilter/setpts.c @@ -366,13 +366,6 @@ static const AVFilterPad asetpts_inputs[] = { }, }; -static const AVFilterPad asetpts_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asetpts = { .name = "asetpts", .description = NULL_IF_CONFIG_SMALL("Set PTS for the output audio frame."), @@ -384,6 +377,6 @@ const AVFilter ff_af_asetpts = { .priv_class = &asetpts_class, .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(asetpts_inputs), - FILTER_OUTPUTS(asetpts_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; #endif /* CONFIG_ASETPTS_FILTER */ diff --git a/libavfilter/settb.c b/libavfilter/settb.c index 23cb02689b..c7523436d3 100644 --- a/libavfilter/settb.c +++ b/libavfilter/settb.c @@ -197,13 +197,6 @@ const AVFilter ff_vf_settb = { DEFINE_OPTIONS(asettb, AUDIO); AVFILTER_DEFINE_CLASS(asettb); -static const AVFilterPad avfilter_af_asettb_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - static const AVFilterPad avfilter_af_asettb_outputs[] = { { .name = "default", @@ -216,7 +209,7 @@ const AVFilter ff_af_asettb = { .name = "asettb", .description = NULL_IF_CONFIG_SMALL("Set timebase for the audio output link."), .priv_size = sizeof(SetTBContext), - FILTER_INPUTS(avfilter_af_asettb_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), FILTER_OUTPUTS(avfilter_af_asettb_outputs), .priv_class = &asettb_class, .activate = activate, diff --git a/libavfilter/split.c b/libavfilter/split.c index 2a511668e2..6f24af3f02 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -153,13 +153,6 @@ const AVFilter ff_vf_split = { .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS | AVFILTER_FLAG_METADATA_ONLY, }; -static const AVFilterPad avfilter_af_asplit_inputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_asplit = { .name = "asplit", .description = NULL_IF_CONFIG_SMALL("Pass on the audio input to N audio outputs."), @@ -167,7 +160,7 @@ const AVFilter ff_af_asplit = { .priv_size = sizeof(SplitContext), .init = split_init, .activate = activate, - FILTER_INPUTS(avfilter_af_asplit_inputs), + FILTER_INPUTS(ff_audio_default_filterpad), .outputs = NULL, .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS | AVFILTER_FLAG_METADATA_ONLY, }; diff --git a/libavfilter/trim.c b/libavfilter/trim.c index 6bb567879d..91a68716c9 100644 --- a/libavfilter/trim.c +++ b/libavfilter/trim.c @@ -398,13 +398,6 @@ static const AVFilterPad atrim_inputs[] = { }, }; -static const AVFilterPad atrim_outputs[] = { - { - .name = "default", - .type = AVMEDIA_TYPE_AUDIO, - }, -}; - const AVFilter ff_af_atrim = { .name = "atrim", .description = NULL_IF_CONFIG_SMALL("Pick one continuous section from the input, drop the rest."), @@ -414,6 +407,6 @@ const AVFilter ff_af_atrim = { .priv_class = &atrim_class, .flags = AVFILTER_FLAG_METADATA_ONLY, FILTER_INPUTS(atrim_inputs), - FILTER_OUTPUTS(atrim_outputs), + FILTER_OUTPUTS(ff_audio_default_filterpad), }; #endif // CONFIG_ATRIM_FILTER