From patchwork Thu Jun 17 02:31:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 28445 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5e:c91a:0:0:0:0:0 with SMTP id z26csp201636iol; Wed, 16 Jun 2021 19:36:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy62TL+LKyfCtoI7lds3ewLUOILW4w2X/yo8ODovrD2icKc8yvxQt42NqkX3rYaNbB6bPo/ X-Received: by 2002:a17:906:7d0:: with SMTP id m16mr2622937ejc.319.1623897391055; Wed, 16 Jun 2021 19:36:31 -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 e19si3565325ejy.254.2021.06.16.19.36.30; Wed, 16 Jun 2021 19:36:31 -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=jDNCVP71; 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 295D8689D84; Thu, 17 Jun 2021 05:33:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073068.outbound.protection.outlook.com [40.92.73.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6AB83689A29 for ; Thu, 17 Jun 2021 05:33:22 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MVkb+EHHHNvMnaXDTGkNLMpLCw617ZgrbxCRWAuo4xkeUGc0CmKO5YFOJ7XqSLGI/zuwJwkA2ZePSSkyyJBv11DSQqWTajDOP5YrAzgz0Walp9t2e7ohdDS2xc+PBW0NKLaJxP2kimrXv+bJEh06ge8OmCwLaAZjptj5BFso8qsQUExITySNUZhjSiq/DJ6QJIJjVyZEx4D61EsM8cCClDl28unwiiOhM0BcduDm/CFl5ZWOnujQ7K+bY5RSDdO+awlOFRaPO6D709x3iHDPANBm3RsU2qbX4ewsR2XPUtvgXCJSyOCpDmWB/M0c/OV8lxOswgbJ4SRvyz2Z31U+oA== 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-SenderADCheck; bh=bQc/4Pw3nxd402LMqB3IiTsaTjccnPo11jQJJpPIdZ8=; b=CL9b8xkbJ3blMnBvgJWm48OfsT4Ehz0lyCJgOW3/uOwO+p3sU+MtjkS7EZoB+lfda3pwxh3GKGFkkGTV6g6HtYPMZ3XqnvTyWsCmvUcRPWwgmV/UZdPR8QO1itTJJAYZGxHfX7FfrGnQH6TnZMB6g5PruvLWUkf2G6tXV6abIUV0gKkyunOqTBg2Ez6lyV6jft7FUi1PxPzVOIXRHvwLAxF5YCc+PqPWT/QrvYWsfubUA04N4cl2y4lyCzBm57H/lBBAik1T8A6+6qesNEYZg7fhjodDCsW3b8fe65ETmW/0jHj410TJXxNwcWrIdtVtSRaeJrzg41Vb+ACdfsVwdQ== 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=bQc/4Pw3nxd402LMqB3IiTsaTjccnPo11jQJJpPIdZ8=; b=jDNCVP71ilPfeBVVbDoP2dHll1Zi/DeffUaAtGb816TneYJiwMp9zL0FsrFbQlPfHKFaq4J0A/33ymE4IhJISK73oDB7YlCazwy8bR6uu7WhFGdhsOaJREyIKh6aM/UWNQIOjFjMficLH2R7yfQpym5sgXPg59RdOofoyjopO4E33I5CU58b6Vv+eVbT1GmRo1NfCTEjt36giJkJU/XhDYq8griK21vx5Xrwgq3SRnbbOcNITazMBBHT8kdUygonMwvGTy0IVnb+JWZH1B6WW0+CKjFEAmDe6bpINvNVQ1JIN+CYPyscjzh2R84f0QWp2QRtjkDFY6FiqykJnAD6QA== Received: from HE1EUR04FT053.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::4e) by HE1EUR04HT088.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::342) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16; Thu, 17 Jun 2021 02:33:20 +0000 Received: from VI1PR0301MB2159.eurprd03.prod.outlook.com (2a01:111:e400:7e0d::4b) by HE1EUR04FT053.mail.protection.outlook.com (2a01:111:e400:7e0d::298) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16 via Frontend Transport; Thu, 17 Jun 2021 02:33:20 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:4487B6C561EDAB43DB92C5E3F5B20A9534FA3BB1754E2F413D72C6B0DBC7E8C2; UpperCasedChecksum:CE03BED452CA4CBCC2070486FC442CFDCD62EE8B2885C8736FD67BFD792A3943; SizeAsReceived:7578; Count:48 Received: from VI1PR0301MB2159.eurprd03.prod.outlook.com ([fe80::d9b:66ba:63ad:967b]) by VI1PR0301MB2159.eurprd03.prod.outlook.com ([fe80::d9b:66ba:63ad:967b%5]) with mapi id 15.20.4242.019; Thu, 17 Jun 2021 02:33:20 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 17 Jun 2021 04:31:44 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [MlR0tL8ftEmUVt2VWI4ymQgkqpwIHER6] X-ClientProxiedBy: AM0PR04CA0115.eurprd04.prod.outlook.com (2603:10a6:208:55::20) To VI1PR0301MB2159.eurprd03.prod.outlook.com (2603:10a6:800:26::20) X-Microsoft-Original-Message-ID: <20210617023202.1318312-22-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.97.82) by AM0PR04CA0115.eurprd04.prod.outlook.com (2603:10a6:208:55::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16 via Frontend Transport; Thu, 17 Jun 2021 02:33:19 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 112d6c74-c552-481a-e9a1-08d931384563 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNU/fTcAoeunGvvJC2vgMUdOtpMk4ZZjMF9xeoJXzVRRaX4FhlKOpjtEFJnEtXhcYgUBX/k1yUqTj1s5EW4vGBXH2kG3ODXnuF52ZPZYyR8nmzDmNitohmx0FOBe3VBwg/fkwgSwJu0yjWtg2EGzVrdDES0q716YOz6HX8Z0MF7/pCucjUp6Ic5BUh4PAg9ltE3JjggTI9pEEyxbUX8opDpktYZ+ZwhH2QzzzcrwFEN/pLVIp8KC36b229KFoU2Iwz2SBoaO1wE9l/Jg3NuuCQ3OC82Bd17AUhO7mqoj05JuwNnhk7bvELuLHi9nQotsNAAYlw2oHtVzeuxk7W/pdcKgT7X3e/dzp+93Ndl8f8eL9q2lgEUC4etfVvOHBcNnstZ153Uw4vmMKGszdDXRrTo7laxhTVU9rCHe55LGw1O2l2K5rwYFLT1N8ctAmElAODSS1wzRXHvcLQvxIJ2jH3xJbShCeouvq4gEJki77q4E1Tg4MTDX9xcwd+VqeBpsgPNkdGR2Tvjk/UsRfZm/3bcXxz7d/5HwqjgVkyuqJJi7XtSSn7c06QOu+JxiLFAGFksFg8cmwWaQBPMg8s3vdfuCp3/A+CMeh1anIXKIiLE1zskmXIXTaMKhFQf5E5HGXZ8BP246JSReisoNg58/hLax0gJ8Ak2cvev2RMcwKjpF4ihl0/Ai8iqyKP2P44+L/9sz6xdDEBnytUaNCveiCn/OKn/IrE/G2P4= X-MS-TrafficTypeDiagnostic: HE1EUR04HT088: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rRKAJQKGwSJwcIzZ0sakqHkwp0gCUTKRm4PQFHo0PAGPDGjpljavwc2ekf68x3SvDZhJcyPDFgjXUNnv4yDMxatAl1ZoJ5RgzcuLubHjLfuqW4kbKer3NvVwMfuPoCG8X8QRu+/FpoM6mm2P6NFVQdtD6QYWayb9k377tkZ4BW9HMSj50CPnkyWCer7TKsp37zjFCsLOfz23rdccxoyWaqudrZIuWYivT7GqNDhYwaso7soFt/84rhbPqlLn+gKmkZ9KxX7UJSl6I+v3fH8kvT+TpTjLt8TuTFrv0lVK11D+aLkrW9QrarxnI79sQcqraVC5uhCKIlSGKYPJAydJp40cATD6L7tlZPVafHu8zsYW88m9iGzmXzI2hiCscjqPgLfaM5fFvvzxsj3Z4+smeA== X-MS-Exchange-AntiSpam-MessageData: vJXnZUu+bp5Uk222SLuAz/ouWtNbimBwR8W72g4uqdjVfmS5MbG8X3IRNQyQC/J0e1+gD7+AngrGfkDLDwsecxaUEe21roQdttyOxZKjTDAEgW2WPtSs7jOyjJcmJae2o0mUc2ZTrmYEz/z+QlsAbQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 112d6c74-c552-481a-e9a1-08d931384563 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2021 02:33:20.3790 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: HE1EUR04FT053.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR04HT088 Subject: [FFmpeg-devel] [PATCH 23/41] avcodec/ac3enc: Deduplicate AVClasses 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: Tk+CmkwC2SDJ The child_class_next API relied on different (de)muxers to use different AVClasses; yet this API has been replaced by child_class_iterate. Signed-off-by: Andreas Rheinhardt --- libavcodec/ac3enc.c | 7 +++++++ libavcodec/ac3enc.h | 1 + libavcodec/ac3enc_fixed.c | 9 +-------- libavcodec/ac3enc_float.c | 10 +--------- 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 0036f7d8bc..034aa0beb9 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -125,6 +125,13 @@ const AVOption ff_ac3_enc_options[] = { {NULL} }; +const AVClass ff_ac3enc_class = { + .class_name = "AC-3 Encoder", + .item_name = av_default_item_name, + .option = ff_ac3_enc_options, + .version = LIBAVUTIL_VERSION_INT, +}; + const AVCodecDefault ff_ac3_enc_defaults[] = { { "b", "0" }, { NULL } diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h index c064ba4d63..6d424fdbf6 100644 --- a/libavcodec/ac3enc.h +++ b/libavcodec/ac3enc.h @@ -267,6 +267,7 @@ typedef struct AC3EncodeContext { extern const uint64_t ff_ac3_channel_layouts[19]; extern const AVOption ff_ac3_enc_options[]; +extern const AVClass ff_ac3enc_class; extern const AVCodecDefault ff_ac3_enc_defaults[]; int ff_ac3_encode_init(AVCodecContext *avctx); diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c index 58decc594e..c7632d78e1 100644 --- a/libavcodec/ac3enc_fixed.c +++ b/libavcodec/ac3enc_fixed.c @@ -35,13 +35,6 @@ #include "eac3enc.h" #include "kbdwin.h" -static const AVClass ac3enc_class = { - .class_name = "Fixed-Point AC-3 Encoder", - .item_name = av_default_item_name, - .option = ff_ac3_enc_options, - .version = LIBAVUTIL_VERSION_INT, -}; - static void sum_square_butterfly(AC3EncodeContext *s, int64_t sum[4], const int32_t *coef0, const int32_t *coef1, int len) @@ -139,7 +132,7 @@ const AVCodec ff_ac3_fixed_encoder = { .close = ff_ac3_encode_close, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE }, - .priv_class = &ac3enc_class, + .priv_class = &ff_ac3enc_class, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, .supported_samplerates = ff_ac3_sample_rate_tab, .channel_layouts = ff_ac3_channel_layouts, diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c index f9759bd2cf..e4a3794dd8 100644 --- a/libavcodec/ac3enc_float.c +++ b/libavcodec/ac3enc_float.c @@ -34,14 +34,6 @@ #include "kbdwin.h" -static const AVClass ac3enc_class = { - .class_name = "AC-3 Encoder", - .item_name = av_default_item_name, - .option = ff_ac3_enc_options, - .version = LIBAVUTIL_VERSION_INT, -}; - - /* * Scale MDCT coefficients from float to 24-bit fixed-point. */ @@ -143,7 +135,7 @@ const AVCodec ff_ac3_encoder = { .close = ff_ac3_encode_close, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, - .priv_class = &ac3enc_class, + .priv_class = &ff_ac3enc_class, .supported_samplerates = ff_ac3_sample_rate_tab, .channel_layouts = ff_ac3_channel_layouts, .defaults = ff_ac3_enc_defaults,