From patchwork Sat Sep 11 23:40:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 30160 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp2756557iov; Sat, 11 Sep 2021 16:41:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz+ePccP2/sIKD6jWydqhJ64etXjUeLkmJV4PiX+fvV3wZQ61a0SuSULfXyzD7J0/ofYT6m X-Received: by 2002:aa7:df09:: with SMTP id c9mr5439406edy.243.1631403689868; Sat, 11 Sep 2021 16:41:29 -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 kl18si3139375ejc.160.2021.09.11.16.41.28; Sat, 11 Sep 2021 16:41:29 -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=CaToinxP; 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 691A468A877; Sun, 12 Sep 2021 02:41:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2083.outbound.protection.outlook.com [40.92.91.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C2F30689D60 for ; Sun, 12 Sep 2021 02:41:18 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e32eYGXpemagrg/fSS6bVwK7k0u2vqbMAusau/ovYRQGp8lU6XvPlmDu2AM91SIoDa9DGGA8xyByi4T9r23/Eq59x1q5bqFiQSEoARxt6ftxet1kCntQ54mmctfMtVKxE7gU/pXach86D+i0gMLLQtCZOIwfApfJA205UyofHbZUNP3s/jN969+VkOd2RxeLk+6PBD4mwEZnPxxNsAcBMvLdzVT4GWypZ+UdZIikeUzu4xP6NDOYtqHTI1AklaMumRHOSPTyZloHMtrn599YiDMNxTl1h723uPWNU0+95zkjSsHLGrHhKxcqpu5AmuMJMJyBGIT1JyV1slX/VoHK8Q== 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; bh=QrekjrO2iLqVpat6z3R3XhkU0kj2YvkGMu8GWIO7pAc=; b=C9yhWC79f0Qwtdby91YzXu6fwQT9BQ3YDXTFhWqaUdyZOx+JLFG1h1krCpMNr0gV3X519TV+/7Ou/u35tqeI8ZAIWpFg7iekgyNwwkoejTou57HXVpdTSdO18IEaXgKuurVENKRpnzhiAxi/73qfDA1HbWRQXEduLUGsuu19yQEfpjKpoW1yxCMNQFw+HuTVJoo0D+SkCodRa9zJb6xeLNUTeHZzVWeKQrt1JOgtyvYYFcofwjVOkDoJ0KGySS2hZs8DSvWi6JcRAhBMHtzlahWZX5unaREYxnYJZeGn9Dsq0dZhvDsfxOCA5+O96v4H5KX04Z1AtHUcvQWfyBWCdQ== 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=QrekjrO2iLqVpat6z3R3XhkU0kj2YvkGMu8GWIO7pAc=; b=CaToinxPRpt9JKUcgVH6aV8nqqjHJ42XXvI/L9jxSCdEk+H73nJlH2tcHMcIcQczVcepg3T6EgHpcePM3mRtOKLsYP1a7p4YRbE5DwgRruDcFrWCsEQzl+kqU6U+KJbKjVdWJjSUizE/XUof93ndLhGHiGrOHPVLVFYfMqzu5XSsFCxqPMIOjMP7jVISVzGYZx1uYhdpJFtI87fSncNhzfhZRQd5f9ZG2WjiGLW8ZYUxDFJur2zOGu3q9n7UNGhRQsDca1Ao53cslSPFcu4TLY3B4HItp3hjgCHpHQgn+THtt0IO3ZsZ5/ClhGdDNuC7xsjrBGMo5IzEfbLf34yYnA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5047.eurprd03.prod.outlook.com (2603:10a6:20b:89::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.16; Sat, 11 Sep 2021 23:41:17 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00%4]) with mapi id 15.20.4500.018; Sat, 11 Sep 2021 23:41:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 12 Sep 2021 01:40:32 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [p3ZEmZ1/P8k2qi8zqPROD1pCE6RNXy84] X-ClientProxiedBy: AM0PR05CA0088.eurprd05.prod.outlook.com (2603:10a6:208:136::28) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210911234109.2246196-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM0PR05CA0088.eurprd05.prod.outlook.com (2603:10a6:208:136::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend Transport; Sat, 11 Sep 2021 23:41:16 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 38cb2f35-3f60-49ab-c60e-08d9757da62f X-MS-Exchange-SLBlob-MailProps: f36zkjAOy3UFAju/N0FeFgknNl9FmpqXXPawYNNCCxK0nu0rCfN4jcFUL9P/44hznGb5c1Pvr4HIxcF3DwuupUjReV27ZnfUXHng8URKxkY9piHLBST9/h2eAbhFeFk0fGSrp1TiEqbbv9RAttlFK5Kwj3OlqjT4h3nehadh2IYd2Yjv+BGgnNoEZJ7CK7qAErpkB9YWGYIs9F3b8fsK+sjE5tPSujoiseY38ydOhbGzfeJqyedXQ6jsaDK++QAe57iV1M/AkRNp8E5HKnvlG30tAMdGD8zW5E3gKVltPJsVEJiGqMqB93KJsNJCc8fqShypqSfuLGo8urXEOKYq61+UGngNUTd9Xib/86LJa6z5yI4D0DY54jk2uyc/8r63+ztyscHliypcD9ACXB3VXXzAQduf0vlwwSG+5V/ssDYKG3V1UDA0SFCmMGXgXlid8xrNvGRDLyJ2ucOiqQtgV9VXSlrKN8odKrddfYWgb4c2n5lCrZvdKXm89HbHwurEHGNQz1AHTn1ERfpNk1MFdZGplecfEinPnd6z8oEz+HFx1Gh2fIkzL0foIhVM1xQFaRC+pYlGLjQQ3uB//JF39zopR8OsSMiG9M3tYO2h7KKqhU+CpvpcXjQyG9fA9XZlStIo/kJAYVfK+zTSnzL/SfFlCqRtHHsRlxd0UI2TuI+LLYIwPfEfgb8GGJ0IEm4bfjQVIICK8AHPejHFvdwACefVzBv4KyTc41O9uIyrW+c= X-MS-TrafficTypeDiagnostic: AM6PR03MB5047: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mKLUwwnVug5LjKnOl4STy1VSWNhpdVSH3SPxBDlHFuSCFLO3jO0jBJqx26VEpZZMS+6Q+2aDUW5Bu0d2TBjsK0xCwK+Xmb1xmrcTwco/gVCbsM5A6SDNFnCq/YBN4CzZngxlXR6iWF2dVB8dsHDZbC81vPmOeNvNJvEiUaFHn0JMDUGQ0ACo42ZZpKYEzXfAYaUa9k8dwWd6Y+aW0kCEelLBAYb3rP8595xB3XTmhUvSldOkxtKp74iuwS1YzdpxoKrvVV+PlQ7qJ5mdlmildqpGd/KDn7ekjhiPjHJv5uCuW4C4jW5nlpU8sHL6XMq3np34ammqkl2RGBNIv38DNlK51NO3hXrTZjw8Wn6cE5O8XmrUoSqZqCeWc4O7Zcds6quu3bCuL3nFSXmjsladc8K/9eemHR4KZtQV1r140aGMoZnJBX9mvcqsXo2GyvfF X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fJVuyYrYN81HhWdsAGd7T6wd26oATzD4vfMZJXj9QV/sDTK7gJ8aF7Ir3AOJ+LVYeTrQdW1MPlKJ5dCEwGDCPNRXr6A1x4bDsT6HxL1emeWBSt0cVnMyiX8HxhzDK0svXEuz1JBfKrgl3k8tVmEwXA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 38cb2f35-3f60-49ab-c60e-08d9757da62f X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2021 23:41:17.1695 (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: AM6PR03MB5047 Subject: [FFmpeg-devel] [PATCH 02/39] avfilter/internal: Add AVFILTER_DEFINE_CLASS_EXT 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: cyalCwx9SYlV This macro will allow to share options between AVClasses without having to redefine the option name (as is currently done) and will also allow to share the AVClasses itself (which is possible now that AVClass.child_class_next is gone). Signed-off-by: Andreas Rheinhardt --- libavfilter/internal.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libavfilter/internal.h b/libavfilter/internal.h index 6ddf024d93..e7c154aff0 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -278,14 +278,16 @@ int ff_append_outpad_free_name(AVFilterContext *f, AVFilterPad *p); */ int ff_request_frame(AVFilterLink *link); -#define AVFILTER_DEFINE_CLASS(fname) \ - static const AVClass fname##_class = { \ - .class_name = #fname, \ +#define AVFILTER_DEFINE_CLASS_EXT(name, desc, options) \ + static const AVClass name##_class = { \ + .class_name = desc, \ .item_name = av_default_item_name, \ - .option = fname##_options, \ + .option = options, \ .version = LIBAVUTIL_VERSION_INT, \ .category = AV_CLASS_CATEGORY_FILTER, \ } +#define AVFILTER_DEFINE_CLASS(fname) \ + AVFILTER_DEFINE_CLASS_EXT(fname, #fname, fname##_options) /** * Find the index of a link.