From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 616FA4D3E9
	for <ffmpegdev@gitmailbox.com>; 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 <ffmpeg-devel@ffmpeg.org>; 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 <softworkz-at-hotmail.com@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
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: <DM8P223MB0365DE2EC1C1BA38D1C6214DBAC72@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
References: <pull.52.ffstaging.FFmpeg.1739959172.ffmpegagent@gmail.com>
 <0750b971f9ae0fc38917e0a3b3ccb7ad2e8cd221.1739959172.git.ffmpegagent@gmail.com>
 <AS8P250MB074405D4ADECB60BA5A180608FC72@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>
 <DM8P223MB036568FA5ACB52B54870A440BAC72@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <AS8P250MB074491855918A8AF99E031B98FC72@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>
In-Reply-To: <AS8P250MB074491855918A8AF99E031B98FC72@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>
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 <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/DM8P223MB0365DE2EC1C1BA38D1C6214DBAC72@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> 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 <ffmpeg-devel-bounces@ffmpeg.org> 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 <softworkz@hotmail.com>
> >>>
> >>> 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 <softworkz@hotmail.com>
> >>> ---
> >>>  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 <string.h>
> >>> +
> >>> +#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".