From patchwork Sun Aug 15 09:55:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29524 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1103874iov; Sun, 15 Aug 2021 02:56:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxc7vHJl3cu8duodSjCQiDfHgBGbD0QtZdTTl3yh14R9zHlWHKoWg6Qb7YYE7XPOPUAHPbZ X-Received: by 2002:a05:6402:5192:: with SMTP id q18mr13392274edd.149.1629021367511; Sun, 15 Aug 2021 02:56: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 n26si6924664edr.521.2021.08.15.02.56.07; Sun, 15 Aug 2021 02:56: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=j86zxb5H; 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 3ECF3689B0B; Sun, 15 Aug 2021 12:56:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067031.outbound.protection.outlook.com [40.92.67.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 09FB56891DE for ; Sun, 15 Aug 2021 12:55:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RGkKexDq3o2vkdG2vL1Oe9+PoT4BTDEUt4NOWqWcvEZUBZVYGPQnf0ChtLxEP5PZdcLZf5LxbtLDXwQ+PSrvcfbZWKzr1ffxthd67LJ0Hr8MpyOsMe3Z0GfTJJkPG0FpS5C9itFmucllF06cPC11Ock7mksqCjri9+F/hKT2BCaGEq62+NKSsRpO2NPpNrnrlLhr8IrBEBF0oRmF+BcozMiSVqCb/hb5OK4LDNXAnHZmlhJJ4jChY9iFxVH8VC1V8aRA26tnWv0Z6KF4Z66El+oY0b5HTp2jdoP+4kyCJU4kSE7gxR1jpvDaqr9xdKukMb/0rHCtEqrtUeNRh8E7Iw== 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=3xScIYOZxfTA1ixm3TL8rAOy5PHbXt6bmMExriOZ2Zw=; b=I9XfLwChRUhvvPkf4DnL/mlLVgfNYHJyMGGDtLGJEFkIgK5H4VzeZlGmGnJux3qO3QuHifeCuc+VWz9COY86udzaWDIv8NuPa/KUoG3xNOK3R8fpmKxKS9QPlIcSfWDuaTPb6yXy8zTRltBJv+jmBM0WBA2FWVPhVEO76ORA++2J56yw/CeeVyq2eSGPlpxDBUcE7/TKCuJEJ1aXOlNIQJ6AXU5gbuW6INCH7sXcR3sjUtYSzKekAivRxsI6IkxlJF7GYNC92PHw+bz12WgHbDGzLIWr3vEvQ8vxNdOLQG3oVFOgmbltKMMhX3dpY/EQ622A9zYuAU4rL8usJFZ42Q== 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=3xScIYOZxfTA1ixm3TL8rAOy5PHbXt6bmMExriOZ2Zw=; b=j86zxb5H3BHxByXfyOpdhg9ITKtBKsE+qxJMmnszAYVGSQybQLeYv5485fWcQjHUUysPRxt9Xg5KOcNZR9pTnvofpDm4rEXVeYTob3ZMnzTshI6o0QvP0PjJuoNmknC5MmAHYIa/zeMnGp+VqoEwiBAIuYeJtys5YHXkz3mLsgVxUofUWZF+4Ex1JO3wvqElGdrrmRqX+lVZQOLk0PqwPx67mSJTtH7IaxkhvPuQCkt362deyHLx4NR4XpbkcbQZWrrhKoFUzfw9rAVOIYCvSpD6zaB+V50IXjjjF/2zViHwUa3HzgVBIjxlwn1+STxc486fKrigSVAS1ltFPlb34A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5542.eurprd03.prod.outlook.com (2603:10a6:20b:f8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Sun, 15 Aug 2021 09:55:56 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ded:bace:bc7:e91d]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ded:bace:bc7:e91d%3]) with mapi id 15.20.4415.022; Sun, 15 Aug 2021 09:55:56 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 15 Aug 2021 11:55:31 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [L2Re9mKY/iUKLZ1gN3kPQiQxmRxUFSsx] X-ClientProxiedBy: AM4PR0202CA0005.eurprd02.prod.outlook.com (2603:10a6:200:89::15) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210815095538.2116202-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM4PR0202CA0005.eurprd02.prod.outlook.com (2603:10a6:200:89::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16 via Frontend Transport; Sun, 15 Aug 2021 09:55:55 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 16a69fe3-c8d6-4279-1c58-08d95fd2e034 X-MS-Exchange-SLBlob-MailProps: dEG5jEBie8lKHvznhXgTQSmnqG0tvrHxQo15KakAb0FNVJZvtRuwk9nGptkrIvA54lL98PS1W8URwfTzmrPoFVw4xx2gjfov0wMdnEst40HL6pys9HJ06HXx5XEzaI/ndvpaG8yE8mieI9p9dA4MNypfAc4+O0cNIz4rmAqm8GRcWUmnuFJmQVazx5SQZ5KDe+1czg/QtKxIBNlwm5Uzn/JnFaPLQB9OgzkXpG/GqM9HX4RQrtq5h79mnnefGv6F93/XzAQv2Mebyuukx6J2EBziMjYTblPLC8v3Yu2jk9l1o/01KkpDECWRCn5C2gQGBRZpSj9bfk7p+Mjl5ZAJsfl6Rv7kghgRlAIP1yTk1cf7cR4wCSkmKWaLmRGj7KTjn5kX4SvJ4TsbUSFEaAHv8yb/u0uOigsOH8J9pEJg7pkwzriJ4KJQIjYhFoTdn98x+NNDMx33btn/SwlnsgorhUPGn/dxIwHqcDzZYZ67OxLVxMv8Z9QlA2UC0/wDss7/rDpjXjKapNpnA30ggKb0b59O7CU2h+CODzZwwNugbJhzhkcFHaGjKRo0tlbi6huq/grbR5yLgAikGA/yceg3t/ql3tuIKo48Xc3GyyUSIkVa7lwrz6cyKNwBYZ8bRkwBOcvJq5rNpBqI2zlwlmIzmnUsM6LfVFIcpJA5D9e8g/oBZZjt+v1uZg== X-MS-TrafficTypeDiagnostic: AM6PR03MB5542: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NNG38i9WBXWat7VEjQA1Z0wLtf4aJROCFKdVuEH29/qzu4DcW3VUMHtQlWtF8sYpXCsVd9PrZVBTuZQj1pnpHdoF26YwhELZW82xft7WsKK7oglhod1LOfJVstTmzj6wESLZ0hIR8Syg6b4oB8lZx1S/C8qVw6qtT/bW71mwF6cR3g+pkjJidqAsqh19NkJNYqpalO0ZLn67yajVHixscqeVKCDIWYAFyZ2lqGOyuAcok0wzUvWlg/qJMYiLOebhQM2wm5TdYkB8lZ5t9by08zHE2ZjUms1PNrO38LxscSBtX4V51P/6RsU4jgKMn7DGyTKLNgXLRMhUuJpH461BkJlCIiOkRuvtHuakU07I45PED7mQs6bHONJMZ4ITi9RSrX2YyJgFwAmD4HXHRC9TwKcLo87k4Iheaj+u1UU4VVZs+DKGnsTmAzQDpBXF6zOq X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1rqZm5WbfuiwcI8l+WyhcLAkDDdGZiV18jTviNZuKlUUTngBlRs6cZOrLKvDQbvJQSahLISFzlWJXhd40f+dS8y9uLNwXliSxR+ARx35vQDtaDj14iX3zQT389i8xCQ9qkVNj6vN6Y+cH94FStkCqA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16a69fe3-c8d6-4279-1c58-08d95fd2e034 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2021 09:55:56.0849 (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: AM6PR03MB5542 Subject: [FFmpeg-devel] [PATCH 03/10] avfilter/avfilter: Add avfilter_filter_pad_count() 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: 4UJ8O7V5SZne It is intended as replacement for avfilter_pad_count(). In contrast to the latter, it avoids a loop. Signed-off-by: Andreas Rheinhardt --- Missing APIchanges entry and version bump. libavfilter/avfilter.c | 5 +++++ libavfilter/avfilter.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 15d469ed59..5032fd99d6 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -563,6 +563,11 @@ int avfilter_pad_count(const AVFilterPad *pads) av_assert0(!"AVFilterPad list not from a filter"); } +unsigned avfilter_filter_pad_count(const AVFilter *filter, int is_output) +{ + return is_output ? filter->nb_outputs : filter->nb_inputs; +} + static const char *default_filter_name(void *filter_ctx) { AVFilterContext *ctx = filter_ctx; diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index f1f19a0548..0905f308eb 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -332,6 +332,11 @@ typedef struct AVFilter { int (*activate)(AVFilterContext *ctx); } AVFilter; +/** + * Get the number of elements in an AVFilter's inputs or outputs array. + */ +unsigned avfilter_filter_pad_count(const AVFilter *filter, int is_output); + /** * Process multiple parts of the frame concurrently. */