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 799ED4D0E2 for ; Mon, 17 Feb 2025 13:40:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3E8E368C045; Mon, 17 Feb 2025 15:40:55 +0200 (EET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10olkn2041.outbound.protection.outlook.com [40.92.40.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 484E468A9C0 for ; Mon, 17 Feb 2025 15:40:53 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jrZVlgWBZnDzexhQzBykLtx0Ga79Zs/zRoMcTyZlN849kqXvIVdnp0+K1TfQ9Yubcrr5q3otKhQWYw7ViL8rICsYp2wYA8Btc+U4ZwNW4BFxUHOg+NSbIahCxyAKNAsV1NQErxPBJu43ZkxiGFu6u74qaNC/Cjrm6oPTw6eDivJmxMb8r251bBzMcJRWwYmyhZXvj7wg3W2MfroPBv/UdhfUkDQ4k5wnHqxci8tI1Cgn4g6ZH4mO1onH4LiO3N3H7w95IW1qMAwO45zn7ZM5JN22zwl8pe8GQxuS61eZn+17do2Th3MdnUJe8Z1pS2ncMsFzp+KW2ABEBaZipcpJFw== 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=Y3CW1P8N3PuHSZylahR/CHQolmkuOBjIB5gXZtl14Ok=; b=i0UgyEE3z1SRE9u8tVqm0UCRwJKAssOwjS5dKDpy7TRTMr0YVdt21EKGj7rN43Z9pOkKs1pUVCSQ8Pp9iX30klsKafeoiyC4bGDxUS48oOZ13wnxnGVxygNk3peVVhg1MwG9GbGsAJWWbcwfoHrwzpSVa2b13pLzhZxtDcAQKcxIc7sRkNaGf3swNXqtolButajWGxKyImGr5uQ7tTDog0GIVeEBtmQMPJeJZBDdGPXRfDK6DGbo9ZDHRfYjpdtIf5VgbacyYAxc6sWz56Az0w64xXO2UNyy2zFCpAbRhIftGE143Bqr4BorCK0BCoGzL83HHB8y2Ga3YTNGC443+w== 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=Y3CW1P8N3PuHSZylahR/CHQolmkuOBjIB5gXZtl14Ok=; b=QfoXVq6veSey2rvAkA3Crc8/CS/2wJUD7eCPIBLNGVcaU63M0ZgLKMtiFT7yIEW6G8wilDLP5VxasXFpv2Rr2sIgqzUI67T7VtFNf2t++1ZN97US3RFTsF0pQKgAWxZtM4w0dlXVhw7LvDk/DriBv+v7AOU2W3+c342x8Q0Y6Spy/A5YCnCXx+EsnhutdKbkkBmBuEG02lio2+sSbgtiwhjemLHsYgjH9t1qtDpg53XnrX9tg9qKLLSrIB9n58y0n4xYJeMilYvjTMoAKuxd4UZXrEPekAs1Udt6Ghq0bgLOeucmKVTagApTbjNPVEgUszy34hlB/g723r9Fov74zg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by CH0P223MB0001.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:f5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.19; Mon, 17 Feb 2025 13:40:49 +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.8445.017; Mon, 17 Feb 2025 13:40:49 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: add -print_filter_graph option Thread-Index: AQHbgTYAo6pHTY9bgUqf/empEFxr/LNLcHiAgAAL7NA= Date: Mon, 17 Feb 2025 13:40:49 +0000 Message-ID: References: <20250217121741.56025-1-ffmpeg@haasn.xyz> 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_|CH0P223MB0001:EE_ x-ms-office365-filtering-correlation-id: d3ebb31b-3f95-49a3-dd80-08dd4f58b07b x-microsoft-antispam: BCL:0; ARA:14566002|7092599003|8062599003|8060799006|19110799003|15080799006|461199028|440099028|4302099013|3412199025|10035399004|102099032|1602099012; x-microsoft-antispam-message-info: =?utf-8?B?RkczZ2plRlp2MTFhTHR4ci9sS21iRDdlaFlCN3pVdzExWnpqM0NxWEtabURm?= =?utf-8?B?VjlNeDBIdHVyZmhEenFWSXp3L1owN0dTSVhzTU1udVFmS2dacXZsMm5LQ3kz?= =?utf-8?B?dWhxc0pPd3FJT3d3TzQrWG9UVThXLzh5YjJQTHVvcXFQSlJoZzduV3g5UEsw?= =?utf-8?B?ZksrY285bEFFK1Y5cEhpMk0rbE1wZUEyM0htTHRvM0ZHZDdkQmluUWFkT0Fs?= =?utf-8?B?c2hvYm1FaC91cDRPR1dmN0tlR2pSSnpqbGtuZGljRzBra21jWVJyOUd0UjNa?= =?utf-8?B?cjcvRGI4QzZ6NDJmYVE1TnlTVHR5S250K3JUZHlvNEQrUVZMc1VCa2xhQ2E3?= =?utf-8?B?ZnNHNkxiSy9neGk3VW1ZMlE5bUZJZ3hjN1JDVmRpOC9GT1dGTlJXTnNEWGpR?= =?utf-8?B?RFJON1lWcFFCOVppeU9FU1ZjNDRFOWpBUGFqWU9HeERUaU9LZld4am1McDBz?= =?utf-8?B?UFdNUHBvdVFDNGhEV3oyQm9tWWgveHcwQ1BNSzQxOUJia3hzN0RtRC9raG1q?= =?utf-8?B?dFp2Z1g0SlBvYkJvZ1R0UzUvMFdrd3JWZVdOZDVvOVhhb0NPL2xBdGtBSHpO?= =?utf-8?B?bHpXQWVJVUlEQ0VXemNlTzVuVkJFYTlhK0gvK0hONlJBb2JXbHZjRWxoTmVu?= =?utf-8?B?MDZmaGJURW03bzcvUTE1dEM2YmJwMzdIRlJDOUxnZ1hhNVc5c3c4Skx4RnBL?= =?utf-8?B?Y1QxWUZ1S3Jkd1dWRGZhMEtvdmtPYUxHdW42enVHTmY4TW8wSjRRMGlUc3Mr?= =?utf-8?B?c09LQ2J3N25WK2lBa04rZ3M3MTdXZXpDSmc2TUNISjJnZTNKM1dldEtRcUtn?= =?utf-8?B?bEk2UDZ5STZTODVkOG9ZWS94NGdqZmI4VzBuU3poY0pSd3U2MC9OdXlaczZ5?= =?utf-8?B?QSt3U20va3NQMnI2MEZhVWdvQk8vcmpPTWo4b2F5b3Z6WVZJbzVkaUlJcXNB?= =?utf-8?B?S2lQN2JHYWdjb0N4b2YyWXd6b000aUFmeXR0VEVGZDF0NlFUcG4wNldFcUVV?= =?utf-8?B?YU8xT2F3K2FlQVBlc0VnUEJxOXFRSUV4Qmx6cGZJT053L2V1djdhSFZZeTgz?= =?utf-8?B?WDlMSXdjb2ZvRVczN1d6Z3JsenNoWUQ2OUZuNjEydlU4eEtOQk5wU3JiclZx?= =?utf-8?B?MlhFa3dCMDFYa3RTTXhpWkEyMjIwOFlGS1NrNjl4eWZpamRad2tLaWQrTWtw?= =?utf-8?B?dDBoR1gvSDZvT0tjWnM1ZDdPMVV0N2JRRGN1UHMzc00xQm9FdXVWdWlBNXZO?= =?utf-8?B?eWhIZk1wd3Rzc1FFRjNGeUhOd3lMdmZWektkSDh6TW5TU1ppaE1PN2gvdW9C?= =?utf-8?B?VEZEbWhhZS85cWpRMHhYM3g0dzkzdVVYMnFMWS91L1ZhYXFGVGRFcG4xVnFm?= =?utf-8?B?aHRiWDZQaTB1c2lPZlhGdk1rZGUwcW1uYS9NakloQmo0WTVxdEw3M1plQms4?= =?utf-8?B?T2lJUnV4SEZFSEVXejlvNUltZEhNVVlvdmt6ZzU4TVY4SlR1Tk1NWHB2Yklv?= =?utf-8?B?MGdsejRxM0tEa203ZkJWWjgrTEtBeXdnN3JkVU1RVFVYa0lML21IRk9XUGto?= =?utf-8?Q?BPtc7HmEzyMKFIpN1FlYeZdDEswn9gEekMzWC7XlPdvEVJ?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Rk54ZFBhc1RHOEsvRDdBcSt6bXRpYkcwNmZxRmFla0hzQmpsUXF0WGZHM1pD?= =?utf-8?B?bmlSaDhMWXRQMStSTE5xUWNuQnc1ZEN1UUE2QmhpeTFqTHc5WXhNNW4xL09j?= =?utf-8?B?NlBVYUQyUkR5bjVpOVNXNWt4OURYOUFHaW5RYzF2Yy9HWEp0VUZVSUVMNUwx?= =?utf-8?B?OGVENHJ6ZVFWL1BVbEI1ZjRGZGNvRXN4eHVtR1V6b21sa0FhTDZCNDFEeGk3?= =?utf-8?B?bmtzd0d2VTZyR3ZBeGQ3T29vRnpKL2h6VVEwb09lMzJaTVhDczljaUN3ZUti?= =?utf-8?B?TFRJZTlIb1A1RncwN2cvRmZPcWtLZ2Z3WXFIcW5Wa0VTR2w4aHNmTW9FQzRG?= =?utf-8?B?MmxNNFhPMFY2c0Z1aEN4MklSZ1lvbVcxWjdKa0dOOUY3MW5Db05Qc2c2cGkv?= =?utf-8?B?cVVjN0EwZWpaNDdBVTdwc0QzZkEwaUh5a3lqQVZlRHNldGtsa0VkMHdub054?= =?utf-8?B?YVZuRDNjeEtNSUNQMEV6M2wxUFdNNnZSb3IwenhlVmFBRkl1NFZDOEJ2bVpu?= =?utf-8?B?OGlDOUZnZnlLeVpqR1NRNCt5N3dHNXU5UmxNZ24vMmhabml2eEVhbm5DdXY3?= =?utf-8?B?NlpjOTJ3YjhZRUZHb0RVUU9OOU9talV3dW5xMGkybnV4b09wZEd4QUVFSXF1?= =?utf-8?B?WkZldkV5dGlnNys3OWU3TnZuTDFJU0RWUjBUSWNuUXNQWW93aVRhdzEwOUxE?= =?utf-8?B?NFpxN1Z4a2NpZzRnRmd0TGRvamR0QmZFQXIyU0RYQ1ZqQVIzdHkweXF5WktV?= =?utf-8?B?Y0pzTFc4MUhMMDBDVFo2TEZyZGdmWmFXUkl5MU9ETDk3UGlZSUtINkFCYnVQ?= =?utf-8?B?TXdOdW10SjlVeEIycCtneCtXdkNQcVJnRHY2bVlFdzhIZWF6U3FqYWg3TzFz?= =?utf-8?B?ZFJOOWR0NzEycWRtMnR6RjllNmZZYWRaaEF0Vm5hN21sc3UvWGhXbzJpblhX?= =?utf-8?B?ZHhVU29xamdUUlJoSmViRUVoUkxIVFhpWU04czV1VVJtdHhUTGc2Ui8yMk5p?= =?utf-8?B?aU5tdmlwU0NoR0MvR3FYRFhZZ01PUDdLdVo3WWtuVExzUzhjcHlSalY5TVJ0?= =?utf-8?B?YnAzYUVTQU9id00wL2s5Q3V2RytpWGhmRjBVb3llbUlUWEsyMWhHYjhFVlNW?= =?utf-8?B?dVBaTTlWaDJsOWhRZGt6Lys5WG5md0dRMmd3UzJzUVRRRlhPbzFtaFJnOStz?= =?utf-8?B?cE9tcE9abFBrVjRVNkV2bDhFZGpXaTEyYU14aXVMWFJZR21uclRUcmwydHNo?= =?utf-8?B?RmVsT3ppYkxsWEVWemN3YUhXVFdzeUVaVXdjdXpnc1FxTUp5SWRpaGl0MW8w?= =?utf-8?B?QXVTdlhnc2JvQjJaa3pnQnJmNGpNcFVMQWRDeWRwY2JFWjZLampuQjNnU2tj?= =?utf-8?B?dlJseElKZUxBdWgwa0g2T0hBWkJKOWY5NGxwa1NSVTdMWFpINHNEaThoT1U4?= =?utf-8?B?Tlk3SDhlMmJUVjhrY2VjUkdtVzE5S1UyQ1d6MnRqODhnVWR6dmR2Y3dQU3hL?= =?utf-8?B?TDRaV3hWWG1leVNpS0JWeVczK0xwWmRwU1ZvK0xSZXcxWHBxU1ZueGFNY1Nk?= =?utf-8?B?YTQ0VEVWRWZ6NzFEQ1oyV0dieWlxRDI1b0lLVVhubmhBdWU5bEZrTGxSQ3lh?= =?utf-8?Q?9+jc67Z5Sq4++MkIT9JJQ2C/pC3D3XrOK1Tf05nmXlPk=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.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: d3ebb31b-3f95-49a3-dd80-08dd4f58b07b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2025 13:40:49.3020 (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: CH0P223MB0001 Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: add -print_filter_graph option 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 > Nicolas George > Sent: Montag, 17. Februar 2025 13:43 > To: FFmpeg development discussions and patches devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: add - > print_filter_graph option > > Niklas Haas (HE12025-02-17): > > From: Niklas Haas > > > > This developer tool is especially handy when debugging filter graph > > auto-negotiation, although it can be useful in whatever scenario to > > get a canonical dump of the fully settled filter graph. > > > > To make the result slightly more useful, we omit buffersrc/buffersink > > filters and instead print the corresponding input/output name. Sadly, this > > is lossy w.r.t. the link names used in the original filter graph, although > > the result has the advantage of being in a normalized format. > > > > As an example, the following filter graph (taken from FATE): > > > > sws_flags=+accurate_rnd+bitexact; > > split [main][over]; > > [over] scale=88:72, pad=96:80:4:4 [overf]; > > [main][overf] overlay=240:16:format=yuv422 > > > > Results in this output: > > > > Filter graph: > > [0:0] split=thread_type=0x00000000 [L0] [L1]; > > [L1] > scale=w=88:width=88:h=72:height=72:flags=+accurate_rnd+bitexact:thread_t > ype=0x00000000 [L2]; > > [L2] > pad=width=96:w=96:height=80:h=80:x=4:y=4:thread_type=0x00000000 > [L3]; > > [L4] [L3] overlay=x=240:y=16:format=2 [#0:0]; > > [L0] > scale=w=iw:width=iw:h=ih:height=ih:flags=+accurate_rnd+bitexact:thread_typ > e=0x00000000 [L4]; > > Filter links: > > L0: yuv420p 352x288 [SAR 0:1] csp:unknown range:tv > > L1: yuv420p 352x288 [SAR 0:1] csp:unknown range:tv > > L2: yuva422p 88x72 [SAR 0:1] csp:unknown range:tv > > L3: yuva422p 96x80 [SAR 0:1] csp:unknown range:tv > > L4: yuva422p 352x288 [SAR 0:1] csp:unknown range:tv > > > > I do acknowledge the overlap between this and avfilter/graphdump.c, but > there > > are a couple of important deviations: > > > > > 1. graphdump.c prints a "pretty printed" ASCII art graph for human > consumption, > > but the goal here is to print it in a format that can be passed back to > > -filter_complex. > > The ASCII art output is shitty indeed. But notice that > avfilter_graph_dump() takes an options argument that is set from the > argument of the dumpgraph option. This is precisely meant to allow > future different output formats. Well, then the question would be when or whether this future will become a reality? Or maybe the solution rather lies in the past? IIRC, I had already submitted a patchset with a complete solution: - It includes absolutely all relevant information - filter string from the command line - filter name and description - parsed options - formats, hw context - all input and output pads/connections including all format information - It prints using the same method like FFprobe, so it can print as - default - xml - json - csv - Here's an example JSON output: https://gist.github.com/softworkz/2a9e8699b288f5d40fa381c2a496e165 I can resubmit it, it's the most comprehensive implementation in this regard. 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".