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 ESMTP id 1965743E09 for ; Sat, 15 Oct 2022 00:25:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B487568BD50; Sat, 15 Oct 2022 03:24:57 +0300 (EEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074012.outbound.protection.outlook.com [40.92.74.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D140A68BB80 for ; Sat, 15 Oct 2022 03:24:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f7EeSZ3VGWziU7EbBWSTd/wps7ZJ2alB4+p6X1Q0lIPgK5tXZhRb7/IYfEIzVTy6P0Pikgvda0DYgwAvrWNOuVDg30HOnXMsBzq+Z6dOK22DlQ8BOo68WUDAknG9XfHNEDz9UqwxyLGEmRauOh9QUhqg0qe5e7AR2SkhlQ8nSgy2QFpcOLXMg6LSqWBkYm0G+4Kmn1q627mS6J0ZWTSe8oD3sHunM9NUaoUzDUm8TdN6ViZAA1pcwv90DKlQLVVIIBzdpPm1DNGIqo03GLP/OJ8kBfZhzQ8htpHYdLaYps+zw1CFyrIQx2yEXHfoHrNoMqGYCDnuV0wRJ2GodlI4Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=nsKHbzAeoVdxkcjF+YSCAnOhQhXp2jqQoYOSKDhl1Bk=; b=i2vsm4BbPt/DSUmxtrG2AytjQbDsGxQLgAIumF8A+UklSCJGbhMakBTmv1dmcZ9jvIBcGm+VrwBtpkDfOppmbaZtQw8GDKsOPULowithDH/ry+GFSK98BePmSlu7Sjkqj9vJavPhdIfspLzwF0USRpcosAD2N4dYIEwZ4kOmmH9dMx7TgceBKw7yosKn19JhePq7O9QtU5J2pr1tNNJlK93Su/833pZgeVa9HXjfYw0FgEOhAyUX6FK4hI6rsecg8iaMPryDqm3jq6LHlweZhhNy1AbK0zhG4cr5m8THmpYCEQYXj1JWKShRIKDhWMZPH8fhtOvzTC9mPHut+ywyNw== 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=nsKHbzAeoVdxkcjF+YSCAnOhQhXp2jqQoYOSKDhl1Bk=; b=lk9vZ0BrLfAXe0xfW3twPXjDA0ckwGcj3v74qXnc/in6pOWVI3QQ2qFQa+VqBIFY/Q8Kw3VyPB0kdnX9WKiHtCwvhmOdacNzC4NkroF2Hpe6X0KIuXhLg4v7HN7q2y+Sc/ske4DioNGCS8Ihc9N5TD9ens38fbJgGCcUgmbqmnXnDBVaA2iSNxz+hVCCZxe8okjPGUNZno/4F1Y1r754muKBdZmtdI0erPWdsgO+1NbBAN/yrW1pUW41CSarOUgyfTtqKMyWi9+mTUXt3S6l/xszPWzQAIQzJ3MMVpJLPGArJpSbaUGCRY20rMWELtG4XyIf0SLQNsh3SZp65jVJfA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0199.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:326::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Sat, 15 Oct 2022 00:24:48 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Sat, 15 Oct 2022 00:24:48 +0000 Message-ID: Date: Sat, 15 Oct 2022 02:24:57 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <5781e37ed86f8c9554a5754103d6a7ea5dcd6661.1665728570.git.pross@xvid.org> From: Andreas Rheinhardt In-Reply-To: X-TMN: [l+/Ra9H/KZrezoble/HVPAYJUeZXdM4dyTD+Mr9f7TQ=] X-ClientProxiedBy: FR3P281CA0129.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::17) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <9cd4f1c2-6e4a-0411-71fe-eff037c7becd@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0199:EE_ X-MS-Office365-Filtering-Correlation-Id: 57c92766-a979-4187-66c0-08daae43aaf3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1fkD1r9O2XDRWY4yPguY/H/YvY9vGvNiNOS7LKP6uncCUnFu05icdUIh3IWlq7Tc8K3UzV8RZKA42vwMlOXgNUhKw0hbcKu1dSf9VeEibVth2aa165OyhxRz6mX9jC6jRHBQ5LV8IIVJz8R1laeWhGAMkkw4h+yo3OyN3YRZY+C7B277PR2csbVyQagLza7dLLN9cpp+BLRq2KmefSzP3pD/9Qccc7HC2ao1+shMHYK4uLtj4tEzJa6pIe6oYm3wd5d9KWDY3BcmyjWmFgRrl5r/beXg1BJjqpCnA3s5CucVdIU0Pu24KElF2ONo5WZHja23uJCCJXfWWzK+0DiliZ7WhgJjOrJtpLGtEwXLgmnAWL8ZLzrzEpWnvFP1RHhk+lCQl9t4GDzQIfXzGzM0RsEygrAoFOnAEQqek0gwZWDjtn4KngQNSmAl4eUoFne355PMwpOMLS8anBhtqCRZGm5HN7CAvAmrycDnCwDXnQTEMNec8vJ2VdTSxokXDW0baMMhWmiOso2W62IZUoimM6GKeDpbK11lg17JP/zBpMIsemy29rfn+uahYD/mcrOXKvOBxbzaJCuceaWEd8eD6vwbRCWw1glnRd1QJuSLyBrPAwS1kZ1I1mnSz9JfEfeJosVhTYBpJgXqPeVnkBTBzxexLLDji8U0S+5cvZs2Q9bVJrUa+FX0mm6j9NMec9Pc X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WExTTDJiK1V4aTJDWHpoY2VSTEttbkVJa2JpTHZDUm0zQnk0ZU5UWGhDY3pn?= =?utf-8?B?dDB6cTV4NEJtRnppa0NIck0zRVRpWlc1Nm0rSjQwbHhjTjR0K2lqUnplS3ZO?= =?utf-8?B?QmtQSTJscXVDZmQ5Z1VwOE9KTURUdWNNd1VZVU1hSFVxVUgvSEVJcVlwZEFt?= =?utf-8?B?ZU9QWkpKdzIvbzd6RzdvRXlOOHlhOHlhUFFjVXphdTI4cG9RY3kyd0tsTkd1?= =?utf-8?B?R2l5QU5XdU5DcWZZSTFqUWh5dkdMMkZ5K0dPZUJuTkUzaXBZMjJjL0NuZkhR?= =?utf-8?B?N0sra3BzeWozRkNBVHJpRFArRVBlRUE2bmxoTkwvT1AyejlZVTB3OU84akhy?= =?utf-8?B?REJOa21MVXRVdUx0aGxHVWdGclVYWVhVSWJRSGtQZDlHVEhTckJ4dGpIbmVt?= =?utf-8?B?YVczaklUWldqcm4yY1Ric25MOVl2YUhJZEpDTWZZVUlIaXhFSDFCaEtTV2VU?= =?utf-8?B?NHlBVkRxUHR2QjAxeUE3S1pVc00vZjMvL1RkMXdCNzNFbWhqVjhpUTc4aXlx?= =?utf-8?B?QVI2ZzR0aXE5aGM5ZGdWcnRSdVAyRWtLdU03NnVFR01RTE1oL296U3lQTkhY?= =?utf-8?B?UnRiVTRFcVM0cjJZT0h4UTlKU3hoT00rOU51U3UyZ2FaQmxSVUppWXdBYXA5?= =?utf-8?B?dlRFMDFFRUZqNWI0VXorMEVEOVFtZXJUY1dCV2ZTZEZCL3p0M0JpUDRxNFZl?= =?utf-8?B?L0o5Sm10ZGY5Y0lrYVdDUm9QbCtFN0ZMSzJoTUlVZksxYkpxTDZialNEOU5U?= =?utf-8?B?eWlLYUJrZUNzekNaWVQyOHJ5Z2pMREdRcTJNcDR4SmZGSk5qTnJjQ0JJTWM2?= =?utf-8?B?VEFINlAxWEZqSUFkQ1NxRGJ5c3RtalRyZkNQdm9kakdkUDM2VGFnWUFRTTRR?= =?utf-8?B?dXVMaXVYQ2svSmhVSWZmLzVFOTZNTTR1Qi9aME4wU2d5d2tBRVhBTlBSK2pF?= =?utf-8?B?RndIcVZnVHkxRXVNbmlnWkRYUDdXcUtnSnBrNC9OZzBZditQVm1VenJWcUhW?= =?utf-8?B?L1d0bW5XQUFUSWc2c21VRkZlYkpZLzVSTlhvd2QyM01XT09HUUhDdTJMeGVP?= =?utf-8?B?bTVkd0hoZUsvZ08veTB6UG1kMmdicDJKOVdoNDVNWGdHL1lpdVlQTHd5Q1lY?= =?utf-8?B?ZmM0aEt1cVVyMlhrRkpBa1FMd0FLRlBkVFNtUVVFNFA4NlkvRkx6TlVPS05I?= =?utf-8?B?NS9MSjNWK1NoNjE2OXg1RjF4bjcyUCsrbFQrZnIzbHM5M0Fzd1A1cnNOZ1FG?= =?utf-8?B?cmtFaVRNUmRsT3ZrdVVSeThzRHE0MjkvSDRTbGFkTzhFNEd2Q2RaR0xZU3RI?= =?utf-8?B?VUZocXdPTkptYzA0R21XcnNZaGNTcjkvL2ZRbkxTWHR0bnNLV2hsMlk4Vkkw?= =?utf-8?B?ODA4SzRZZnVVbWhBZjFybDg4SGpBeHJod3RyMFIyTEJJSllKcHgyaVJiZVNz?= =?utf-8?B?a0dJc0V2RDVXVmtoaG9WUzV2ZFg2V1A5VDJ5ZUZYdzVqd3FuTCtrYVRicmhy?= =?utf-8?B?RVowSWljaU9OOWdOYWFzZWJ0aStrL0lMcmlUcm9KT0lubnRhRG1pQ25zc2wr?= =?utf-8?B?MmtudHB2TUZmWU1MaGRybTl4OVZPVkNieHBCYWRzaGl5N1JiNU5QSGVhMDlh?= =?utf-8?B?ckNadTVoUVlQa256REFFdUZoREV3Z0dFU1VGVE9ybm9aYzZiWUJJZktlc0RN?= =?utf-8?B?ZmFwWnNUSnU5ZzhORGkyekZYcVpjcGM4anJtK1BJN2c3eG5IVk5ic2RUK003?= =?utf-8?Q?a4f7oXCNPGj1s9KfcIdghKukiDyg4Rc02+y5wGc?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57c92766-a979-4187-66c0-08daae43aaf3 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Oct 2022 00:24:48.2353 (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: AM8P250MB0199 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avcodec/jpegtables: remove duplicate luma and chroma quantization tables 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: Peter Ross: > On Fri, Oct 14, 2022 at 05:19:44PM +0200, Andreas Rheinhardt wrote: >> Peter Ross: >>> Duplicates of the standard JPEG quantization tables were found in the >>> AGM, MSS34(dsp), NUV and VP31 codecs. This patch elimates those duplicates, >>> placing a single copy in jpegtables. >>> --- > >> 1. mss34dsp now uses jpegtables, yet it does not have a dependency on >> it. Instead you seem to rely on all the users of mss34dsp to have a >> dependency on jpegtables, yet this is not true for all of them. You will >> get linking failures with --disable-everything --enable-decoder=msa1. > > there is a OBJS-$(CONFIG_JPEGTABLES) += line in avcodec/Makefile that > takes care of this. i tested this patch under few different configurations > and observed no build errors. > I am sorry, I missed the '+mss34dsp_select="jpegtables"' line from your patch. So my first sentence above was simply bullshit. >> 2. The fact that you need to add jpegtables to configure for almost all >> components that use the jpeg quant tables means that it is not really >> appropriate to put the jpeg quant tables into the same files as the jpeg >> huff tables. >> 3. The jpeg huff tables are duplicated into libavformat for shared >> builds (because the overhead of exporting them exceeds the size gains >> from not duplicating them); yet when one uses --enable-shared and >> --enable-static at the same time, it might be that libavformat.a is >> linked to libavcodec.so and therefore has no access to libavcodec's >> internal symbols like the jpegtables, so we have to duplicate the >> jpegtables into libavformat.a in this case. But if one links using >> libavformat.a and libavcodec.a with both containing the jpeg huffman >> tables, then one will get a linker error with this patch: The jpeg >> huffman tables in libavformat will be pulled in by the libavformat >> component needing them. With this patch libavcodec/jpegtables.o will >> also be pulled in. But it also contains the jpeg tables already provided >> by lavf/jpegtables.o, so you will get a multiple definition error. >> In contrast to this, before this patch, lavc/jpegtables.o would not be >> pulled in, because all dependencies to the mjpeg huffman tables will be >> satisfied by lavf/jpegtabes.o. >> So to summarize: If one duplicates stuff in multiple libraries, the >> object files must really provide the exact same symbols; not more, not less. > > wasn't aware jpegtabs.h was duplicated into libavformat. > I said so on IRC yesterday. It's the reason the jpegtabs header exists. >> The last two points imply that these tables should be moved to a file of >> their own. Btw: I don't think that a configure subsystem is appropriate >> for this (a single file with some tables is not really a subsystem); >> actually I don't think that the current jpegtables subsystem is >> appropriate at all. > > will do > If you do, please mark the declarations as internal so that the compiler still knows that these tables are in the same DSO. - 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".