From patchwork Wed Oct 13 04:49:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 31094 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp5559476ioa; Tue, 12 Oct 2021 21:50:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxUz40kwB8A4DXY7yyngfGl9TUitZoBQ8n+tfAr4liZOn3m62QflpivP/br7gRIQ3PA8b89 X-Received: by 2002:a50:c006:: with SMTP id r6mr6289738edb.289.1634100610361; Tue, 12 Oct 2021 21:50:10 -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 di4si25379128ejc.505.2021.10.12.21.50.09; Tue, 12 Oct 2021 21:50:10 -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=@hotmail.com header.s=selector1 header.b=Iuga2HCy; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3370268A808; Wed, 13 Oct 2021 07:50:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2082.outbound.protection.outlook.com [40.92.21.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8BD856800D9 for ; Wed, 13 Oct 2021 07:49:59 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eGq9YvMmZ5dMCxX5G0008h40H7WrBQZgshyYa/KlJUBKvDlUOapDn26N6LCctlXPS8lnZQSqJJP2m7PT3Ho2MLsUhnEJMnGSHxxk6QXqXEIAus4QsExZF/hvx5sh1re+R0zo1ze/DA+nWp8b046Lnpi+6eWkZ2vWTVYGak+5VEB6NMHtR5Fifvj/dgooeTA+BVFt6SvVObr4KBSLN4W52VPK9SvWCvWcjwsItlgKUADhvlAEnX06U03l7jfd6abhhxUiltdZ8q4uEBfWNIfWgSlFEOBZG867tB5MFRJQgGv2/OGaI2qUiEKjcR7I/Fj8qSWuKKFOTa26YEkYhIMTEg== 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=oZog/7dOOCrR5BvrbVINUtNfLXhRq8UkjlBvHDfBtWU=; b=NyZ4VTa0pwAUwOoNczIBWddGQ50z2Z/bZeabHmm3dVygQEsVKWtECIIf2vwhQwrB3N7VoFZoOfUcI9Yznp1nk+AZeVDRp8RUQ58psi1SwlOB+8FwsyLpbOPLabXKHK4lXaG6KJ+/RZbA4uMoLSnk0uOdzUBwGp/hRi2Bbw28zFg5vuDRKJPTFUvhvCvVYjsWCdXCKZIQmS5JGhISIMJbQ4IR5ASFoWiGoEA/YxAiCoLYI5wUHSYFqUsls3bkOJ9V78pDbe7tepAJDZOAHroo8jSrfjF/XJd2SbKGPJDTWDweafzs3N6KY5OzhM8fZh3OiM2fNZBN3rBv6vUmHgyhyw== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oZog/7dOOCrR5BvrbVINUtNfLXhRq8UkjlBvHDfBtWU=; b=Iuga2HCy0E9WTWZ9nWMtLc+sm0/tq2D7RiiLrXhoGmXsiKzSA6qrEoylU9R/Exnzw3i4Zhpa4O5O7WW7N2XSIEmQxjMijWFuqFDDD37Zy3Xdbu6O5LjVqG1OYLOqEFBtSp4BqtiR3ZHkcC5PIY7HUXfWWXirev88XZWiJ7Uz8O8fum6UfKcRttJZTUZQcfxn/exUbQiLpakWUMb4KV6Rl3v370SDJOJiCy7PntZ+xHT4RBbj6GIDVexQfXbZVmaqNCTqoQWogctriY633z79HQnp6RvjsY5v7iBS+t83MVbS11uv6oPAZS6TmQ+4jDHwAnGT2dZbUa9UcOIHWdK+QQ== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6205.namprd04.prod.outlook.com (2603:10b6:208:d5::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Wed, 13 Oct 2021 04:49:56 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 04:49:56 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 1/5] avfilter/avfilter: Add avfilter_alloc() and avfilter_query_formats() for initializing filters without a graph Thread-Index: AQG/IMss9hwT72uYI1H8LXEEqR1CoQGXeu8g Date: Wed, 13 Oct 2021 04:49:55 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [4hT6Atp/zzrBa99RoMVLiYYUxavUk6q4] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ad8245e9-5ebf-46dc-54e3-08d98e04e73b x-ms-traffictypediagnostic: MN2PR04MB6205: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9AEg4HuWhUDY6FjVGZnud7mhaMFog2PbcsnNy4/zAs6P0MwtEYRTWsZ/WqHZ/O3Ef2jrq62KRtHJhPa5V+StkwCUiAdO9EtP/anOfkDp7OCn4jGeuMZ7moF8EVh5JVNuCU2BsAJfoOm5sps4KwTCK4uGZhGdpZjTKRBOLa55qLCbD1xiRrYe5W3pvUuA10JuSowcCyv3TY6baitaBCscS5iuaW/njNQqqD+Gi175+gvTsn7JLXjt8XhssFV3a9HGD6PrAqIsA01T5IaG4tcoIXea73PKDrdDfo92El3+paXUMLMX86qPPMPzxHCiM46lUIHwR27QI7zminkon6MTBBAFURz3K7WY5EDMblSH7kE6/G6chvXC48P4vOv5IXqR2jgw3nTY3WiDzGebfONYx/EQKeudqJlAIduzLNlAYgcWwAdJZxgPOIJYijiFNUIh x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 5fbIm6ij84LkmOtTiofLVM5AfiyUxlyaoCEX2svxRsECZ9c04go85UxJ7sy11/ZW/sCcLNRraWj4QMGJZS3ufvq0ZYQNhPJyTx9KevarAxMWoqsWnsE/kHUfhki6SUFMrmnAT1AIu4tmpHQdROIHnA== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: ad8245e9-5ebf-46dc-54e3-08d98e04e73b X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 04:49:55.8985 (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: MN2PR04MB6205 Subject: [FFmpeg-devel] [PATCH 1/5] avfilter/avfilter: Add avfilter_alloc() and avfilter_query_formats() for initializing filters without a graph 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: RFVA3vzlu/Rb The purpose of these additions is for being able to programatically retrieve the supported formats of a filter for each input and output without adding the filter to a graph and creating connections. Signed-off-by: softworkz --- doc/APIchanges | 3 +++ libavfilter/avfilter.c | 4 ++-- libavfilter/avfilter.h | 22 ++++++++++++++++++++++ libavfilter/avfiltergraph.c | 18 ++++++++++++++---- libavfilter/version.h | 2 +- 5 files changed, 42 insertions(+), 7 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 7b267a79ac..903de43365 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-10-12 - xxxxxxxxxx - lavf 8.13.100 - avfilter.h + Add avfilter_alloc() and avfilter_query_formats(). + 2021-09-21 - xxxxxxxxxx - lavu 57.7.100 - pixfmt.h Add AV_PIX_FMT_X2BGR10. diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 7362bcdab5..645af2cb11 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -769,12 +769,12 @@ void avfilter_free(AVFilterContext *filter) for (i = 0; i < filter->nb_inputs; i++) { free_link(filter->inputs[i]); - if (filter->input_pads[i].flags & AVFILTERPAD_FLAG_FREE_NAME) + if (filter->input_pads && filter->input_pads[i].flags & AVFILTERPAD_FLAG_FREE_NAME) av_freep(&filter->input_pads[i].name); } for (i = 0; i < filter->nb_outputs; i++) { free_link(filter->outputs[i]); - if (filter->output_pads[i].flags & AVFILTERPAD_FLAG_FREE_NAME) + if (filter->output_pads && filter->output_pads[i].flags & AVFILTERPAD_FLAG_FREE_NAME) av_freep(&filter->output_pads[i].name); } diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index f7208754a7..24119993d6 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -911,6 +911,28 @@ typedef struct AVFilterGraph { unsigned disable_auto_convert; } AVFilterGraph; +/** + * Allocate a new filter context and return it. + * + * @param filter what filter to create an instance of + * @param inst_name name to give to the new filter context + * + * @return newly created filter context or NULL on failure + * + * @note for adding a filter to a filtergraph, use + * avfilter_graph_alloc_filter() instead. + */ +AVFilterContext *avfilter_alloc(const AVFilter *filter, const char *inst_name); + +/** + * Query the formats of a filter. + * + * @param filter the filter context + * + * @return 0 on success + */ +int avfilter_query_formats(AVFilterContext *filter); + /** * Allocate a filter graph. * diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index b8b432e98b..64379782fc 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -81,6 +81,11 @@ int ff_graph_thread_init(AVFilterGraph *graph) } #endif +AVFilterContext *avfilter_alloc(const AVFilter *filter, const char *inst_name) +{ + return ff_filter_alloc(filter, inst_name); +} + AVFilterGraph *avfilter_graph_alloc(void) { AVFilterGraph *ret = av_mallocz(sizeof(*ret)); @@ -395,6 +400,14 @@ static int formats_declared(AVFilterContext *f) return 1; } +int avfilter_query_formats(AVFilterContext *filter) +{ + if (filter->filter->formats_state == FF_FILTER_FORMATS_QUERY_FUNC) + return filter_query_formats(filter); + + return ff_default_query_formats(filter); +} + /** * Perform one round of query_formats() and merging formats lists on the * filter graph. @@ -418,10 +431,7 @@ static int query_formats(AVFilterGraph *graph, void *log_ctx) AVFilterContext *f = graph->filters[i]; if (formats_declared(f)) continue; - if (f->filter->formats_state == FF_FILTER_FORMATS_QUERY_FUNC) - ret = filter_query_formats(f); - else - ret = ff_default_query_formats(f); + ret = avfilter_query_formats(f); if (ret < 0 && ret != AVERROR(EAGAIN)) return ret; /* note: EAGAIN could indicate a partial success, not counted yet */ diff --git a/libavfilter/version.h b/libavfilter/version.h index e4c25b9225..dca5aacb45 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -30,7 +30,7 @@ #include "libavutil/version.h" #define LIBAVFILTER_VERSION_MAJOR 8 -#define LIBAVFILTER_VERSION_MINOR 12 +#define LIBAVFILTER_VERSION_MINOR 13 #define LIBAVFILTER_VERSION_MICRO 100 From patchwork Wed Oct 13 04:49:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 31091 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp5559582ioa; Tue, 12 Oct 2021 21:50:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9bNYxh8wqfXnhxEr92eK3edw2gJEeWt6lIh+Wz+FEUnm8iRvzQsfwGwVASu/ZnNSMoH7T X-Received: by 2002:a05:6402:11cf:: with SMTP id j15mr6182498edw.232.1634100622126; Tue, 12 Oct 2021 21:50:22 -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 h1si17923743edk.285.2021.10.12.21.50.21; Tue, 12 Oct 2021 21:50:22 -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=@hotmail.com header.s=selector1 header.b=tfNtsmGh; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 593DE68A8F5; Wed, 13 Oct 2021 07:50:12 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2082.outbound.protection.outlook.com [40.92.21.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CDBDD68803D for ; Wed, 13 Oct 2021 07:50:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BgT/Wr4etRC9+6+4oSsTNI7ceCAr1E2N1NeSRomDRqGAV8oMRR3IyNHDyfodD7zULzQhIYoO0LK4cNZLgcFUJf9VgmzGq3oBiQVLxxcBLihm6FVb+WMqEAOvZ3rDS0X3a+l+lZtryDDZTIAew9BW2VYMiPH2vVSgCGUfqHUPKdsMwuJoUktx5Y9gH3ftY8en0dDM6DxL0RID/BStAfaVzUEKphRxaLWSz/glDR7wgFp701DepspExe4kUXAq7Ehehf6xfqQ/G4jI1A67GyxRXT9RYTkbFc4AI2bhSYNx+RAjDlxhd/H7oN4LvuqPSN9LK0F6JJ7TQ9zAb+UibwmaPg== 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=ADUYUzvTJlUhyRSWpOl/t7DiPwP3a8csnclRYHNUpCg=; b=mDeXIVr7yI/+TivXV3rAxLcAvS+/XRsY7YRQPSw6NacGURhDDBBVSfakcgS1Clo6/tYU2FjdfMb378hX6cFJsLQmAJ5X5R6Z1iPRLamyHINrpXccnyY/E9DoZdR0PKlrAhs6Wvc/3zFZLP2st1oI34SzeK97kdigYTXeMZD1jJVL/4ud+spNthH6pFnHyjbzS1X7+6FG0MNlR2ntbZEWKvvNoHmYFJqctGqjnpFc4Nd7WC1/4UPva2kpxrOLsM0A7BPlgWKBNiUxCUQPxyJDbKB+ujDAOeJB7MYLvx0mR4tTXPAtQCtROQyrQ15JOyQ6or2wVo3SleWiHLm/GpmfWw== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ADUYUzvTJlUhyRSWpOl/t7DiPwP3a8csnclRYHNUpCg=; b=tfNtsmGh93APJ3q0RMqMaLhSUXC+RT7deZyvYjJ8XtD3g0PQ0y0y6y+D7HDnRMdHqCbVXaYXPOJlEnxds+kuSfoavmFn7YExVT4jepp1aLTly5RWN4JKRLJ3CqWrR7axZXttZLdeyDg+CttZRoLczaCy9xhh6XDEHJXt3act91a9NXXvybhNsHQ4s1d65tcNN+7ol6DKoPqMo2jdMIapIaS+JZ+f1EtOwo88jM5zVoSAW3Gucwm/+5oGwn/dF3YSUgvn1W8KwQMEM5qjFFAMkUODqJlRXOsuQ0ZGZRn42fuu+PxcA4pL1/LRpMavPuc0u5llhEEJZwb6nm7b1GtpWw== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6205.namprd04.prod.outlook.com (2603:10b6:208:d5::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Wed, 13 Oct 2021 04:49:58 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 04:49:57 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 2/5] fftools/cmdutils: Print filter input/output formats in help output Thread-Index: AQHXv+3FjFYbef1VDEW/18uDaAl0Jw== Date: Wed, 13 Oct 2021 04:49:57 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [tqs80TBnBAKVMI6s221HJzmtWt/hiMz6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 049aa640-5df2-4fb2-d466-08d98e04e85f x-ms-traffictypediagnostic: MN2PR04MB6205: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2UW/cG5yHbFDn8u6+W4VCBkBfim7a2OwE4eiKM+33xd9RJ0XgydsbvFTd7uF+3rOs15NSiNTb0A8uB/fhPRcKN4g2fJc6g4ong/czLIEZKOu/1oiMLR6uZ9TeoU8pAGWJ++IunAzYNizQ0lVNr4B49MbF66d1xtkK4NZK1gkGS2y3D2Jmg3Hc83XHG2oB6BWyjJ/Ge7lxKY4W1NElbS9Nle/rGRD0CWzc+utTMG7wyplIPEkp/xxB5S8OyQOvIkEKww8TJpccK2xFOUXQzBIuITxnxB172sWPwouXHl5hi9Jmfzd+WOpWeJsuLel17RbEFH6TgApNWlkpE9EiNOEmkP+GvEzReGxU5w2QJO9qcjQQi6LENP+dtaXrpabQomVo63ZVw76QiM5U9vHdIiTPQLGNX3gQjFK5uIso/9q51E3CQ4G1ADU+kvw0RPgYhgk x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: FJBBzKd/AQPoze6z48NIKiN8QEgKfCB0bY/rPPj4Bv0RR8zZ9xJlsayFkQ2YTaBZnVuCazqBaSFPbNwQSP71r5RLyR3kj0mv318NO5g5+014Hq+bMntNtA5BAlCSJKOdsXHUWXF/GQH6hVh37Sh80Q== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 049aa640-5df2-4fb2-d466-08d98e04e85f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 04:49:57.8524 (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: MN2PR04MB6205 Subject: [FFmpeg-devel] [PATCH 2/5] fftools/cmdutils: Print filter input/output formats in help output 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 2oU7iMkPo5zG Exmaple command: ffmpeg -h filters=overlay Output: Filter overlay Overlay a video source on top of the input. slice threading supported Inputs: #0: main (video) [yuv420p, yuvj420p, yuva420p, nv12, nv21] #1: overlay (video) [yuva420p] Outputs: #0: default (video) [yuv420p, yuvj420p, yuva420p, nv12, nv21] overlay AVOptions: x [...] Signed-off-by: softworkz --- fftools/cmdutils.c | 89 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 5 deletions(-) diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index aa706c33ab..a112998574 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -33,6 +33,7 @@ #include "compat/va_copy.h" #include "libavformat/avformat.h" #include "libavfilter/avfilter.h" +#include #include "libavdevice/avdevice.h" #include "libswscale/swscale.h" #include "libswresample/swresample.h" @@ -1922,11 +1923,38 @@ static void show_help_muxer(const char *name) } #if CONFIG_AVFILTER +static void print_link_formats(enum AVMediaType mediaType, AVFilterFormats* formats) +{ + if (formats == NULL) + return; + + printf(" ["); + + for (unsigned i = 0; i < formats->nb_formats; i++) { + if (formats->formats[i] >= 0) { + if (i > 0) + printf(", "); + if (mediaType == AVMEDIA_TYPE_VIDEO) { + printf("%s", av_get_pix_fmt_name(formats->formats[i])); + } else if (mediaType == AVMEDIA_TYPE_AUDIO) { + printf("%s", av_get_sample_fmt_name(formats->formats[i])); + // TODO: Uncomment once subtitle filtering is added + ////} else if (mediaType == AVMEDIA_TYPE_SUBTITLE) { + //// printf("%s", av_get_subtitle_fmt_name(formats->formats[i])); + } + } + } + + printf("]"); +} + static void show_help_filter(const char *name) { #if CONFIG_AVFILTER const AVFilter *f = avfilter_get_by_name(name); - int i, count; + unsigned i, count; + int got_formats = 0; + AVFilterContext *filter_context; if (!name) { av_log(NULL, AV_LOG_ERROR, "No filter name specified.\n"); @@ -1943,12 +1971,50 @@ static void show_help_filter(const char *name) if (f->flags & AVFILTER_FLAG_SLICE_THREADS) printf(" slice threading supported\n"); + filter_context = avfilter_alloc(f, "filter"); + if (!filter_context) { + av_log(NULL, AV_LOG_ERROR, "Failed create filtercontext\n"); + return; + } + + if (filter_context->nb_outputs == 0) { + filter_context->outputs= av_calloc(1, sizeof(AVFilterLink*)); + filter_context->outputs[0] = (AVFilterLink *)av_mallocz(sizeof(AVFilterLink)); + } + + if (filter_context->nb_inputs == 0) { + filter_context->inputs= av_calloc(1, sizeof(AVFilterLink*)); + filter_context->inputs[0] = (AVFilterLink *)av_mallocz(sizeof(AVFilterLink)); + } + + for (i = 0; i < filter_context->nb_inputs; i++) + filter_context->inputs[i] = (AVFilterLink *)av_mallocz(sizeof(AVFilterLink)); + + for (i = 0; i < filter_context->nb_outputs; i++) + filter_context->outputs[i] = (AVFilterLink *)av_mallocz(sizeof(AVFilterLink)); + + if (filter_context->filter->nb_inputs) + filter_context->inputs[0]->type = avfilter_pad_get_type(f->inputs, 0); + + if (filter_context->filter->nb_outputs) + filter_context->outputs[0]->type = avfilter_pad_get_type(f->outputs, 0); + + if (filter_context->nb_inputs > 0 || filter_context->nb_outputs > 0) + got_formats = !avfilter_query_formats(filter_context); + printf(" Inputs:\n"); count = avfilter_filter_pad_count(f, 0); for (i = 0; i < count; i++) { - printf(" #%d: %s (%s)\n", i, avfilter_pad_get_name(f->inputs, i), - media_type_string(avfilter_pad_get_type(f->inputs, i))); + const enum AVMediaType media_type = avfilter_pad_get_type(f->inputs, i); + + printf(" #%d: %s (%s)", i, avfilter_pad_get_name(f->inputs, i), + media_type_string(media_type)); + + if (got_formats && (i < filter_context->nb_inputs)) + print_link_formats(media_type, filter_context->inputs[i]->outcfg.formats); + printf("\n"); } + if (f->flags & AVFILTER_FLAG_DYNAMIC_INPUTS) printf(" dynamic (depending on the options)\n"); else if (!count) @@ -1957,8 +2023,13 @@ static void show_help_filter(const char *name) printf(" Outputs:\n"); count = avfilter_filter_pad_count(f, 1); for (i = 0; i < count; i++) { - printf(" #%d: %s (%s)\n", i, avfilter_pad_get_name(f->outputs, i), - media_type_string(avfilter_pad_get_type(f->outputs, i))); + const enum AVMediaType media_type = avfilter_pad_get_type(f->outputs, i); + printf(" #%d: %s (%s)", i, avfilter_pad_get_name(f->outputs, i), + media_type_string(media_type)); + + if (got_formats && i < filter_context->nb_outputs) + print_link_formats(media_type, filter_context->outputs[i]->incfg.formats); + printf("\n"); } if (f->flags & AVFILTER_FLAG_DYNAMIC_OUTPUTS) printf(" dynamic (depending on the options)\n"); @@ -1970,6 +2041,14 @@ static void show_help_filter(const char *name) AV_OPT_FLAG_AUDIO_PARAM); if (f->flags & AVFILTER_FLAG_SUPPORT_TIMELINE) printf("This filter has support for timeline through the 'enable' option.\n"); + + if (filter_context->nb_inputs == 0) + filter_context->nb_inputs = 1; + if (filter_context->nb_outputs == 0) + filter_context->nb_outputs = 1; + + avfilter_free(filter_context); + #else av_log(NULL, AV_LOG_ERROR, "Build without libavfilter; " "can not to satisfy request\n"); From patchwork Wed Oct 13 04:49:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 31090 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp5559658ioa; Tue, 12 Oct 2021 21:50:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxmkwMWi4Q7widAZQXRmnVdvgsxVAYmumhzqIaHB7OpzqkXIWQzJFj3gniYPcezxMsXg9bW X-Received: by 2002:a05:6402:4244:: with SMTP id g4mr6166896edb.158.1634100633478; Tue, 12 Oct 2021 21:50:33 -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 y16si19443515ejp.320.2021.10.12.21.50.33; Tue, 12 Oct 2021 21:50:33 -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=@hotmail.com header.s=selector1 header.b=a+BEJD7O; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A4AF68A921; Wed, 13 Oct 2021 07:50:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2082.outbound.protection.outlook.com [40.92.21.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 180C968A906 for ; Wed, 13 Oct 2021 07:50:10 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bpVAV6KsKS5BwmwZ7ggEVOprFtoRAAPm72esUSbobt7elq6ZSItfjju0ukLMUJ7lFkWquPUC1ic8MHUDfITqDbXn9ffvKSlP0pjgLNu8DfWI6zrVJmOTGNgyb7v+IMY608QLY5HdJCaw7Ynrj9GKrg+3l9hc8sSiggR8jJh8f9DKUvPHXSUtJfDICphaF5wuBh2Eo4yiVtieOezeh6nypZVj4WzScSfEZDQHli2poGuYyE4DFB4suxSxk8c0O8IjLFH+UpHaXEhOnuPHJJHhBqIKN5LzdYWFFjFfsZC33fDf0n9kFZJ1p5H3hkj9YpvalgQR66FPh8yBS2Oz0A2c8Q== 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=c5GQqnD2dR8DT5VILXifCpBbGEJJwmfUuRlsHd4DM0Y=; b=T4CelVE8e7AC7Sas8sPFpLokvopthWwG9cotwfO2n14WD7cWMgIAm1FVypLX0/FhFP6WaD9DIEyhGY6EMGNUkIb8ueyJmprujmfAL39aJr0/KwklgtcvGSaHHxNtvhT+VrGY4+6lBxOlH38bVTRA3OOhgnPYhTgDfXWlvxuSH+1xYWLN8KJzYA4tgzKahPdKccBcwZMfKFLddKfUBYmOb3i/96+fIgryLvWvOxDF+2bA6/NMfvHJM84DZXuDDz1QUhBm+bkt4yle+YjmgkbSyEPB0+sbwBveK/gsC3rpmFZ3drjDkMu6A8XUUuuZDVzFpXvXsRATZr80eLdP/h/4Xg== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c5GQqnD2dR8DT5VILXifCpBbGEJJwmfUuRlsHd4DM0Y=; b=a+BEJD7ONVzXukq3CcNy7luzEmMl/o3hlKU+66tiF2stJMLga3AG02ZxPmlhZHAOrBuKqPhcE+omw9RDvl4ZEDpUjqeU1FuqHpwWY3n5S44LfS1oybaYHwEVTRnPE9rn+2wJhphMyluuuk2oLYu//x5CV4cgHoopUbVSwr4t/1LlxDP+gSzuyqhTQNS7Cd/WdaplIslrhzF/F03F/+AmZlBuuFeR6lcz5z83n6YOrpCe2ZhepPJ2Zwmkt5uVd/K3YN6w17f9s+5KmlOkQ7FXSeJRb9YP2xJPaUO1UStkCWFTCF50jyo1E1feDQndyuS4EqkE5r8eCzFKfCg31mumlQ== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6205.namprd04.prod.outlook.com (2603:10b6:208:d5::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Wed, 13 Oct 2021 04:49:59 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 04:49:59 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 3/5] avfilter/aphasemeter: add null check Thread-Index: AQHXv+3G/18Or3Vy1EC8vDrXleghNA== Date: Wed, 13 Oct 2021 04:49:59 +0000 Message-ID: References: <821af2cdf9ee3d4c63bb3e1e1737a20391d61714.1634100527.git.softworkz@hotmail.com> In-Reply-To: <821af2cdf9ee3d4c63bb3e1e1737a20391d61714.1634100527.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [k66QyQWhY/DQqiqD8VFzCLIZlmh7LV9N] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f6d2c322-21d7-4e4d-e474-08d98e04e96f x-ms-traffictypediagnostic: MN2PR04MB6205: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VOfLo2Uk3mjDIJLTlyu7Y5mF0gseGJU0zd/X08oh0Wld3RndWF38HdTOLpHLsmVS43OmR9Rs5pgm0cF4zokLlwD9Pek5FcuJANHNat6QmNgBtbwM3HkSwDYHF14AIl81Rbr8Y2GJ+lpXW19t/U55fNFV+Umjpn1zMWoHL9NYqgSWeQkw10Y+8vOuB2t54z9Uhp9SzCX+FIDhASUSIk80ThpEycR3S4QuF03rXRy4Xl8/sRC4yR+K3Q/JzGITqla55pdnB+X5lE839/7g+hJS9xLG0DazKoTftP80U46qx9GSgI5dqK7ME9P3bG2iYL5E03QYJCMKTFinhVkv3fF1f58JDBLqp+pLeJaQqOK6hwaKAYML1NzytgLXlGBl7kCyPDuhO8aetFi74BSUeXmcrJXuekzWRg1bdjtfpIAI4u6a2xMGqQ0kYUAy8GL5heIg x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: so0fTddCSImb5XEcM9BINuuh/nvJwFlgAUziloQa2OLid23R4M5iKpilJdYEDPuplH3B/YRhC1F01kX5Z9rrJbSx35BZ+mX3kegaTGM2/oc1g73eC0qFbjUKPEPevWJ6g5CZW0ochgW++qPPnqFy8A== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: f6d2c322-21d7-4e4d-e474-08d98e04e96f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 04:49:59.6513 (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: MN2PR04MB6205 Subject: [FFmpeg-devel] [PATCH 3/5] avfilter/aphasemeter: add null check 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: H1dhZ786wXGR Signed-off-by: softworkz --- libavfilter/avf_aphasemeter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/avf_aphasemeter.c b/libavfilter/avf_aphasemeter.c index d9302cf867..eca8751258 100644 --- a/libavfilter/avf_aphasemeter.c +++ b/libavfilter/avf_aphasemeter.c @@ -111,7 +111,7 @@ static int query_formats(AVFilterContext *ctx) (ret = ff_formats_ref(formats, &outlink->incfg.samplerates)) < 0) return ret; - if (s->do_video) { + if (s->do_video && ctx->nb_outputs >= 2) { AVFilterLink *outlink = ctx->outputs[1]; formats = ff_make_format_list(pix_fmts); From patchwork Wed Oct 13 04:50:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 31093 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp5559763ioa; Tue, 12 Oct 2021 21:50:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw9VoGQ/PNJ6JKrmEQVF9Yss5BREfZSv7hD1FpHfLlHvneA4Ip0cf3vI7z3GjcW3iufqhSK X-Received: by 2002:a05:6402:3489:: with SMTP id v9mr6370919edc.130.1634100644349; Tue, 12 Oct 2021 21:50:44 -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 k9si24603712eje.548.2021.10.12.21.50.44; Tue, 12 Oct 2021 21:50:44 -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=@hotmail.com header.s=selector1 header.b=sn2QOJyy; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5932068A940; Wed, 13 Oct 2021 07:50:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2082.outbound.protection.outlook.com [40.92.21.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 56EC468A912 for ; Wed, 13 Oct 2021 07:50:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AKS0mKPCRSRuaS5Y3pOovpChGyQK/7mwhgHvePednEHlh/qPfHs1xMUOXelKdsFZhmkokS+KKvPB++cv8RusKXK5xhP0/onajqQJgRYggQXVY/P9NF89sx6pWpg4mPH4PX9YBmvu9pSMsYe0MDVQXqO6ohQHeOt6neWI7g/9IluBdYw6wnCx0rEi5fDHdO0mcMXPaFUdITfDckcdULppOht7kHIK7VBhJ3Fc3xyffhsjasjO13Oh41LF1aFqhfPyrgWt10Vzw0Nh3VNovNG8muCmXG0YRFobPQsqDZusUrxOhV+tnaAbc7p6C6IpehqerXE6YzIbYc5TBUhKBnO6Xg== 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=wFFJrN54E6EeRwYN7wVviIne5x+nHynKI4ZIlGanmSs=; b=UCybbi9m0ipWUUUTcW3w+xQd4/gGfyMTDluTk3iUAWdIbkNB0zKB1viYTDjFoIdyvT2FuMf03n6X9yItswp9fP234NM0rWNDM0QzSWgIszGm7ApzZ6t2viYvt54wfPfmva3Rh7sZTh/VlZ77eSR+IoSjZWc+2vy2172OArWhYBRQnpniH13IdhH9+FMc56YMEImZtue0i7mi4y9NzetWfDPaP+ZW30VOTcZSpxcrzrYV2+Ec1CrU4sqnFQXVPmSFhl2QirpB8xnZ7BRQKiYHwn5QxLd+vpx1bngXWn9SygUsZ1E7cbliax8oYqQN/mxjrHzfcuCzlB4EZwzUafcIbQ== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wFFJrN54E6EeRwYN7wVviIne5x+nHynKI4ZIlGanmSs=; b=sn2QOJyyfM4r2gdaIXTG+lOXpgKQmxGSvTuvjd26zGLFuTBud8xLJ+KKNgILNOvzEU9ldbh/3OBBAnpM31cDQBah+XRF9NTFSGXZVdNtOKl+jt7IWyUvFH3QDt5sEjEq9Qmvz1f4ZpxWcYWgzyboERYJzJm0cHkGq6JCTFNqou9zqQj19EPFOZy/hsXR8j9uVc6NIGctyP27BaFjImj8BX8og8m+/BGk6gAVXoNDSfEn0C8c4YJs3nfaGvOx/pcfBEmwYOt2o2g7ySmWndTZRPMgabw0GiAbEKs7cNydlYfh1YtCVFJAWKrpI6XAlOiZ1XYTD8HLzvotjFwtys/Iog== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6205.namprd04.prod.outlook.com (2603:10b6:208:d5::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Wed, 13 Oct 2021 04:50:01 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 04:50:01 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 4/5] avfilter/ocr: add null check Thread-Index: AQHXv+3IBb4F+rKzM0m59FoN6xC4VA== Date: Wed, 13 Oct 2021 04:50:01 +0000 Message-ID: References: <821af2cdf9ee3d4c63bb3e1e1737a20391d61714.1634100527.git.softworkz@hotmail.com> <3b427b75053ae5970d9957e911f2b725688b7330.1634100527.git.softworkz@hotmail.com> In-Reply-To: <3b427b75053ae5970d9957e911f2b725688b7330.1634100527.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [gVEP8lvDNFUodyouM/PRwuuVZ0Mi9Dna] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f7ded800-83f2-49d5-69b0-08d98e04ea80 x-ms-traffictypediagnostic: MN2PR04MB6205: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R1kwvKTWDRtSNg3D17VDBg87bnY1ezhnCM25XWWJvlw2GCfGXGubOhKru8YQhvycwDDH0YbudJDsqk5C6kKXcBh92rVof1lr7v/44kjmPvhMt3N7WqNiK+0GG+rFAEjvKmpKe60SPxMcgmKrYGJkmXU610K32jo9cdVRZNQLqiEarsVPCIbY/gdvC0zOjqWLsrnbmTRSWoR41xEATg7s6qeVJuur6gkAmV1PsbBP+P2LOqgV8FvmXwKrnV4xGT3DUTbk0JipKXiEPWCXq+goR/A1wTngPIJibY5AcOxJSF85zZcVS0FCde1WCRCQmMEDzlhkSmjCXOZSlJRvb0T55//aEk5oA6fXSMnDSQJOpWQYFYoZug8ZEHQZkxNyDbU1hGFVRDum8GjMNGvKxmKW2qDOgHHLgDsL6VDslgo6yQeNoi+m82bpeXfNFinyh35X x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: qqVqyrS5nqGbrs1qdVKclyDbt7RjmVnnER8u1nS6eeghVuzPjp4gniGRMQouogYtanqd3svgAPJ1v0hmLPlCsn3uiJKzjcAqdmcbqHIsRvedA2y0RIDl+si3ulvJHWsV3RB+gGdz4i/j7k5Uf/lFnQ== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: f7ded800-83f2-49d5-69b0-08d98e04ea80 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 04:50:01.4583 (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: MN2PR04MB6205 Subject: [FFmpeg-devel] [PATCH 4/5] avfilter/ocr: add null check 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sMcaUsksqLnr Signed-off-by: softworkz --- libavfilter/vf_ocr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_ocr.c b/libavfilter/vf_ocr.c index f6249e61fc..a8be529033 100644 --- a/libavfilter/vf_ocr.c +++ b/libavfilter/vf_ocr.c @@ -115,8 +115,10 @@ static av_cold void uninit(AVFilterContext *ctx) { OCRContext *s = ctx->priv; - TessBaseAPIEnd(s->tess); - TessBaseAPIDelete(s->tess); + if (s->tess) { + TessBaseAPIEnd(s->tess); + TessBaseAPIDelete(s->tess); + } } AVFILTER_DEFINE_CLASS(ocr); From patchwork Wed Oct 13 04:50:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 31092 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp5559858ioa; Tue, 12 Oct 2021 21:50:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyCTeZC5bACK7uN861R1cz0uxiZy93rNXKrgCwroN3NzzVF4LgkoAuNBDDStD46JT6HPkAc X-Received: by 2002:a17:906:b183:: with SMTP id w3mr37755089ejy.394.1634100655510; Tue, 12 Oct 2021 21:50:55 -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 n2si6034559edw.448.2021.10.12.21.50.55; Tue, 12 Oct 2021 21:50:55 -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=@hotmail.com header.s=selector1 header.b=J8RWTMJo; 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=NONE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4EE9568A919; Wed, 13 Oct 2021 07:50:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2082.outbound.protection.outlook.com [40.92.21.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 98CB668A947 for ; Wed, 13 Oct 2021 07:50:20 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VllZRSVkYu4eOsXs26IYzEqeI+A7zDX02zf+GMXb92EDRtVroadHGZa+YOaASQtHy4RTDdYKT5BhrWhHbIiC11qObzGh1gY64efCNRr96lYyMpkdncAy3Gs+35+8BEMmoqqqFYR1aqKstCjwMQX0GZGdCS094qgI1sBuqyJpeBCF9sW//t0LPXPGLcC2imKLBtjSMKiCPFzPTTf2CHcTcK9PxrZ7tfZ3Xfv9H5A8lIsbF4JTOYmy/YMxXfi0C3//tGvifJIl3HCIXXxgjPIgIHtrACMQ+DEQb3iU0AzEfGW/ej6X1HvNXDPFsxPnQnx82DSqsJjjC2POiaZDIs/keg== 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=+lOZBdf1w5FymNYymYZXxlEq9hdNL/CMZrn84uByxT8=; b=ZPUVSsaKHxTJa712Gxm7GH2x9+azvN10UH7Aa0kW3s0vgOzIXS7Fx78/9lWeLeeNnm2bE32Ycj50jJFW4nYsBtwK5fyAz2yVOEzt/bQwPxKcBV8uZCnz+z0TQKIPMR/Nv+K65qCn5a4WGGwxk3yKbtBXN/I/91CSVUflrTXUkIqhKorVfCGXR2iYRSUOekz+xf6goBw3ezBJ0iQduZ9BJ1cQJZ1+FPaDlmqa9QGSpTM6UloVOzUi4mxQTKjG5enMajB9N5NQml0iox28/6PFf+L+5UNHt3E09WrLCZPfRlZASlRxfSiG1o4Y3UZKnuKT/uv3OuvUqH1V0iQyH3rMqw== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+lOZBdf1w5FymNYymYZXxlEq9hdNL/CMZrn84uByxT8=; b=J8RWTMJoNC5O5RqjQZIirqJmfVIXRBBC+Q60nN9QF0VxD9lUPq6wUvKvGpO6uNgjeyk/y93TPpSTraaAbc7PICcI5nxHlqWxDfJ2NgTkRV5odJnY9M3gbshqfVGR8uDZf2KqbNmQYuj+QaAO5jeCVfE5QwBsiZ0RkM4RH5EH7Fm+1RP+dGw2JbPGPEUdNxYGr0jwi2Utxn5AiMu4T3GroWpgoG6+TW0QkY/JRplj7OSMcYIv+Tc6JS//4uDPLvVKxCRPBiQACg5tzEml3QacPZPg7+lnZV+PAV/aO/VkajEm4oZigOHPOVevGj5iL0K43urd26oZuDyUzizh2TRUmQ== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6205.namprd04.prod.outlook.com (2603:10b6:208:d5::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Wed, 13 Oct 2021 04:50:03 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 04:50:03 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 5/5] avfilter/movie: add null check Thread-Index: AQHXv+3JnTgzekGmf0KWwzak/eMbWQ== Date: Wed, 13 Oct 2021 04:50:03 +0000 Message-ID: References: <821af2cdf9ee3d4c63bb3e1e1737a20391d61714.1634100527.git.softworkz@hotmail.com> <3b427b75053ae5970d9957e911f2b725688b7330.1634100527.git.softworkz@hotmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [o9wQXbKDbbkl2Y4NBooIxDO3yhdLRv2k] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0a5cafe3-4bd6-4c89-b9d5-08d98e04eb9f x-ms-traffictypediagnostic: MN2PR04MB6205: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VGjw3H20/8MGJp7tXKe6po/0R92LhMSeykk6VZlZabycnm3xhZ5gCB4Ebt5brPQNsUInZ9kJY4pmRX7P27V+xKhiEKrEzo7sTh0M4fVmZiXpjLXxVmGazT4AgJmlUOJNdH5OPPvEKARfTjpRozGCLARW5uU0KMBloF6nLH+5O8TKUNJevR9d6Lpln/DXJ0aP3DMpnktfxgx2FpgxnGO0rcfhlEKoVjyNITnVRw0y2b/27JtfnwHRU1CdLN7+ef221g4PqpqyZYoHyXWbTez+OuIfq3nXY4O/PzZFdlyaETRptVYBzDc2ULM2dFBmENW+fw45Mjmf8Nvje7prU4FSNz1rr+wZCPgd2B+ajLVTpvLjEfy257KAqGYmax1YBLSYFm/SiREybdZQirxW5+HZ18+5MYp3N4nrlLac85AGAQ6Xca0MWIFLVaKj6AMqz1Xy x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: QSI4Ff0BvrV+C0TNqgvhpiGWjFftPHuASNnYIKVZeUdLySLE8oAYwskXstfVivNIOF5vjUToxEUXscbc/rF/u0xBzGGeXPV8pawXIbRUczGrxsKyrYQR8f+X1Y9ClMqCLyd32NR6sqEg84/b/o5WpQ== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 0a5cafe3-4bd6-4c89-b9d5-08d98e04eb9f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 04:50:03.3143 (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: MN2PR04MB6205 Subject: [FFmpeg-devel] [PATCH 5/5] avfilter/movie: add null check 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: X6eE0LNu9Y6x Signed-off-by: softworkz --- libavfilter/src_movie.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c index 573f363705..2002e176b3 100644 --- a/libavfilter/src_movie.c +++ b/libavfilter/src_movie.c @@ -332,7 +332,7 @@ static av_cold void movie_uninit(AVFilterContext *ctx) int i; for (i = 0; i < ctx->nb_outputs; i++) { - if (movie->st[i].st) + if (movie->st && movie->st[i].st) avcodec_free_context(&movie->st[i].codec_ctx); } av_freep(&movie->st);