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 418334EEFE for ; Sat, 14 Jun 2025 00:57:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 555EE68CD52; Sat, 14 Jun 2025 03:57:08 +0300 (EEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2023.outbound.protection.outlook.com [40.92.21.23]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 4209F68C488 for ; Sat, 14 Jun 2025 03:57:02 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pmnoDMlb+HSY/vLGXVx9hQPophw8c1SEbX6FyTZhF/ptS5fCOE+st8uowFib+c0LBHG5E7evIsFk0VWH/O9HM/oj8YtHCAYvulTo8hh5sAmSoGl4Anbt4Cdr/Wox4ZH2QaSn8Vrz6hqwBycz85j57JNeQij6sf4TigENAfGmNgKAPBulNASWeNizKt0Fp4moy+Zd+Lc2XbwkPSUwPbLlW1AzCM4fn1rrX2qP+ab/B9Qz6c7KaIGxFMw5D1b1GlGWgNjyPCiJemhE5ln6+Wb80i8M10Kp0ZTxKplKeu8PQztgCC/6IWazgV8EbGzCjgGZMqPDUc5omH6padWYBDQJpA== 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=QE947oa4S8mi8IAzHUoFHPYwdqqjrYLRIVcCGC4b7ls=; b=NzG/YiAD6u+59Ri/JeEnXA0kU/tycYZXylVySG8rLE6O4kiSNgGDKOvqbdG3JbtOseMOdxux6YW17fAonlTC2D2FUqVgAY0Kle7JDzSFz77DHgqbsDNVy38V9D2Y1sVkMBzL6tpdXcADDLsxgs8if7MU7TOR0mnEgJMp7M97aWCDyZecGB8U6ZPlskP9NutGrQnRgxH+UloUwGVmhIeRbGyLGnX6rYpPf16nmfdGX+7j4W3D2y124ToYw9nmovEZKaeZ3qHoA0/miVZbMk6ONI7srxFMNsnQ+jKnP9TxyMmbVkO6IEM14YFEIuhUdvh5LnqVNLJETCKOPCJXzbOdJA== 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=QE947oa4S8mi8IAzHUoFHPYwdqqjrYLRIVcCGC4b7ls=; b=QOkeo6aPrFPAEUKvMAcP2mRyydMA4symdG2/q8g0bbqMUMYDkUpF6S2GuKh5RwNTKjZCwGEZi7r6PB296P0D6AgBxpCcTRub34Y9ApKUfO7rqg7dZKSqhT7BNejUTQwLEYIpiiwEPmsRMCDKksfLCXfgMIEncZxTS5eG+cXJxmycEyCBKB0tQrVQD5OWWr0328DH9hBMW46lGF3jwyt06jUZoLoNp4yKqvBiJdQMKHFRjPqsNFckWCHT4Nyv0EXkdbXIR1YiPIf5S9KBEDNBG0mi+qbTjBto2evMQ8hcG58QbIYqnAmySbIxLWNA81HIv9BzreUFQYMjTHS+cAPYKQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by IA3P223MB1814.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:57b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.25; Sat, 14 Jun 2025 00:56:59 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%6]) with mapi id 15.20.8835.023; Sat, 14 Jun 2025 00:56:59 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path handling for Windows Thread-Index: AQHb3IdyB5S/rugrM06Gp4J5mZ3YxrQBnUkAgAAv+qA= Date: Sat, 14 Jun 2025 00:56:58 +0000 Message-ID: References: <99dfda242076be814b80d9adb0722e860f95cf6a.1749835195.git.ffmpegagent@gmail.com> <9199955b-d517-2a9b-fd2b-ddda1833493c@passwd.hu> In-Reply-To: <9199955b-d517-2a9b-fd2b-ddda1833493c@passwd.hu> 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_|IA3P223MB1814:EE_ x-ms-office365-filtering-correlation-id: 4600f096-02ee-401f-3801-08ddaade5dc9 x-ms-exchange-slblob-mailprops: Om8TgR6f4EDfFjU8QA3TMLJZTJ7Q6kaTWpH3nYh+20dwje35IzCbn3uQKFaHhrNDsWdHg2sYaopRXM0jMfJahoZRQF1rIYkc12OVLut+tR1JXv2lOnrs2B7cHa3iWvvSkTxDDDnKuCeWPV4kE+Q3Gz6jv86J0kTWgqiGV/DyFSPgav1+f3JFruUEja2BdodGGmiqasO2iHCimIslj6AjZ75G0PLXA5lTCW1WMXQNOrCBiSXnC1fw8iJKUy3Ln5ksgdk8IiE1iveWjP3JU/IXHqBHdMaZJKbVGv2JxpZLOcDg9l+kgT/1kvJNBCrzpZ9aX0aIid797yucC8R8J7pcNMenGnFCedYAegTXVvMN+FnnoUgobO/xkWmbzsh84zJ4w6dvwjbh7zJ18arswvQ7oh4/IixRD+NnH8WzcpdNL1cCrUJ8yk5arYBpxg3NQ8YyLKEufjQpO+L8hG3XtELlZByd9WOgaGdCHawTOa66cW1N2MKPnNMh22hgsY1moo2cgYsI6hFYCyX+4938bNYSkIfhJEg722FiBevO1tyFA4p7BenTOn2u65b8qPrTEf8qV7c/2jtx5/qfZkQ9OTAczaOAoxFiAeMWaKJJNAdgjUJO3BVvStrAuZTgiJBLjYpI7yp631cN4aWo/+ydJsKlNneaqo1WZyCbeYXGq1yC2qNVm0CPtzS5hZi6gBJK7+cU3yB5uiel6x0/71ZAEJ5fkakRM0kBxo+qmyQ7CEOTCh/AhBlW6CCJ8j0gpqy8V1uT8BeyFTTZyGdGAoR1xxO6moy2USL6rY279rP8h03qAW5PgL14ekD4VuattoOt4yud4p3z+EptvnBZq6V1IodV17sSUzFKHPyA x-microsoft-antispam: BCL:0; ARA:14566002|7092599006|461199028|8062599006|41001999006|19110799006|8060799009|15080799009|1602099012|440099028|3412199025|4302099013|10035399007|102099032|40105399003; x-microsoft-antispam-message-info: =?us-ascii?Q?v9f6f1POhe6yakTER03LiTiyPRdztoXeopgoAo9PPWvh/55AHqxRX9Xz9O6L?= =?us-ascii?Q?G3+oCkN13a82Jg/iBdqSwLDv6CoBFXG7KpGOpjKDLrdbStREl3vu3R/JLjZO?= =?us-ascii?Q?/K4zir1yN2hLdVYE3eOmHrXiN2Y/96un+vPz7QE2lfuZeFkTVPqBk2kk/EOB?= =?us-ascii?Q?yCrbTURQ/X0vDtY3G1aTqeuNhEOYJGGS/pUn21ZpFGoatqsOafKQ6zcRKcCH?= =?us-ascii?Q?GTjhv3MGH0A1DzN1gw/VQdWbD/a4UQJgky2ohv6FoQMRQaIN9x4hItV9f8ZS?= =?us-ascii?Q?OeOxxoQWx5BDnqZnAlnguBnp2MlToGmH6A7h3cbiuk/WBtIgmQxHFFooVR/a?= =?us-ascii?Q?F8dUGFwVeEtPU51AJIM+wLT8LdR+RezwX1RTGlFeEaxrjp2jBxzgbatGp4X1?= =?us-ascii?Q?h1KFMUj04jfxMX+oEuX0vcc2nwPeH4enZUuje/ufJhW3aR4GVYcbC77KSo4Z?= =?us-ascii?Q?sKjPxfDXNJFovhwoYqTN7ty/kU9kJRcgzdB7Ksn2D7dxQuvdTkHVW/W9iejJ?= =?us-ascii?Q?jHtXIZClVrgYS7Mn2f/jYzf0ZEYkA5AvhflaxUETtLr3k/K9gCzJ6ScrNl0D?= =?us-ascii?Q?wSxuGuQZP4McuiZ/t0VsUMgkJBjnCO1biq7fNBEJbb7fvbKevn1ZzAl+ZPyf?= =?us-ascii?Q?emFU0t1NOYMpr3oHqQ5mZAv/64+dIqWO10/uHBN4HH5xBnPESZkm0DsTR10c?= =?us-ascii?Q?ocHSW22labobyrxNOP9KPjL9qFEQtv8NdYlUdayG+aZdmH2FNzVK2v8JBKuC?= =?us-ascii?Q?pEmcJ3LRBUmpR1+8thwSj4OL4BGFKHZJEELe3to3h35Gp0zuY9CCDUHF3BAG?= =?us-ascii?Q?ZCnnzbZi1V9T7NzGhlFwkSN093EHLesekzBg8U0I3pGmxH26DsxOqNp485iT?= =?us-ascii?Q?t1kcRlkUCE5QeR5mf2KjOeoVAmWd4pltKEl30BHxkxDqu7VUX+zRGVK835wW?= =?us-ascii?Q?zKMyLRSbkM5lFjMyTk4DknE+BP4sPsRVOrpZgFM8cDugjUwiJGBnp0bZl1PJ?= =?us-ascii?Q?rOsKpMOF8S8KkmZDT30llZCTkZk+/kaktJJTjyzHhaU7ceiCjS3EpPfxGNjc?= =?us-ascii?Q?TGumnxFkK7l+WpIaO0szHfkBd50giBGoHLnhaGE9FZH8SdXqEstth1EmTczq?= =?us-ascii?Q?+3LnXw9mj2wwamCH4ZT6E2FQs5IjxPdHhEI3CfaSPF2TUrNeaj18nOdL/fgn?= =?us-ascii?Q?ytnurWH/IykWz9Lja6lN2V9F1ODey0meLlwOWw4OvcLc+5MJJJ3D2EZbXBtE?= =?us-ascii?Q?f0/Z460+bVEeEm7ufEMnTqThxxmRS4kGzZSHWxRtydEz3vymQEWAA8M/FfAp?= =?us-ascii?Q?Kj4=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?dsHgC9M9228ZT1Fahl3TcrPbwkET3dDUyhKxvwJTwtgq3Y9DEEV4NiP+kTVP?= =?us-ascii?Q?WQ7dYWyiauqbEuOrGOQ2GJTb0jrLjDAwtRGFy9E/ML5WjBheDEYk4qIdLMP7?= =?us-ascii?Q?yLRU5hvd8+wwrZzZX4fEWI9CF1rizQ579+7sMbsiOfFfOVVIMRe9jN4XrQFl?= =?us-ascii?Q?YnfyQ0X7sk/hLEzwE1uItPECCo6pABueAICTFTN8/ouR9/wFZFjde3B0VvTH?= =?us-ascii?Q?q6aE6vdrC4O3LfQ7KwRBDwLnzH0RbQ9X59DJ32XhzLk+ogOg6W4NqOYJiK9F?= =?us-ascii?Q?KGcNasvtGzsYpCruZPZFFklwdwHrH8VGjBI9AmBfN5h22oVE3ihq76V4mr+q?= =?us-ascii?Q?ntoS+kdeKK8S//4H/1FjWpYLhpXPdTM+K7r7+n7Qu+uRk/SFMv4iGxsAx1VV?= =?us-ascii?Q?tnoh5tfUxoBstCN2h/PvX+bekH8zlB0JPMYksEfSXwpQ58IW7CgjJ+KoOIWz?= =?us-ascii?Q?TvHQLDXqkA4h2O7GrBOwulCvGqR9O89xu0YMxNt+CyyTRnJuIcdi+hdPGdfS?= =?us-ascii?Q?Y8We1tMUNixDetnBdX6NpHw8ki3mZTL9Epd0K4Z5QjBYCHIE0BokV92iufFD?= =?us-ascii?Q?AzlHzxM9B10JSRoTfPKOFJOSkSQM/P+8wWZF+5j+iQBY6OXbWEqAJCEHrSvQ?= =?us-ascii?Q?c1dZaghcS7iD7vmnh0yHbfsdCoZQt1IaJ2rB4B/c8DUkuKMwwIXlMYck+Jo+?= =?us-ascii?Q?BszJ0AMZ288CP5H6cvYiIgSpaeYNW+ey7k0dhIhX1Nx396FKGabuYpSYHt73?= =?us-ascii?Q?kvUaXBqxmahlaQcj10YnJHBrq4wOqRZx5Cw0Ak9ojX0HxVY1R+eEng99+MZ5?= =?us-ascii?Q?gZ/v6tTPKqDh6wMdqFAqAfbQkQxrPHsh5/YV4QiJ2HidHY/P9XBuC6CUg/oz?= =?us-ascii?Q?vi6VxKjNrM9x31dxQTLLFakQoG45+ymies69xe2zbF8ADmYW1I/TYm/C0I4I?= =?us-ascii?Q?CnVKviuLVXfpbmm1yJrYPoEpmVEPkfxALGyRoZAiVl/ofMgEmMu7LUAi9pzO?= =?us-ascii?Q?a7cY+W4fBhvvqptsy7zf1OoyA2zJyyHbhJVfwJguva4/bfgQZI43DaRpOus9?= =?us-ascii?Q?yZGuv+dXwP+l4bFv3WOKtDsOl4qpRQzzCTiwQYZa1g2YPPQ4uQ2mweIMCZPo?= =?us-ascii?Q?u1g2fx5vm+G+o2heiQ4EyG+ttQ4FLPqbQ0GhioDgg2fAqI+jOb/4zNP+Rksc?= =?us-ascii?Q?zzc1qcPrrs679jKgkwu/5tk6APPQvRYa7nSN/w+ZtuR5Red1GofCmgtsyOM?= =?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: 4600f096-02ee-401f-3801-08ddaade5dc9 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2025 00:56:58.9390 (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: IA3P223MB1814 Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path handling for Windows 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 > Marton Balint > Sent: Freitag, 13. Juni 2025 23:36 > To: FFmpeg development discussions and patches devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Fix path > handling for Windows > > > > On Fri, 13 Jun 2025, softworkz wrote: > > > From: softworkz > > > > Can you give an example where the path handling is wrong and where > this > patch fixes it? Is there a trac ticket? > > > Signed-off-by: softworkz > > --- > > libavformat/hlsenc.c | 43 ++++++++++++++++++++++++++++----------- > ---- > > 1 file changed, 28 insertions(+), 15 deletions(-) > > +{ > > + if (!path || *path == '\0') > > + return -1; > > + > > + char *p = strrchr(path, '/'); > > +#if HAVE_DOS_PATHS > > + char *q = strrchr(path, '\\'); > > + p = FFMAX(p, q); > > You are comparing potentially NULL pointers here. Hi Marton, actually, there's a prequel to this patch, a simple form of which I had submitted in 2022 and ended up in a discussion with Andreas: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2022-January/291657.html Obviously, this wasn't about performance-critical code in any way, but as Andreas had insisted so much on it at that time, and there was also topic about null-pointer comparison, I actually wanted to go a very different route this time. Looking at av_basename() (when HAVE_DOS_PATHS is enabled), it seemed to be easy to beat the tripled search by doing a single (reverse) search for all three chars. So I created a function av_strrcspn(). The naming should be correct, while there's no strrcspn function in reality. I tried various optimizations but I wasn't able to beta the triple strrchar(). Code and benchmark are here, in case anybody is interested: https://github.com/FFmpeg/FFmpeg/compare/master...softworkz:FFmpeg:test_av_strrcspn I suspect that there's some parallelism/SIMD in strrchar() which makes it faster than expected. Finally, I ditched that way and resorted to doing the same/similar like in av_basename(). Now, either both a wrong or both are right... Best regards, 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".