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 F11A240164 for ; Thu, 3 Nov 2022 14:19:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EA81D68BF92; Thu, 3 Nov 2022 16:19:13 +0200 (EET) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03olkn2098.outbound.protection.outlook.com [40.92.57.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C5DE368BE78 for ; Thu, 3 Nov 2022 16:19:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g8UFdmcJYPmxtTSm/XirlF4DkirxObVKSek4OZFbnh6v1KA8FrVGCIxNeFitivDnaH7c5Q/4CO1mPjJa5EQQoBOsCIQ1ude3ku+ty1q3iEixIFqUwvU5xBkz3RhUxszHQEpzIHoMtQDIw1xCUMYrz9q5SR5t0dn9jhtV/2UjRMrH39LQIS3NPIP/H+3i1YJ4aYrfZcHnj8fxamSDPx0ZH2lGzjGM3Ev+hRRWrjORdfuNjtg/uC4km9Fy1AEaTTXOtYt0nvGPjvugprupHI5DYtyfs6Ancnc95SEcc1ZPXrx33qoReQV66F1oa8fS3Wm/2E3YkRZduQyS3QCcsAmEnQ== 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=UrWCKfxLwz3BDcfdjPTRjdCeCgCiS19Q7Xp0c+eCV+E=; b=KwhHmexAxRKJI9V+UQkj/gf7kHZiYeK9uYH8PSN9Bcbv9fK83E6rDjS4ASdYHWDVWM6hcc3Y0SyLI1fW+h+VwHItw88albgkttt0yuHH6IHPxWIGcj8ORx59a/yNPrhaGUyMl9vbj+jYZLN7x12Oo2YYbGbW+xzZx0BtXUDuZgqpYwla74F3GBbrEnWifFPVeY4uaM1NwEQMgSnaluzs7oDruQp+alWAFcSsGLkWmAkYpsXUYxu+fi1WssMc+EaqLCZNKmZvJsxPRk6XJBvWFAg6IchK3VSKFK+eAOw2F+qNjFYdCHG0oMDVFpudurjrSQzykGXghwAyOxGseFGMzw== 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=UrWCKfxLwz3BDcfdjPTRjdCeCgCiS19Q7Xp0c+eCV+E=; b=YW/gfUysVFDwBrVsT4S3yiDXIUUTyIFOFrg/GVsBhd8ik5qOoY10OCm5RB+VVKD/516jdGCCNZefYpPwnZfg30QiED4cEzCHufghp7U0StT5s5yf20mggzXoD4TzQZV1q6AhghOI4ulxdUfg2c0sX58R3vpSDfGEuy8c6iKvamlRtV7kLYcQkbyulr0+RQXPWpFt0tDYyn+OBWv1gaxWJ2fIZH0o6q9Dk95aCSRPo7MwmDtqFn+Nz3GbF3yMk6a1wYl/oIgMa9k/ScvL699JhF9DGEwfPkKReXQh6kTy9+PQUJALgmA7oymQdC9cz9scO+zTFlsXiKmuLXoSlqMF0Q== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0281.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20; Thu, 3 Nov 2022 14:19:05 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe%6]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 14:19:05 +0000 Message-ID: Date: Thu, 3 Nov 2022 15:19:15 +0100 Content-Language: en-US To: FFmpeg development discussions and patches References: <06138cd36b600db9865a573cd95cd9e33129a103.1667325395.git.amy@amyspark.me> <604794cb-6ad6-0223-2280-75a7513fedef@amyspark.me> From: Andreas Rheinhardt In-Reply-To: <604794cb-6ad6-0223-2280-75a7513fedef@amyspark.me> X-TMN: [tVQoi1Xjq2UcNsqdsPlnxLwDHc0Qtx/otLzR6MqB/xQ=] X-ClientProxiedBy: AS9PR04CA0166.eurprd04.prod.outlook.com (2603:10a6:20b:530::27) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <90c2a545-27c3-d0c1-f091-6a9cc4045210@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0281:EE_ X-MS-Office365-Filtering-Correlation-Id: cf681d02-9275-4410-9e51-08dabda65d15 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N18m7uyXMvHFZB4X4U2jrlmb1KDQGwUwmh6qcTkdjgPkllejgt/87hrtNIBh1WAVqCwFxL1Fr0jQud1vVO4SR6NU/mX8Y2kbtBpKbnyw+l5/DJU5kBkA1D35RkGlHfhkcxmtUq05Rp3gRKZn6xJ02HH31k9cHK7uGE8DzDY4U8UDTWhNy40JH/1vlaJVyIi8IAnGMkefmPPnz7fOAzCOOTtc8wxp/T5DkmGXvr0kP2Zy6Bb13hq2i0YpwbF1XW2Op+OdLx2VjhU0tmzZTp9jyaxFb6zoDaVc/KiZBolSYlt0fJLRtUM6lKcFYB39oRM46fBxUDnnNWkYkBekyeAOBpV2HmPzDqv5+S8QO75LY9ETVdlicLbVF5j1HQIN2lFlXMsE+ex3BOQGFuZ+qyQzIAlEDTX7DPzSkpAzU7GiS05ER/4JlSvUFrJpuXAaA1Xmbm1TT8O+yTWCudQ92rDkgiOWQcCXWFNpzLliUrGC9zZMdkmhHnpmYCn0mgfrsF81dJpl8hP5fIPyUWIFXNOZ4QYJnJKnzlViU2LG9nlBmdV+bO62QS0Zq22T+XnXrDzG2EUxhxX26JNZ7g8dD8iUDb9JT9hnc8tk6wKRdA4TlPKYyuLI3ssW+IUsxRNIu7BPpJyWvNjY1PcjJB1Vu8Rha0o1+pinIBvjdeB9T9hWBcUDIXrEMucIRUaeM5gCJRpXdFPJHpuy0S/nURXb2K7WiViXYwWli9sQbJ7PtNBJ/IA= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c21kVE81Tlc0Mk43UkR4OUNCK2dLRkhZYXk5Ty9oWi9SQ1dFejUvbGtEL0tD?= =?utf-8?B?c0hFNVA2K1NGWDJvT0N3QUhZT2ZoNi9NT0ticXFZMHdRQnVtRC9hUjNTMDN4?= =?utf-8?B?OWd4cWYwNWFOZTBsdCs4L2hoOXA0RUNUUk1zcitzZFVtZnhhTk4wZElCTGRJ?= =?utf-8?B?SUEvejdKMGJuM21JVUppTjQyUGJENWp2Zng3R2krWkZwci83a3R2ZEo2bWgr?= =?utf-8?B?aGd6TGlYWi9QTGNRSW5lMllMbFk4NFJHYTJFTndpNlZxTjU3TW5HNFVnV2NK?= =?utf-8?B?MU1LUng1d0RXZ2NRMHJCU25BNlVmWmxxZlBVbVNCNXhiZXNYWmE4ZHZ2TXd1?= =?utf-8?B?SFlya3Aybjh6dzIzM21Fejl0bHhPRkYxNERNbDVaSWc0Y2FLSGVjSmtteDhW?= =?utf-8?B?UjljdVQ4SGVFTmxBLzkrbmtINDRwcTUxeGhrQUhXaXpSTTNIcCtkS3FCNkgr?= =?utf-8?B?SE01QUJNbko1ZnJrWnpIbExjNldURkNhSnVDeEl0UHhndG9rQWQvb1ZpblBX?= =?utf-8?B?Sk9VZDNKazg5VVE1Y0o1eEFVVjEwS0xuaHFpUU1LR3pTdjBSd0N5OW83VlZq?= =?utf-8?B?ZXBPbnZkb0J2TVMvQTNPLy9JMllWQWdSSTk4SFhSaXduVktDNEVhSmxJVDc5?= =?utf-8?B?eHorTWY3Z2xqWnl4RzRPVUo2bXBCalNNRTl5UFF3ajBzWDgzaFhGSC9DajZz?= =?utf-8?B?Uk1nVnh2Mi9DOU5xNDE5R2N4TlhlQXpzRWVTeHFKZktTaFdKQTNzVGRxMUln?= =?utf-8?B?cWRCbVBCaXpyckFRN3U0MnpDQ1p6di9QVk5pVndjWFZEc2xZYmxRdUdRbnBM?= =?utf-8?B?eUdFZGFJdnhGSGxLUytMYloxYzJBRzgwUmFINnFRRmYxaU5MSmhHejh0alJv?= =?utf-8?B?QXF6TXpUMWdQMTFPRUdpM0JLQXYzbEs4UnJraEEydThzcUFyT1YzYzRPMHRo?= =?utf-8?B?UVd4NVBsT0M1KzcyVTZ0M3Y2MlplVGhLV1dWcWV6RGFPQ1lwVkpVVERUZ1hV?= =?utf-8?B?Q3dYN1R1anNOMjB4T2lvQU5ZU0J5cVZHblo5K0Y5cVUvZktubjNVSGN5aDAy?= =?utf-8?B?dkwyVjdkS2x1Ri9qMDhGSWdCYWtKdU5WUGtrZVJNM1JNZlNFMVdzd2YvcTJk?= =?utf-8?B?V1NRZEJySzRGVzVPMHhieVFjaE9tZE8rWUdrSXNOZnlsY0RSMXJ4eTdmd3Zp?= =?utf-8?B?SUlWMWh3RllMQ1hXeTlhVGJFWWlEc0duci9KdWM1KytsSm0xVmh5U2xjVktC?= =?utf-8?B?QzVHRDNRWlZmeGFVTS9ESll1S1h0T25JeURaZzlpbFRYL3JuSHNGditIQUsx?= =?utf-8?B?WFNxbW5reHRCYUtpdStjUTZyYjJKY2RDK2JIZytmd2hiNjdnL3lVQWQ0dVRI?= =?utf-8?B?c2xleDd5QlFCZ1piSkRIVWZ4MWJiR1FZbmhaNXBnWU8zeTJaTWlCZkhvNXBW?= =?utf-8?B?SUROYjFkNXJGSnVuUkszblI1eG1Fc1EvcjV2OUVjaTNvL3hMbENiSEk5VkF4?= =?utf-8?B?ZHhRQXBnNWZlVWVqMzVYOVh0MGZJOHpkWmx6TVh6RC9DMUZPTHdUVnFLOWht?= =?utf-8?B?UmhDT3diVm94YkFwbUs3ZEdHNW1yNDl2SmNBYnRCNDFQWFJUdStKYWJIT3VW?= =?utf-8?B?SjNZZmJMRWZCUjlpKzZEdHk4bHJMQzJGbHZOdDFoc3lMNHYyQm4vM0E0WEVG?= =?utf-8?B?clFpZkhXcmhEUGZIRGlrQTdhd1lnUEJ5dGtuOWJqS21pZk1oREU0emNkSDhi?= =?utf-8?Q?X3Bapn78ZZ580R7WaBtlfopPTzIEox/QC+t35Hh?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf681d02-9275-4410-9e51-08dabda65d15 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2022 14:19:05.2139 (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: AS8P250MB0281 Subject: Re: [FFmpeg-devel] [PATCH 1/4] all: Replace if (ARCH_FOO) checks by #if ARCH_FOO, part 2 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: L. E. Segovia: > Hi! > > Thanks for the review. The comments will be fixed in the next version of > the patchset. Just a couple remarks: > > re dcadsp_init -- this one comes from 4.4.x having a clause there to > support SSE, which also checks for the x86-32 architecture [1]. I've > removed it for the current version. > > re flacdsp_init -- ff_flac_decorrelate_indep8_16_avx and > ff_flac_decorrelate_indep8_32_avx are from their inception only > generated for x86-64 [2][3]. This check was missing from the C side, > implying it relied on DCE to pass linking. > Sorry, I somehow did not recognize that there were already ARCH_X86_64 checks for these flacdsp functions. > [1]: > https://github.com/FFmpeg/FFmpeg/blob/release/4.4/libavcodec/x86/dcadsp_init.c#L40-L41 > > [2]: > https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/x86/flacdsp.asm#L315-L318 > > [3]: > https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/x86/flacdsp.asm#L323-L326 > Another idea that I had is as follows: Instead of using if (EXTERNAL_MMX(cpu_flags)) { ... } we add a macro IF_EXTERNAL_MMX(cpu_flags, ...) that expands to "if (cpu_flags & AV_CPU_FLAG_MMX) { __VA_ARGS__ }" if HAVE_EXTERNAL_MMX is true and to nothing (or a null statement) of it is not. Advantages of this approach are that it does not involve sprinkling the codebase with many #ifs and that it automatically checks the right stuff -- namely the corresponding HAVE_* instead of just HAVE_X86ASM as you do in the last patch; notice that if an assembler is present, we expect it to be able to assemble MMX(EXT), SSE etc., but not AVX, and consequently mostly don't check for it in the .asm files, but as has been said AVX(2) and XOP are an exception to this, so that one would still get linker errors with your patchset if one used an assembler that does not support AVX(2) (or if one disabled it via configure). Disadvantages of it are that one can not add more #if checks to the "..." of these macros and that there would be some calls to av_get_cpu_flags() where the return value would be unused (we might have to mark the variable as av_unused or mark said function as av_pure to make the compiler optimize that away and not emit warnings for it). But it would still be usable for the common case where there are no further #if checks. - 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".