From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 616FA4D3E9 for ; Fri, 21 Feb 2025 11:26:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4519868C77C; Fri, 21 Feb 2025 13:26:04 +0200 (EET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2011.outbound.protection.outlook.com [40.92.19.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DDE468C5F6 for ; Fri, 21 Feb 2025 13:25:57 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lH39Y6uBZA/HQCSsoP+Ns+Pau6GCHx9l0PCvtbLZykywRLjxeYfxKzTzr5sghNHgnP+Ni8Sw4o3ehScU8TSj3DtSuIsidzuyjuTrfeS9EAvbH+anDxu04i4XvTdveEHWLVeehpWnEN6nr/2m+BjprVG2VfHjoz9uvB2TzzCBme6TzvHGxvBhIYQC3Q375mqSeGu8K7KolzQGmfGazzZnssNtfRPf99m6PdGZN6radjUIXVznnBDYG0PMNS0NxgF5SSpI/N1yqRTAH055PU/8JsCS/kIxRS705Hq4pdhXFpdiAIiXxwILaniu9uyNXvar+XyA7OlObgmphUT2tJCefQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Eglw9NYsqJkdsO5eeFXYHZC0zBtdNLLgbiz4wWgW5uc=; b=slOGmazHLxuj205Vv26sbCN7CqHJMwHIhcg4LePeKfvyCt17K/vpkCxVjlyGlfCKopNYuJtd8MoEFOoxvRFa2p8bx5OHiLDxNpHodsdgaI4f5ymOPHHSKcITxqUb6CqJKwlUMOcrXk5Qoq5B3oZ9JGWjX15/plL2ud+tXEYvQB/gKpVM0Qxt3HJho6YlGuQXH3KrVDKWP+ptDuY26pF/u5dHAl6AcO5+C2lucUfZodwlRfjVg+qVfaCwNjmN8cYAJQkJ2K56gX0VmAoc35OMiYo/Nnu1+NiZQjoCbT0gwfyGLO+tELhTcAuFKZlD4G5fSEJM6xFzuPgCbUaXGYaVaA== 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=Eglw9NYsqJkdsO5eeFXYHZC0zBtdNLLgbiz4wWgW5uc=; b=o5BRQMsMZzqBe+ISJ90uMDNXNUDlPrlFAU2Swn0TbQHcBGFLWB2XEclkMIjN8yMhChaATDgcLj+jZ9Wlyej5fNsGjOYtrUr7jhKK3KgIZNf8Qfv8QTvYcybthlsxdeX51bunwaJSXALF81+xFsuLnWFrt2oqTtX01MzpKqQTqxbE28UY4Gv4xdN4EggLrgcjwg02GXSeH9dMtrMrRUbHWv42VfPmbUjulScVja0mcUxf0gSzIgwynqqRBHuvNUSHVGJwq0XtsEH3++pW3NSATUW+JwnKtV7UtP+cYQTN5cIusBO4ipe4HTc3z1SlUUyYb5DTsdhSXUSvXmrjGLKQIg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BL3P223MB0019.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:34e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.18; Fri, 21 Feb 2025 11:25:54 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%7]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 11:25:54 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 2/3] fftools/ffmpeg_graphprint: Add options for filtergraph printing Thread-Index: AQHbgrT8d1+trcFiaU+SbAzXkjfWmbNRftyAgAAAXYCAAB33AIAAA+rg Date: Fri, 21 Feb 2025 11:25:54 +0000 Message-ID: References: <0750b971f9ae0fc38917e0a3b3ccb7ad2e8cd221.1739959172.git.ffmpegagent@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|BL3P223MB0019:EE_ x-ms-office365-filtering-correlation-id: a96b2679-25ea-44b6-fbce-08dd526a8124 x-microsoft-antispam: BCL:0; ARA:14566002|461199028|8062599003|7092599003|8060799006|19110799003|15080799006|440099028|3412199025|12091999003|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?qadO8V8ccK7MMwidrQBi2pZKisfpXS5RofTiMH1RGN28SKwtQe9kSbCY1vrN?= =?us-ascii?Q?QA8IWAEmtOt3HLXKi0SeaUhSc8Tk0WEm29mI1PCiKmQn0FNxTbvuIn149EzV?= =?us-ascii?Q?IMYXX6vkW/D5B+mSldZUVNjS47OB7PqmgGf8V6rbwchsGBFgY8rGss3IoaOp?= =?us-ascii?Q?4THtYBrcXit+Gzkk2y2gZhUc3xxdWHpL4KuAd4qLSpSKLc4YKbBYA6y+wEoT?= =?us-ascii?Q?KbhmiisihVPaiU70y3APqVW46Af52Adu9Z0QdXNx6eebBXpaCLnYNjtNW4sP?= =?us-ascii?Q?nwcNhbYJlgU2tdwrm79uxmUQ7eHWt5XEFQgFDeUa3FlvfUnvue0IKMyA1M6I?= =?us-ascii?Q?qsoYKi5mpOx0taAS05oqt277pQ44daI8/ymKhA1i7KKr4NqK6g/40TN5vp7K?= =?us-ascii?Q?KHycBQx8bM7QlVMh1tGJZ2OfMokU6iWBVfKe4B9hCWnxKxrjHDyiMTvDfrKR?= =?us-ascii?Q?JurTjpzsImtvAH02MI7kKKAoK3bz0tRgkGaRjEOhaXUo6oeKxJEBQR2gQnIb?= =?us-ascii?Q?+2JEPVMB9DPkj4BuEpScLkr+s9MH2huTw/27wH6OCMS2BS7goPTvFEp09Ii2?= =?us-ascii?Q?lt/r6e/gxawtHn5mFsEC9a33qSq9+cVrHfq4w52VcJcCO4TxZ1Nhj9dgCnZI?= =?us-ascii?Q?0C/IXkO+F/cC7+T144WNUckXTJuCILX6Bn6ogj7cXVjj/7dMOWmtN2ZAgAHy?= =?us-ascii?Q?dxRrdiodgoom239DNBpemytMsBUepulE3ELsWnwI2Z/dJlP02G6r5Kp7g/4/?= =?us-ascii?Q?fAKpQgwxngx3AwEhZJ9ZREr6sIBTK4VOopUahS8+H6/NLW4tgLllp0i6Ch4W?= =?us-ascii?Q?I6AupmdF8SbGf3iDpq3pRCvKWXgYeJZGUpvMSVttMidehxFqekuztkAq7u6I?= =?us-ascii?Q?1Soy59NJh8GGIzYH1bBIxKfx8knKeN41SySahL26Vx1f4oyLxiNbbpnl7iGC?= =?us-ascii?Q?z7clmUP1sexJ2q8TE8mkrWAQRcbKokQFypDHocoqsjgS1wuJjkMKNbVVLFCD?= =?us-ascii?Q?UqV2AxXw2qzI9DbYcd4sSI6zvGfX6PLpZLekwz7zW7AWNSiRXq0yr9/httyY?= =?us-ascii?Q?o8KhpFPS+4SZxNotD7r/aIMWdNdQBHSAlJq9UEav2zl8hL2kiQI=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?WnTSmOLbu0zvwKJqM1uWtFWLE9pjDeYUQl/qQsHaxmIzvFENL4NClJcV/qYZ?= =?us-ascii?Q?MkqdelGtrzPDxZsD3mmqviwUmLtyBdHIVy05b9EfPJRexXwXs5gEFX9Bj5G0?= =?us-ascii?Q?VtDgknWpWVExWTncap5xZSqpUft3m9gR3vqzbDr5JpCNj2xu42LzoPQAdO0L?= =?us-ascii?Q?tl0La5Lvq1Mz00pZ4uFP5WjxkGYrRnm0THE+IZRwFmdyidJKVojqGRh7GwGQ?= =?us-ascii?Q?E72eV3cuBz2WRs78jMBtGwmUCWAFaSwHL4rX/lewsvB64ZVf1AsBF+hbPV5Z?= =?us-ascii?Q?ERg88iEug191JcAYzFo2uxWZ1toUZPYBInVYdqvG5mYhLijXn4LtnDfX5OVo?= =?us-ascii?Q?2oBGdQMQTeUPVi2JyDgzr2VwMBpAZLxtXHEJ39t29AZed0aRtJJQIAvmxiMW?= =?us-ascii?Q?8On1SNT6h6kFKeRwXeHExOntVVv5/+qV3HjbUr4spXqTCop5GCtPAV6A9EBM?= =?us-ascii?Q?R349KYMI9Pd2iB4gSkUWRc74isOGH7/DxBFma5PZKN+O8yN+ddvqboApB+pb?= =?us-ascii?Q?sEeRAm3/JRxZAS9hZszJUaIkXaSw78anSVZdH3BsPII5WDvxGzBqDKnQV5g0?= =?us-ascii?Q?NOmSLEW0dOpKBMRKR/7JoUknBAxgo0kyzezULQq4vXLKm20+WdpBIyxvjX5c?= =?us-ascii?Q?Ew+r+4Ktw4Mm7Kodom6iOFIFO1AiZJJPIJRL7UJwW804m7gFqSvaYAy/S1iO?= =?us-ascii?Q?iuV0OKumb/j5AGXmVByfvoA0EVxgOHGE1OeqtnXTksQLRbCbLOFsDQl/syio?= =?us-ascii?Q?dBmvjWwMjqUOdbz3y994/9+fIEClKwS49ZGGi4KNjKHF2V9ekutWl1KmTZMJ?= =?us-ascii?Q?uSswcGNbF7UVufglyXT+whAZndV+lhFVBhpCWnWVaNWFgP145vyn8DhoZBcP?= =?us-ascii?Q?HK7g8HoAFqjHy7yPXEsy427yOuoAmVU5olihnp7NnQzJNLuGwe0ci+UuAslZ?= =?us-ascii?Q?w4BSQnchMnFMb3TKZZwcfP7H2YAczvOUoPr0adbr+OxweJtyB+xS9n6AwPRU?= =?us-ascii?Q?D7obClzR1W/QjcTAHyWDBi14Vez2mAfj5cc5Xk7a3wPELlXElk9AxZqzDlSo?= =?us-ascii?Q?1s+cjwXAI8UbrlLmkLWco80PgmFaBjxn57wgp0Ct4WHpeuf/kbcmyNFreHy5?= =?us-ascii?Q?/y2DLMr4O91xKSMq/jE1eA7UljWrNiILR8NXJsb1/Db15VCCsNcrgAHaLesr?= =?us-ascii?Q?JWL2o2efRWLA2yBNMvtBDR9j94TJH2tqcdJ3q7L2O+HvN49HuI5lkYsXAJA?= =?us-ascii?Q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: a96b2679-25ea-44b6-fbce-08dd526a8124 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2025 11:25:54.2786 (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: BL3P223MB0019 Subject: Re: [FFmpeg-devel] [PATCH 2/3] fftools/ffmpeg_graphprint: Add options for filtergraph printing 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > -----Original Message----- > From: ffmpeg-devel On Behalf Of > Andreas Rheinhardt > Sent: Freitag, 21. Februar 2025 12:11 > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] [PATCH 2/3] fftools/ffmpeg_graphprint: Add > options for filtergraph printing > > Soft Works: > > > > > >> -----Original Message----- > >> From: ffmpeg-devel On Behalf Of > >> Andreas Rheinhardt > >> Sent: Freitag, 21. Februar 2025 10:23 > >> To: ffmpeg-devel@ffmpeg.org > >> Subject: Re: [FFmpeg-devel] [PATCH 2/3] fftools/ffmpeg_graphprint: Add > >> options for filtergraph printing > >> > >> softworkz: > >>> From: softworkz > >>> > >>> The key benefits are: > >>> > >>> - Different to other graph printing methods, this is outputting: > >>> - all graphs with runtime state > >>> (including auto-inserted filters) > >>> - each graph with its inputs and outputs > >>> - all filters with their in- and output pads > >>> - all connections between all input- and output pads > >>> - for each connection: > >>> - the runtime-negotiated format and media type > >>> - the hw context > >>> - if video hw context, both: hw pixfmt + sw pixfmt > >>> - Output can either be printed to stdout or written to specified file > >>> - Output is machine-readable > >>> - Use the same output implementation as ffprobe, supporting multiple > >>> formats > >>> > >>> Note: This commit includes only the default and JSON writers. > >>> > >>> Signed-off-by: softworkz > >>> --- > >>> fftools/Makefile | 1 + > >>> fftools/ffmpeg.h | 3 + > >>> fftools/ffmpeg_graphprint.c | 1152 > >> +++++++++++++++++++++++++++++++++++ > >>> fftools/ffmpeg_graphprint.h | 224 +++++++ > >>> fftools/ffmpeg_opt.c | 12 + > >>> 5 files changed, 1392 insertions(+) > >>> create mode 100644 fftools/ffmpeg_graphprint.c > >>> create mode 100644 fftools/ffmpeg_graphprint.h > >>> > >>> diff --git a/fftools/Makefile b/fftools/Makefile > >>> index 4499799818..189feb4e2a 100644 > >>> --- a/fftools/Makefile > >>> +++ b/fftools/Makefile > >>> @@ -19,6 +19,7 @@ OBJS-ffmpeg += \ > >>> fftools/ffmpeg_mux_init.o \ > >>> fftools/ffmpeg_opt.o \ > >>> fftools/ffmpeg_sched.o \ > >>> + fftools/ffmpeg_graphprint.o \ > >>> fftools/sync_queue.o \ > >>> fftools/thread_queue.o \ > >>> > >>> diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h > >>> index 6cc0da05a0..432954b4cc 100644 > >>> --- a/fftools/ffmpeg.h > >>> +++ b/fftools/ffmpeg.h > >>> @@ -714,6 +714,9 @@ extern float max_error_rate; > >>> extern char *filter_nbthreads; > >>> extern int filter_complex_nbthreads; > >>> extern int vstats_version; > >>> +extern int print_graphs; > >>> +extern char* print_graphs_file; > >>> +extern char* print_graphs_format; > >>> extern int auto_conversion_filters; > >>> > >>> extern const AVIOInterruptCB int_cb; > >>> diff --git a/fftools/ffmpeg_graphprint.c b/fftools/ffmpeg_graphprint.c > >>> new file mode 100644 > >>> index 0000000000..77f143b8c2 > >>> --- /dev/null > >>> +++ b/fftools/ffmpeg_graphprint.c > >>> @@ -0,0 +1,1152 @@ > >>> +/* > >>> + * Copyright (c) 2018 - softworkz > >>> + * > >>> + * This file is part of FFmpeg. > >>> + * > >>> + * FFmpeg is free software; you can redistribute it and/or > >>> + * modify it under the terms of the GNU Lesser General Public > >>> + * License as published by the Free Software Foundation; either > >>> + * version 2.1 of the License, or (at your option) any later version. > >>> + * > >>> + * FFmpeg is distributed in the hope that it will be useful, > >>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of > >>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >> GNU > >>> + * Lesser General Public License for more details. > >>> + * > >>> + * You should have received a copy of the GNU Lesser General Public > >>> + * License along with FFmpeg; if not, write to the Free Software > >>> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110- > 1301 > >> USA > >>> + */ > >>> + > >>> +/** > >>> + * @file > >>> + * output writers for filtergraph details > >>> + */ > >>> + > >>> +#include "config.h" > >>> + > >>> +#include > >>> + > >>> +#include "ffmpeg_graphprint.h" > >>> +#include "ffmpeg_filter.h" > >>> + > >>> +#include "libavutil/avassert.h" > >>> +#include "libavutil/avstring.h" > >>> +#include "libavutil/opt.h" > >>> +#include "libavutil/pixdesc.h" > >>> +#include "libavutil/dict.h" > >>> +#include "libavutil/intreadwrite.h" > >>> +#include "libavutil/common.h" > >>> +#include "libavfilter/avfilter.h" > >>> +#include "libavfilter/filters.h" > >> > >> That's an internal header which must not be used by fftools. > > > > Thanks Andreas, > > > > I know, but isn't fftools itself "internal"? > > fftools is just an ordinary user of the libraries; it is not special in > any way. filters.h is internal to libavfilter and must not be used > anywhere else. Ok, thanks. I think I found a way around. sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".