From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 7832E4D190 for ; Fri, 30 May 2025 22:56:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 755CB68DD3E; Sat, 31 May 2025 01:56:25 +0300 (EEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11olkn2013.outbound.protection.outlook.com [40.92.20.13]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 2E38268DBD2 for ; Sat, 31 May 2025 01:56:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QdEQ6j/9vYmtGDJ5lRNoRuEy4oqShFkFtcnnb4RoyU+OzXq/sLJjw2NMNlTM70siTAJu8HfTsR/vw004olHCxBKCHuom/neeuax8dGpGbEjajfrDPAtJ8VSgGvhY3WjZr4BrAEcbqpRvqd0hQgZHATiHfqk43aa2zewMR72VmkJHxTryTNKQ1NKo2WvUsky4kHEPCqXT6ILk0XTpRt+z6fIzfnTOxnVO0I0r9qsUW3Gdji4g5bFFMKpwByAOOnHD4PZclZYiTt9c+8IbtGUIv0dTlDqhlkKHn42Jne7Dj9UyL/AUR3M+BEQ1FkHlp3OlTi3G3ygs7D1ex4Diw6DORQ== 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=BxXpAe9udgK4500RnH54eDnh4GwqzuPaOnf1mNkNRqw=; b=Uz984UuHcFPuBg6WfX9HYoNV2Sb1xio9dRcT4Vxh5R02qbVhRjGUXr6JoqUZd8pUmR1YjYTvTj/v7vO37vy9EB4tKokSj+jGvqe0CEWX3amFxd/0RghdbbM4jK/f7zQPrue8eC9u4YxWpBfus/+Z3qKU1AVnt94AjEabae5BNF+Gz/JzvTr7zITMrcP/VYMvHPf1AHGSEWarLTZ60f1cBut1f94Vm1Ewr3bfunRV5GQ4N61zd0oS8JsEaGK+qANYcewVnPGcqqZGcnrvOwoFhK8qNLFWHu/JpH8jSQEs4p4kvmdTlWz9FveNrBqYcP1uz8c9pql1SX7N8gKybACgjA== 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=BxXpAe9udgK4500RnH54eDnh4GwqzuPaOnf1mNkNRqw=; b=XKZCgSn5W7VH/+DXxInSJ9uVvThO8Qzs9MYbH3tcRo5z0439mqUlV2vxB7SwSuqMkx026lGYe9qu8rxWgqD0V0IXFhAEFLnQyRypP3awmiDG6AuNAxDH+4KKdnwdt4SwbmWbEq2lzSMDdbRmjkt7oENCjZ7FYqHFOGKaf3AhTIypDGKGLOg15IfnkirZToce3yZBuupOXuDdnvYLlV+sdUiqnOsxvbC+7zr/Ysif1iKePE6SKHCME+R/D2u7DXA6RCOK1eFe8BmyFw0BizyIKCv32HBtquwWx9mq4NBHyZsXoupssq8QzSWCl3r5aonCLf1XjxHNPire2v7ac5ugvw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by PH7P223MB0880.NAMP223.PROD.OUTLOOK.COM (2603:10b6:510:316::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Fri, 30 May 2025 22:56:15 +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.8769.031; Fri, 30 May 2025 22:56:15 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v3 1/2] fftools/resources: clean up and improve resource manager build system Thread-Index: AQHb0VDseTLvFXm2FkeSgoeZwvMr2rPryADA Date: Fri, 30 May 2025 22:56:15 +0000 Message-ID: References: <20250530105206.15164-1-ramiro.polla@gmail.com> In-Reply-To: <20250530105206.15164-1-ramiro.polla@gmail.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_|PH7P223MB0880:EE_ x-ms-office365-filtering-correlation-id: 2e680068-17db-406e-2c6a-08dd9fcd2e6a x-ms-exchange-slblob-mailprops: YfhX3sd/0TV79KLUZXH6jYsApOyagGvSacZZbb0YnU+Afx3XJZhuM0k1cInvKIbrqFDj2QS3JD2Hethn+HsE2XGUUCWR7OTVlzjjXYwa+RrM8jujJRTxoZNjpXfNkHTQgiLJhDfgPQ9m5e5vJKzMRYrGrvXpeU877UxGR3Eq7U5UfC2znQ4LwxWs2VgRxWzpDGaPOEepnc3OaBWrI5SeFmmrc6jkuqXHOf7T6Gy9qUcRFu0/WLzFJGyrfaychGB5+6ANNpK86wHJ5X3NN9Di9sYapy64TzOStmNMgMXMQeoqKHZz/a/cHc7Vb2DWtpkyBlpxBNqAR3lzv6R+4+ztwJp5Ha3RHklpS9yeuBi+gyKZEPkJkEIYbW5y1fQVA9tYQ2tswzV1VgntHhYKd09L1JSgb8Xganp2CYxzigp58FAj702GemYz/HzLg51EWCv5iT4J/JhAfYVrYdUHqguaboSngThgasu83n7xRQcAJiNpycKzW2P1TeJOxkM4xw3ibK34bHu01ckLClVjgodv4ql2HjYcwyo5kc34e2R8MnC8Llaqzk39XOBs4zL/z4Z2VPJegfttWVMYSoLHbtDJIWbRORQ/HvLVXzqUXJ/8Ur4eLlJ3RPx4Ksk7lr2BtA8cgl7Km2i6ce2JFrRzzzQBvjLaWNJ++xoViewWlXHFX+4vpLn+FqpZS5lz38HJRG7Dohu9Y+fiLQC40bX6M48K3m8nYoRyhP1YoiQUqBuMTmy0X67uGVCIILcO2FksdLDS5wkdyXIuIgoOPlpw2nMKUXtCb8zyGMXx9TdrwEb+Ryg= x-microsoft-antispam: BCL:0; ARA:14566002|19110799006|461199028|15080799009|7092599006|8060799009|8062599006|56899033|1602099012|440099028|3412199025|4302099013|10035399007|102099032; x-microsoft-antispam-message-info: =?us-ascii?Q?SNoORtX3nUonm2fth8XI1Xx38X0hGyTwLv9aoIZV0lMebQ3ZGLRUHqykAoUL?= =?us-ascii?Q?WiTfk2VgVWuGnLSKyDldtpP2ynfEYL/L2/KfEOWoG9L8G6f8+MgavgHC4c+F?= =?us-ascii?Q?UCc0Rh3tXD4MswjYkhaWrmhST1P0dyO8e5E5SfTw0RrxmpIJp1AGre7g2Lht?= =?us-ascii?Q?E1q8Zgc0EBZ6R90iR3gdBCpDz8/HSRfOcrDZOKnef95jOJ7TRtV1GErHsni5?= =?us-ascii?Q?CgnrPHvPraPugaymPjTE1ErVnqJfzpnJmSZ4ZN2/SDXrZFT1q7IaoUpsdZd7?= =?us-ascii?Q?DeMzxbvloixub84rPYWm35eM+cziRk6lIo8uQQoPiGTFBaX98yBuA3nLC4Kx?= =?us-ascii?Q?YQ5ecWW4poYUafF/VMKwyWIwmal+Tv6blkenBT2H2uCEqTjuZEpFgeG/sF9P?= =?us-ascii?Q?6MXREvnIIDrUPYc4oHu6Q+H6eevP4kmCPK4Gkci4UY1GaRGek/svdgWPsE2M?= =?us-ascii?Q?3L39a6LjRSNGY0D/XEriyewVhQHs88K/ntvnrCPBPj24hsULSQEvO03DEBLH?= =?us-ascii?Q?oW3YVkSqOoQ1gccWYIXlnTn50BS9lmunJjZAvfxsJqUFOQZiKHOON7qs1sFv?= =?us-ascii?Q?SGxyH0YgiOu7XU3zm1WnlTyseCp53yVg9gXE5XDQAxKwgTiV7GeKLJndM/Jg?= =?us-ascii?Q?tM1dgHQ2MDOI9R4zueji3pdUPvVJSVWeBha7l58IrfTbRLXvlpEWO4OvQGOq?= =?us-ascii?Q?9iupSrTMrdA9kIS5GKsw6g5k6ccC9Kb3pQDJcUKZHpNqKeh1QsNDzFN4TRTA?= =?us-ascii?Q?jqlvJHJTps2v2CeZqj1WMdVCb7fUKZEQzLKsvXijMPb8fggYV1j+LYo5yvoD?= =?us-ascii?Q?wNxwS/ro47KXA9L/pdAnIfDJtw6sqnwNv2d5BfSORnG2D3QV7dGBv7vOnbAA?= =?us-ascii?Q?IT4FCMi0xnYWQRfJTGAyxxSanbqemHsXdukeIkz5Bi9s9Dfc9e0PJI3gl7xO?= =?us-ascii?Q?x5xa0I/KkYRC2qhl28zfzOURJkVslGP0INnFxr+DXrIb5q8IbqdSU0DcUMz4?= =?us-ascii?Q?1NjQWCbHtwcSJjuPwhaxZJW858Nx+wyceKHZx7n7Szchr5Yf7zjD0y9L2R2w?= =?us-ascii?Q?DzFt3AK5ixa6rBJ1KxTqIfWanweTlGqM27QqLwdg+c1q5ZHPzER6/C7w/two?= =?us-ascii?Q?fbvn0iUGLJZppd4umm75+Wk1fTuMV4KVt7d7kTPtmd0u9j/1H9R+EFu0PeAx?= =?us-ascii?Q?DCYAppTYETT+PDihVdE8INFEhP58Ch+Z0MtBpATNImm14+KDbhw7Jox6G6BX?= =?us-ascii?Q?Pe636+ykKrswgz3QKyi82DW0nMDbRhftToKK4/VwUw=3D=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?AYk55beQoJcy4LgA9TDvhN+7PGatrkc9Pq+TOx2uuz12wqauG7xk1LDC4OEh?= =?us-ascii?Q?Wt01NHZXY2fXnjnWCFL9NxtUBt2tFseWoI1rLjLY5pb3QnQjn0KKYoTdGKuX?= =?us-ascii?Q?JqWlpIEi+7REpkRprsmmVv7K3Wpirn0I4ZDG+Fp1FAl1QPqmfkDpXTEJ19Ym?= =?us-ascii?Q?mhZEzOjkJQdQg2WOOUfSh4IlO3+0LThQ779dQtsqWiuJSKxNYgJb4SCvEIpF?= =?us-ascii?Q?wyOyQQdUjbssyC8hHn3RMy7JeW1DWSZ9nXFawi9oiwa0om3KpFlVoq1nVGgc?= =?us-ascii?Q?65NtL1JQoDZnhl6faXtXao/mm/cz2Bu+++71g45SphTQUEwdTGpttFYnH/J1?= =?us-ascii?Q?3lz0X06OJ3VCbryJZEWP6GOQmsjrqaqUcuTZuIYdsxc+ub6wVdBvz6h1zuMp?= =?us-ascii?Q?bHyMq5c8TkBHjBgcy7TDJFMy8C/1zEVEGYo1Wu5g9PCZspoiGgrgdZJnUEHF?= =?us-ascii?Q?1NUh5ZKGSNBNZHK+1XyHMBaBign1Nn2xJ8L1y6YGS1pAmCBctf3umj/7NlYK?= =?us-ascii?Q?jJJHLKmVRkMor2g7W+uGhvQuu+MteOmBZJXtft9jnaN1mbEe8nT3aXcHwyQk?= =?us-ascii?Q?gFnEzHehHhDCoKiwBkz2uSVV9F3q3Mu4dgf8lCAkWer+hxHN8WDfYEXpmHIT?= =?us-ascii?Q?VvSOzQvKR8gcJ0bpGbfVgmz7TTOLYF4wofkZBibC5DcXesp2pDVfuuPYmw2v?= =?us-ascii?Q?g4kqdZziqKhyDlXDxpw2f8ymh/L9/lXlDaAihyT2V2+xvR3qHP92xI3ojD8W?= =?us-ascii?Q?KIWJlXVL0Rfdemle6+ZdnUzZLasPmgbT0ItsxBYUvV+cuMKOr7jRZtZaeFGf?= =?us-ascii?Q?TVJwh+1yaaPMnC/u1Q4i0+y18MbTGmv1aKjxkM4ixYK2lQx7cfIslAhfrHeR?= =?us-ascii?Q?UJCFsIAXSi4lztRRkfdZTKsoJHmnVJL6CfoWvXMj72lX/MZGuhI7ZEVqaKtW?= =?us-ascii?Q?KXLn/S/ad/3CbM7vHcGV4mK6XcTWOLQRyUwCQR4qLwtdgw5G141hBJbFPsg0?= =?us-ascii?Q?wVB/2ckBd2DdwlL2zhbU0D81ib5pL/A2w4zGLaYXKZtY5mT/uaoPlHgyOkJb?= =?us-ascii?Q?ku9i/SMcJ8JHlrqDZY4PtIYpufVbK1kYmz19esKYUghYlo2Kp8h+5RI/ZzHy?= =?us-ascii?Q?XYgiDgtTWWMrDs7XvZ2NS7EsOOWkFueiNX28lDvN3kOfK8XlOYxcGAjq/geb?= =?us-ascii?Q?bWA5onhCwHwmItxG2d5qbxg3NHny+vO3hW7y8L/GUvogvHETP8M+1peRs2c?= =?us-ascii?Q?=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-8534-20-msonline-outlook-c7cf3.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: 2e680068-17db-406e-2c6a-08dd9fcd2e6a X-MS-Exchange-CrossTenant-originalarrivaltime: 30 May 2025 22:56:15.1689 (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: PH7P223MB0880 Subject: Re: [FFmpeg-devel] [PATCH v3 1/2] fftools/resources: clean up and improve resource manager build system 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 Ramiro Polla > Sent: Freitag, 30. Mai 2025 12:52 > To: ffmpeg-devel@ffmpeg.org > Subject: [FFmpeg-devel] [PATCH v3 1/2] fftools/resources: clean up and improve > resource manager build system > > - move .gitignore entries to main .gitignore; > - move vpath directives to main Makefile; > - remove superfluous comments; > - turn css minification sed command into a one-liner; > - deduplicate targets depending on CONFIG_RESOURCE_COMPRESSION; > - introduce common .res pattern for resource files; > - remove RESOURCEOBJS noop from common.mak (it was never populated); > - add fftools/graph/Makefile; > - rename OBJS-resman to RESMAN-OBJS for consistency; > - move graph.{css,html} to fftools/graph/graphprint.{css,html}; > - disable dependency checking for resource files, to prevent spurious > rebuilds; > - generate resources list at build-time based on all resource files; > - the resource manager now uses the resource filename instead of an ID. > > Adding resource files now works from any subdir. Suppose you want to > add a resource file named "foo.html", then all you have to do is: > > OBJS-$(CONDITION) += foo.html.res.o > > To access the resource, you retrieve it by its name: > > data = ff_resman_get_string("foo.html"); > --- Hi Ramiro, here's my review: 1. General First of all, I think there are a bit too many different changes at once in this patch. It would be better to have each kind of change separate and then apply it uniformly to both, .ptx and .res compression (where applicable). Having different logic for both seems pretty odd, that's why I had talked to Timo about his opinion and we had agreed to still keep the ptx files, but treat the others as intermediate. That applied to the .SECONDARY and CCDEPS setting, and in your patch it would also apply to the replacement of the ifdef blocks with the inline condition. I'm not against this change, even though will make it quite hard for others to understand, when dealing with it in the future. 2. Moving vpath to the top level Makefile The reasons why I didn't add them in the top Makefile is that there are other .html and .css files in subfolders to which the vpath directive would apply when added to the top Makefile. I don't know whether this could cause any regressions, to the change might or might not be okay. 3. Downlevel Makefile dependency Your changes introduce a (logical) dependency in a level-3 Makefile on another level-3 Makefile, i.e. fftools/resources/Makefile controls what's happening to files in fftools/graph/Makefile. 4. fftools/resources/Makefile: #.SECONDARY line It does not retain min file when uncommented and resource compression is enabled. 5. Is this a suitable pattern for a generalized resource handling? You recently asked me about a plan for this, and I said I don't have one yet and that's why I wanted to keep things flexible for now. It's not that I haven't thought about it - it's not as easy as one might think. The solution you are proposing doesn't seem suitable to fulfill these requirements - for the following reasons: - It doesn't allow to include different resources for ffprobe and ffmpeg - it would include all resourced in both. - Putting resource files into the individual folders of the code that is using them is not a good idea, because it doesn't allow them to be re-used by other features. E.g.: a feature in ffprobe might need the same html as graphprint but a different css. That's why I have put them all in the same directly, which is also better for clarity. - You are removing the resource ID definitions and are relying on string matching only. Of course, this simplifies the code, but I had decided against doing so, in order to have a compile-time mechanism that guarantees that the build includes all the resources that are needed by the included features. Otherwise, it might too easily happen that builds are omitting resources and it would be discovered much later only by a runtime error 6. common.mak Cleanup Please also see the second path in my update patchset for futher way to consolidate and simplify common.mak rules. https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=14627 Thanks, 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".