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 4B5564D0AF for ; Mon, 16 Jun 2025 22:15:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id E74A368C79C; Tue, 17 Jun 2025 01:15:33 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2081.outbound.protection.outlook.com [40.92.90.81]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 8E91B68C41E for ; Tue, 17 Jun 2025 01:15:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N5Fah7Bx7PLIyCB88HrKtAYitsEk1FsDCFiYFHVRL8oPwf9ZtMpjmjHJ8gHTWX8BAJiC1xzVBtMA3ybfWgn8IgCBCNygJhGcIcuX7+tWFRsGQ3T7pjHnT2ZSKsuncVqHXs8lRkuVD/bq3RsadltiozriOTstjdjnr8OaZUaPGrtqyzPfD2qCWORMdNMd761p223pC7tF/uM6fw9k4ZjXSkw344MVvc3jIvmJIP7ZXWEGua2gpurmmHOdrKE+EXVmNFcLmgk0q9BT0NgRKQ0bd9ePvGXWs4qkNUh2nuc539J7KnVZrst8nsIcPXhoZg+FLzIfRX6xHtSnoF0PT0mgOQ== 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=wHd7YDrMRSheqYGDe0eBpejOl+qXoaMjUR7H2BRXtj0=; b=fWna9HtxSDZ8quC7JwoztqJHI3e3guH2bNFgjB7vyIThycbICV8DIpqed7W5rwvCemRcnX9IIFSaYVb8PdHxZ84O0yGdCE1hL1rSYrZsacLQOpPeBFueEAFTn0CDgXAxoKwrJuKrK20WdWnQo5/Omq5dWs+j92h1Wkxtbkfm6yR7gV8mp3bZ9DEk5xj3uM7adhYTNRrJbKLBWoJP02RfORiw++HW2S1kYsDJqZ3W4WQdeTYludY8iXP01raiuk1TYk3U8HP9D8PaVuVWkeMx5rKiKFNxaOGUmCTYsS5W4Vyp7i+x9cLQxdoHs0XP2zgLT53N+rYNwymC4idCf4NkhQ== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wHd7YDrMRSheqYGDe0eBpejOl+qXoaMjUR7H2BRXtj0=; b=SEpWpG2toVWEi2vXJQyMsrlfqAHGz3gvxIIurIjLQXjV374JKdqFDdEK5+R7+FPu6RtSpuWWyeQg9KEWjb5d4wSKQIPK/TJr9bIA2e2/3pFkDJ9niVToDpJjLSuyFR34jnH0MpJ4IOYntirPBohAT+FuAhMrBWjo7jtQPeGRA2Y0hsj60dkwRTqOw9bxJYw1I4dBEk4PlKyFpgUEPYOMrj+6d51WoPsAA6Kk+OS8EPhci5xXqPb8QoSF6oEhQnWMcG3v1Jgd/ZEeutOHKPzcx3CCIHkyBulOZfIYawRPhChXy4y1kJ64hMre4Yo3Pjd94LI9zlgKWSfvvvFTAfmFoA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS1P250MB0680.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4aa::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.29; Mon, 16 Jun 2025 22:15:26 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%7]) with mapi id 15.20.8835.027; Mon, 16 Jun 2025 22:15:25 +0000 Message-ID: Date: Tue, 17 Jun 2025 00:15:24 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-ClientProxiedBy: FR4P281CA0004.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c8::16) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <75ee1647-ec9b-44c1-8d72-f21412313c18@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS1P250MB0680:EE_ X-MS-Office365-Filtering-Correlation-Id: 9652cfdd-0ca8-4e0c-e17b-08ddad234b48 X-Microsoft-Antispam: BCL:0; ARA:14566002|5072599009|461199028|15080799009|19110799006|7092599006|8060799009|6090799003|3412199025|440099028|40105399003|10035399007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MVQ0cVN3SUpBNVkyLy9DZE5BTURacSttb3lmNmVQWGZMaHZtUUoxYy81aWhv?= =?utf-8?B?S21DNGU4ajBYZTUrZFUwVHNTSkVFaHFWL2tiMWlWYVBYTnQxbGJjcjY5VCs2?= =?utf-8?B?Nm9uMk5IYWRMT3VzdGkzY054VE9qTXh0MW05bEw0NldrSUpJeWtkM2YxRVcr?= =?utf-8?B?emJwUUpTTmxKd3NwcU5lRFp5MzQyYUVpelI4QldoMVdiVFAxMnBJN04xYy96?= =?utf-8?B?dVBGYm0yQmpDRnZ4dW5kcGxhbFFRZHFVZThxRXM2TFhPWjB1RlN1WGVDWlJv?= =?utf-8?B?aU0xWkZpUDJ4bTloWXVKdy83Y0NET0V6VW1YMi9uMk9XSjU3cmJlYURMSVQ5?= =?utf-8?B?a2xCR2FCRDJncEZrN3NWRnlHODBUMDNqN0xiZGwwUTh5NGFjWnUrbTFEM2Vl?= =?utf-8?B?VzRWcWgzSC9TT1RqR01CMUlFS2ZrZ3pnSHh5Q21yTFZUVXN5ZGJaZnBDT2FX?= =?utf-8?B?ZlpxWnlCc2IveTc1dzVPUHpaRzVWeVQyekdBVnZNSHlvbkZMcXRteWN6VWt5?= =?utf-8?B?anZVbmJPNGtYVUdoMitxOGZtaHB6cWRrRDYxS0NvYWN3Rm9FTWJaUUx2L0dS?= =?utf-8?B?cDVVRkw0bmhFdnBrempCZ0doN3h0RGpURnZ4V1hvM25rODV4V29DY29oK3VV?= =?utf-8?B?b2doY09JQVM4WEF3amRDUW5kdHV1L3lJaGRRNFk1SEM4RzY2L3dscUdaVkpK?= =?utf-8?B?dFFDVjdJRXczZk5CRFdibkdVSm9KWWpiVEY2VExTb25iNEV1RUhOakJkbnh2?= =?utf-8?B?QUpadzk3NjdKdHh4N294UkpNemFMQ0NPWlI4VkxUVFhUc0lMS2xodGlUOUtn?= =?utf-8?B?eFVOK3kvMkM3bWV5RVpqbnBrMVVpbzBKZnZwK285TTdnVHZ6QnpvQjRDa3Rq?= =?utf-8?B?clAycUVxcDAyR0VLb0hRSmlNZmlCV1VOMmV2RjkweTFXTFFsd2tvMnZqM2Jp?= =?utf-8?B?R2dmYW5yOUNCZ1NHZjl0Z3RSMnB1NXZXeDV1eHFoRzRCaWdlcGE4eDhPeXEy?= =?utf-8?B?ajR2aExsOWEvTExxOERheG1MbjBLMXEwMWJ2bURqbzEydnBqUlpQZCtRRVBO?= =?utf-8?B?eXpoNDI4bndTd3NxdytjSWVtTjNaVkZ1VUdDUm4yVkQ2NlBXSmEyd1E5SWdt?= =?utf-8?B?RS9qemY5RkZQV0RIcTlZSGJyK2N1bG5EbHNGQi94NHdQbEwxL2hDUFBJQnlG?= =?utf-8?B?L0kxZW9tcGNCYnRodS92d0o3UVhyVDV3eG9QTk9QeVhYd1dQNzJ3L29XVzNV?= =?utf-8?B?VXQvVkxiK0N0WnRwZ09zZU1ZUU5iTjE3NXUxN3haZE4yU2haSVVXa1ZTb2l5?= =?utf-8?B?Rm1wTWRSQzh0SXIxMnBHWlZUNklkUFhRdm1nRE5aSDZWRDA2TjJUdFk0ZE8r?= =?utf-8?B?ck9pY0dFcStxT3dQRU1DS1ErNkxsMHJIYzUyZ0dwQXZ4TkFCUXZ5dHRZclRI?= =?utf-8?B?eUZObjY4RVdubW9RMnpWR25LbnFua1B4QUdTYXhFM2Q4N0p5Nm1VN3NpeHJa?= =?utf-8?B?Ny9ESmhmYUpDZ05XZW4wbU1sWjhEUDRkOVhVbFN3d2VPZFpSVlJvMUtueUY4?= =?utf-8?B?ZytKQ3p3cU5HQnFXOUpWTjFTRE4zdnFmVGlOU1pDTXViemUxWHhyOEZGbW1O?= =?utf-8?B?cjBHMVF3Z3V6WlM1V1grQXp2T3U3MVptdmt4L0dVMmVyWVp3c0tOZktuTDVn?= =?utf-8?B?OG1yR2hXd2hra29memNSNTliTnY5UGtZMVIyQzBVMS9Ma3R3emhIWmE4c1ZW?= =?utf-8?Q?K+erf7RHPB/D4E5c3E=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?akFwVzMvTjJmVUZ1cTR1RHdSNC9haVBmb29kVXFteEdUdHZnNm5OVDcxb1J6?= =?utf-8?B?bEtkSnVockI4MHZUdmhKUDVYWVdtVmVkc0hRNFQ4ZWFzYllXWUt2bWhrcW5J?= =?utf-8?B?dE9RbkR0dVRaRk80WjE2d2lteDZGU3I3N29zVmtQYnZCZ2pWQmxNZkh5NHFu?= =?utf-8?B?NnJtdjJqcE9PTGc0MFRXWklFYkdHUE1BeHhBMDYyTERIZmFTTldvNlBCUTZ6?= =?utf-8?B?QW52aHBMekYrcEovWmo0dUFic1NyWkx0aTVQTllrcCtwU1d3VlVZZlVXUE5O?= =?utf-8?B?OWlJemQ0TjlCNFFybW1uTlp3eFg5R3llQXJkMVdBT3pJR0JjNjFiMFYzZVRT?= =?utf-8?B?cDc4K2RrL1FPd01vbHdpb09TdEdFbUtqazFNbkYyYlRMV2RkdjJZaDFwd2xE?= =?utf-8?B?Vkh6VFlaOVpuS2wvaXY0aHBvZkpLREJyMEhHYzhTTjNrWm1DYjhrUEJkSnBL?= =?utf-8?B?QVZJb21pbkxXVit3S05LdWpGN1gyY0JoRmlGU2RZTnFQK2Vxbyt1dXllRDFT?= =?utf-8?B?djQyT05FaGJiazg4TTJtWGJGKzN6Q1VtMDFFeFo5ZHcrNElIdE12RHZIRWpw?= =?utf-8?B?bGYwM3VISUIvRWlZTEFUZ25oOWRNTnU4QWVVU3NoSUlJR1BnZ0VTQVRoOGdT?= =?utf-8?B?aUVKdWhUNEtPTEdvbWovSlZCZU5wUDU0UmxDeS9lTDI0YVd4cDdWbldSN2dw?= =?utf-8?B?UnA3TWsyUHlMeHVaZjlmS3o2V2diRkpxRmI4RkRmK0lLdkt0UC9NWDJwMnpQ?= =?utf-8?B?eDV3SXZRLzJqd0hicE5DVVFmekl4aHJ1UUNiK1MwRzVWZnk5dUFEak1DZnF2?= =?utf-8?B?Zk13NElGd2JOMTloNG9MZUFCemZCSENWYk5EbWRRZnMrVFg4dG0xMmc1VDRh?= =?utf-8?B?cHk3Qkc5N21EY0twLy9LdEdJNExOby90MXJPS05OZldBNENaWE5WdnZZWW81?= =?utf-8?B?RVhUYW9POVM4ZmhHanZJcThlc0RzNGtvc1RpUXl3WHVwT3dodk5NNk5zOEc2?= =?utf-8?B?Nm9wdTJtZGU3OHM4RmJLano1QWJCUGpzTW9rL0JkSmwwQjEzL2FUaDFpQ2dE?= =?utf-8?B?YnEwQ1E3NEw3S2UwTC9PcHVhRmJ3enYvK1dUcTNKM25KSUpIK09JMnY2Q2dE?= =?utf-8?B?SFZPamozTWd2OUhKZ3laSnJHL1IrcFZJWG1qMjYrRzN3d2xkNUczc2dUdm5o?= =?utf-8?B?R242ZXBxRlZaRDBwVDdYMFphZ1ZLd3k5bkJNZy9QTkxUVzArdE9tT2UzY05W?= =?utf-8?B?ZXo2azhFZ0VIR2w3dGt2WkIxVS9IRFlyUTMxQ2ttclRvMXRYbWovN21QbFVG?= =?utf-8?B?R3FNcndKL2R3VzRZdVFCTmszS2Nqa1ltU3FaNHlXdTlQTjN0dnlyLzVGNVIw?= =?utf-8?B?OEE0SVAwdUxMUFNYNGhKYlAzSDNxWm9uR0FCandZNm5NbkxtZjFmNGhOanJt?= =?utf-8?B?MDFLcnkxV3lHaWRydzRZYXpMZzZsMnBGOTFpTFlZektiTzhnWWpNK25ieFpH?= =?utf-8?B?WE5oNGU1RXB4cGRldThyYnAzNGhKaTBUYml6ZW1FNE04MFB0Q3I1VWxvakxJ?= =?utf-8?B?cXUrai9RNzk3TG9LZHg5d3FZMk5xQWdyR2NrZlZ6eVBmUENCUDJRcWV2Ukxr?= =?utf-8?B?S1dqSnBFNkQxYURZalUyM0NyWmlkRGMzZUxudDgyc3QyeTE5aTFCTFArOFJ2?= =?utf-8?B?d2JER2VJcGdpai9lVWZ3Vi9aNXI2eFBMYmJ4Q0l1S3YzVUxjNUhtVkdGbXR0?= =?utf-8?Q?V+whBayDNm/LFmDF5kSoWxNtlySSWBo2CePCkSm?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9652cfdd-0ca8-4e0c-e17b-08ddad234b48 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2025 22:15:25.8165 (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: AS1P250MB0680 Subject: Re: [FFmpeg-devel] [PATCH WIP 01/10] ffbuild/bin2c: Use zlib directly instead of gzip 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: softworkz .: > > >> -----Original Message----- >> From: ffmpeg-devel On Behalf Of >> Andreas Rheinhardt >> Sent: Monday, June 16, 2025 9:24 PM >> To: ffmpeg-devel@ffmpeg.org >> Subject: Re: [FFmpeg-devel] [PATCH WIP 01/10] ffbuild/bin2c: Use zlib >> directly instead of gzip >> >> softworkz .: >>> >>>> -----Original Message----- >>>> From: ffmpeg-devel On Behalf Of >>>> Andreas Rheinhardt >>>> Sent: Monday, June 16, 2025 8:52 PM >>>> To: ffmpeg-devel@ffmpeg.org >>>> Subject: Re: [FFmpeg-devel] [PATCH WIP 01/10] ffbuild/bin2c: Use zlib >>>> directly instead of gzip >>>> >>>> softworkz .: >>>>> >>>>> >>>>>> -----Original Message----- >>>>>> From: ffmpeg-devel On Behalf Of >>>>>> Andreas Rheinhardt >>>>>> Sent: Dienstag, 3. Juni 2025 16:34 >>>>>> To: ffmpeg-devel@ffmpeg.org >>>>>> Subject: Re: [FFmpeg-devel] [PATCH WIP 01/10] ffbuild/bin2c: Use >>>>>> zlib directly instead of gzip >>>>>> >>>>> >>>>> Hi Andreas, >>>>> >>>>> thinking about the direction of this patchset, I came to this idea: >>>>> >>>>> How about ditching zlib altogether for this and replace it with some >>>>> compact compression code right away? >>>>> >>>>> Something like these might be suitable: >>>>> >>>>> https://github.com/ariya/FastLZ/blob/master/fastlz.c >>>>> https://github.com/richgel999/miniz/blob/master/miniz.c >>>>> (licenses should be compatible for including the code) >>>>> >>>>> >>>>> This would solve both problems: >>>>> >>>>> - zlib detection during build >>>>> - zlib being unavailable at runtime when linked dynamically >>>>> >>>>> >>>>> How do you think about this? >>>>> >>>>> I think it wouldn't matter when the compression is slightly less effective.. >>>>> >>> >>> Hi Andreas, >>> >>>> The compressed objects will be included in many binaries (and I guess >>>> that most users will never ever use them...). They should therefore >>>> be as small as possible. >>> >>> What I meant is that when it would be like 5 or 10% less in >>> compression ratio, the benefits would still outweigh. But I suppose >>> you'll get pretty close to zlib anyway. >> >> I'll try your tiny compression libaries as well as zlib and brotli and report back. > > Awesome! > >>>> But the approach of simply including the code for compression is a good >> one. >>>> It solves the zlib-detection-during-build problem and the .text size >>>> of the encoding code does not matter given that bin2c only exists on >>>> the dev machine. I'll implement this. >>> >>> And - as I just realized after suggesting it - there are even more benefits: >>> >>> - the dual code paths for handling compressed/non-compressed resources >>> Will become obsolete >>> - same for the conditional pattern rules in common.mak >>> - and finally, the configure parameters --disable-ptx-compression and >>> --disable-resource-compression can be dropped as well >> >> I do not intend to remove these options; in fact, we will always have to keep >> the codepath for creating uncompressed objects (because otherwise we >> would make zlib a hard requirement on the target system). > > But why that? If we include the decompression code (that's why I've been > searching for the most compact implementations available with compatible > licenses), then we won't have any zlib dependency anymore - neither at build- > nor at run-time. > zlib availability is not an onerous requirement (and in our case not even a hard requirement); several components already have such a depedency (e.g. Matroska allows zlib compression and files using it are common, png (both decoder and encoder) requires zlib, the http(s) protocol requires it for zlib handling). If we include the decompression code, then this code exists in every tool (and in libavfilter). If said code also performs worse (compression-wise) than zlib/brotli, then this is a big no for me. - Andreas _______________________________________________ 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".