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 52B6A497EC for ; Thu, 27 Feb 2025 21:18:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1E14468DB35; Thu, 27 Feb 2025 23:18:07 +0200 (EET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10olkn2078.outbound.protection.outlook.com [40.92.42.78]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C49E268D823 for ; Thu, 27 Feb 2025 23:18:00 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VLuem/eorX9iSFRWacfVS4DRsf/cMjZwcEG3lb32L9fcsR4iImNYzrJAj4lI1e9xuX872dkb3NcogX5vZnZdIiQ8Vagwn2eYhSeGDtx+cCjWQpGVGDSYQhhUZL8elxl9lSeibnY8QlqmpPuldNCvTH1m9RxJ8FisMHXgqqyj4soaiWu7923iVhS0/EG7bdE44DYPtnChRrMsv/yrBqm+imSanXBBuK6OKmtXMSlzxeyHFZiX8+ZPPZdaCgFfYZ86zZ8FFdriAWEIxMTQrQvA2n1sA+AcwiF8LogNAqWc+8tZ1+v6immvVOGUlLM1o3kX6zMDgmoyn62e/EcDyK16PQ== 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=S5ZKVOqlj+MaL40oaFuOsh4ll+NEMsiPapJU3UyC60U=; b=HBdpm76appeOiM/ALopIQu5cmrw0GzFwznTLL8In77hKvkIAcEUvrbml9zHYU3ZLXIexoRamZOU/VAiEZ38XNkclrwoA1h3KzUnCnaDvq3nigsuUOtdSaMqNOIUVLOg/AfhDido2+EsKslk1bPQYGT8yBDEXQ0ZL7PIcU62L+RD+tJl94xGDHxWy1AgbfOedzsPPzhaVMeHm0+z7uKKnF/FygwmpYfE/KAdedbtx2BhfCTDOL+ZummJQRoJkK3mITzsSwAa9Q0gonSNEltFN04HHKPH8pMBor6Yrhs5r/+0UrNgriz1LpQRw1F22yyQpIKU19ARxbQ2wHMO7dQ5UeQ== 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=S5ZKVOqlj+MaL40oaFuOsh4ll+NEMsiPapJU3UyC60U=; b=BCeGpw3mFqinrM6kzjKXcnXV9PdLfR1xpGA15RTqfI/f6hi/MywmJE0knbrQ7roBx7Mu5iEXuXJALg48KpGYisH9V2LEOX58Kme/yEvoxHpNPMG1SPIzeWJgGJ4B4F3HvHH9JNkGiQn7zf8LUVvco5uJUvwz/KZakqeg9K0iJ/jPrwJTdxINb+7tNMDHZmJwGg6wCzObBXW/YJVgR5ltGb6S9N0BQVgZ+d2pwLr3DPVw1xVDQ7j2/H7OVy8uyGXzA9mN/xz/j7S6wVaBJnMnOF7rs7BFKLC/HmdAN6pzWodzgjqphb7K3dM2vBHSVGhu1DVkAHlq27uF3USR2gYNSQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by MN0P223MB1214.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:4c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.20; Thu, 27 Feb 2025 21:17:56 +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.8489.021; Thu, 27 Feb 2025 21:17:56 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2 1/4] avfilter/graphdump: implement options parsing Thread-Index: AQHbggMcna8bSfBBNEG4S+OwKAjcu7NbfPUAgAA4mVA= Date: Thu, 27 Feb 2025 21:17:56 +0000 Message-ID: References: <20250218124603.95398-1-ffmpeg@haasn.xyz> <20250227185322.GD133559@haasn.xyz> In-Reply-To: <20250227185322.GD133559@haasn.xyz> 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_|MN0P223MB1214:EE_ x-ms-office365-filtering-correlation-id: 60bfec92-5db3-453c-de6c-08dd577434ac x-microsoft-antispam: BCL:0; ARA:14566002|8062599003|19110799003|15080799006|7092599003|461199028|8060799006|3412199025|440099028|12091999003|41001999003|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?/LbtymHT7Jukxos9+ycTHG+FoH5h9UQgGebGZ/jMcD0aB8RuFAYBSZB1bLUP?= =?us-ascii?Q?5OM0qqxByspymbyJz9VHB7T3/MF1xztL4160I4bFP0e0abx1Pzmt9yIPSH0D?= =?us-ascii?Q?XOa6CuNBvN2johK9zZxmWDGSTpFWhNk+aArFiHzUg2OxaZx7NTEN43ZKGP3p?= =?us-ascii?Q?N4ijPrYIJMVrKLyOG8YwzgGUqNTx4gNIgQZQSVfcKbBBF12cJDrZ9vBh5mbj?= =?us-ascii?Q?ZnUDoi5kKIgoiFi7OjLP/xB+J0p2pfWYhpr7Nn+sZCYXmjt6DW9Z9CLa0BCY?= =?us-ascii?Q?dYuNr4xR6TUAVewKqBRixH2Zl/j38PT0uPELt2ns0X842KfvrRMYXZyNCOsu?= =?us-ascii?Q?I7w7tshQSyXu6F9oC0GoiM9fAU1pG0z68mMVNFg3hVArt6opnGGOcApTznvL?= =?us-ascii?Q?IE731JsJYvn45TtcjdH8z0i7aQ90doad6dwnhV0JS73k7MAVWOzBC2vG8bGT?= =?us-ascii?Q?9uRteg75KEHZNFEcpnyxFN15IzO0QZzX2sb5AWq97Gl6OIHWi3qNZ57Ojx56?= =?us-ascii?Q?iKO0Ta1OsjuT+ZFpdDbr72T+AjLNmZK2TY2t45Q8EGAjUNqM1+qUkZSmJq3q?= =?us-ascii?Q?U3Y3kllg/D7Mo+zXsG4Uz/bHDvm47MMfboSqaeDcG9Wpj9HQYF5qQ1/8TbAa?= =?us-ascii?Q?TW8x7Lbkdg2rqLyuFFMr+CLK889XpxbdWSISk2G3FN+ht6V00oHsLu1LOQQ8?= =?us-ascii?Q?5kLxOkZlChGZuBJPFPL2/AvjBQ2TKk+TcTiqGpF1JixO7MDcefMcdRmpWpP2?= =?us-ascii?Q?2j3YI4PogxgY578AE8wEl6Sx9iPfTIl9qkC19bDdaQZc7wp3lPMFyEd+B2sU?= =?us-ascii?Q?5ljXJay2DDEw73h0Ipe7LaGpcGVOUlmyLS2rfQ0aqYDcu01ZiI3GAon2gd6x?= =?us-ascii?Q?EypZxGhJuvOPNk4XnxrC8Q8WN6igR0LBjB5MZStQqGaoJJT+w4hdj/Me52RO?= =?us-ascii?Q?gB+89/EunzcydPmKL0AnckWEwT+UstwF2DJqHt4fCG8z9QTJXXUsTKib0C5d?= =?us-ascii?Q?zFVSY4rffsM6yvsZeahZ6rvzAmjdzKFam1xq0zQbFzn7yapWHUYGbfppbFbU?= =?us-ascii?Q?RvOavQgmHTiQSheWZiigBvK49zqmhJYBI6MinOYm4rPSqHU8Z/UWjV2d5uVj?= =?us-ascii?Q?+ltIKscajAbewyxneLKsMQUhw/NH6NezBg=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Pjj/xdMgEwStlNKfnScFVH2QXng5byytxzPxDZjNCfepzb3qYtp9O0B9rwFm?= =?us-ascii?Q?DQAUMbALMUVEXIKllvyU2tMWzYLlPKkNYtyMFzPNxBWGhQDkF8v3kuRj5paw?= =?us-ascii?Q?W9tHrC9s8X3aUYvrPo+cEcM8/nWlFXFUznbnTrsw0n3tPVSG0FZ+s4CF2LAE?= =?us-ascii?Q?5KCyf09mxMbgG7uZAnY1lJsoRw5NDUe2fpY4/vjzeu6EOYc2OroraV4Em5PB?= =?us-ascii?Q?YfIU6kXnRusRXmUrhh0X1BKQ3EMRImgmwyW/uavnWKHwzRTJ9nzeJyB5zcdN?= =?us-ascii?Q?yMRXVrVQ43ywemyKw+EQbZN92l2es4HyeG1TR8M/gze2flCOrjXBQ9EuDjo0?= =?us-ascii?Q?qjL82fXYqhNviq1KPwSUawlOMy8D2OzHfk5XLoUvb15uGUTUs3LnKchvOXj7?= =?us-ascii?Q?LR/0Tp2hJnZoykOwtLAmnB9hf6+prMrURsC4yk+ESTPtHbdBoZkadoQdomJG?= =?us-ascii?Q?bKawzRfCMQYVrdT8kG3QfdxX+IpZSXkoS97OARR981wcWGOQkJMdm+aAmI7C?= =?us-ascii?Q?zIt/IDZCYceW/KCHAhrpnue2K8OFnd96dWX0wg4UKiibA6UQAdD/z+NVF9Qj?= =?us-ascii?Q?xahS9xFnycYb+zI7rWziSkWsjFT7agtyNfCNjeSax+pK+InvmqVtC/Q08ZCi?= =?us-ascii?Q?wHqY+Jk9Msp8UG9uqrIDjzGT0YWCU+tU+18R+L50HTuBvOJ5uYf3ZnXGmMyf?= =?us-ascii?Q?JlfzmhX4RcpsinfQ+fMn0XUQMTW1qXESm19NVLE/HWJau7AaYtxvHYwNn4z0?= =?us-ascii?Q?1c08KptSBkqke9DBghEnGeVrNUp/z2jn3AHZPfYxIZQsYXx6JqcmOIO15Qiw?= =?us-ascii?Q?XoWuiMf5p0nKt2TpQxCUcUit/YJl1cxa+S0HIQM/O/thRt3zAHDoUFfZH3jr?= =?us-ascii?Q?ijKxkvonBzB+jwkLVl05fUuehWcr1QlU9P9wXdyMjuZjyUGGUGBCkt1+VSaD?= =?us-ascii?Q?+k0vYtoM6PhVVYqJwwQulIB4rbhaj72KiNu3KqzRzw9FZkpiIcst/Cto8dH7?= =?us-ascii?Q?lZ9n6BfUVNE6vc86I5WAgjKKxtqRAdQu7z1LC1nGJws7uJc4qlORSSe/h/kJ?= =?us-ascii?Q?a4Et1AHasu3zxRbd4BMr74YlH7Uf4fPrhzO32RCpPembWQDaVqYdg9BwouYx?= =?us-ascii?Q?Zi5KgoYm4GeqKwKIUizCxgYOnuKClABArK8enxK+wthvY8eCtNbosmU8CCm4?= =?us-ascii?Q?/c1q97wz75zziYJgKf6/0Z4hLBp+qnxmGf4X/pacTMqs5jSphcxRKFn33BI?= =?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: 60bfec92-5db3-453c-de6c-08dd577434ac X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2025 21:17:56.7552 (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: MN0P223MB1214 Subject: Re: [FFmpeg-devel] [PATCH v2 1/4] avfilter/graphdump: implement options parsing 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: Niklas Haas 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 > Niklas Haas > Sent: Donnerstag, 27. Februar 2025 18:53 > To: ffmpeg-devel@ffmpeg.org > Cc: Niklas Haas > Subject: Re: [FFmpeg-devel] [PATCH v2 1/4] avfilter/graphdump: implement > options parsing > > On Tue, 18 Feb 2025 13:46:00 +0100 Niklas Haas > wrote: > > From: Niklas Haas > > > > And use it to make the output format configurable. > > > > I also added a "none" option to explicitly disable the behavior (in > > case a previous command line argument was used to enable it). This has > > the added benefit of giving the default "pretty" format the ID 1, > > allowing `-dumpgraph 1` to continue working as expected. > > Any further comments about this series? If not, I intend to merge after the > weekend is over. > > I decided to focus on this approach instead of the one proposed by Soft Works > in the other thread because I think it is overall cleaner and less invasive. Is that so...? Hi Niklas, I hadn't looked at yours after you had said: > That seems amazing and exactly what I need. > > > > I can resubmit it, it's the most comprehensive implementation in this regard. > > Yes, please resubmit it. I will review it. Now I looked at it and I have some notes and questions: 1. Import of libavfilter/filters.h in fftools I had this as well in my v1, but even though it's working fine, I'm just citing Andreas: > That's an internal header which must not be used by fftools. 2. Clean and non-invasive? I'd like to note that my v1 was fully self-contained in fftools without making any change to avfilter. The latest version adds 10 lines of code (one new public function) to avfilter and doesn't touch this lib otherwise - everything is isolated in fftools. (It's just clumsy and ugly due to the writers duplication but I'm working on that as you might have seen). 3. Your adding Fields to AVFilterPad ...for the sole purpose of the graphdump feature. Is that really more clean and less invasive than adding a simple function (avfilter_link_get_hw_frames_ctx()) to the public API of libavfilter? 4. FilterPad Labels (#2) What's the purpose of those labels? The code mentions "tracking", but it's not clear to me why this would require an extra string label. Each filter already has a unique ID assigned. Each filter also has [0...n] inputs and outputs. This means that you can build an identifier like __ 5. ffmpeg_filter.c avfilter_inout_free(&inputs); avfilter_inout_free(&outputs); Why are you adding this? 6. Overview Before I get to the last question, here's a comparison. I don't want to be unfair, so let me know when something is missing.. +------------------------------------------------+-----------+-------+ | | softworkz | haasn | +------------------------------------------------+-----------+-------+ | Prints all available filtegraph information | X | | +------------------------------------------------+-----------+-------+ | Prints hw frames context information | X | | | (the most valuable info for some) | | | +------------------------------------------------+-----------+-------+ | Prints each graph just once | X | | +------------------------------------------------+-----------+-------+ | Acquires the graph data in the right moment | X | | | (right after parsing, many details are missing | | | | until the first frames have passed through) | | | +------------------------------------------------+-----------+-------+ | Prints both, simple and complex graphs | X | | +------------------------------------------------+-----------+-------+ | Prints all graphs at once (single document) | X | | +------------------------------------------------+-----------+-------+ | Can output to file | X | | +------------------------------------------------+-----------+-------+ | Prints to stdout, not via av_log() | X | | +------------------------------------------------+-----------+-------+ | Supports output formatting in standardized | X | | | and machine-readable formats | | | | (soon all ffprobe formats + YAML) | | | +------------------------------------------------+-----------+-------+ | Mature and proven in production for 7 years | X | | +------------------------------------------------+-----------+-------+ | Doesn't need internal changes to avfilter | X | | +------------------------------------------------+-----------+-------+ | Can print ASCII graphics | | X | +------------------------------------------------+-----------+-------+ So, the last question is - which one do you think should be merged? Best wishes, 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".