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 A219A433F1 for ; Thu, 9 Jun 2022 23:16:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0E55A68B7F5; Fri, 10 Jun 2022 02:16:24 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2107.outbound.protection.outlook.com [40.92.91.107]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7601768B64E for ; Fri, 10 Jun 2022 02:16:17 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ny9UEfQfG1FeWDi9n1JOKMlXEiU3rdveTcqGZEL5m3gIdGj3lLuFcw2VtQLKhMszDw8qvymsz7NzK0BYo4wxcoB5lhrBES31Lc/kYS3qxB1YjQTGSe/MLfgpNaj1n49BIjnRxyMTaMTqrwGYEwn/IwnPzt00LNRHXNuj/0ZPWJ0kxAFtnMKRLaq1qbYrnrjqljpW6sFlboMn3/tmMv823CeFn5Ho1u1nI/BA4FzQaQN5nRbFP/jf0L2mFsBWqdjck42MHy3n5ijVVSC4cATQHFFLaShoS7z45DOBSN8UXjL4kxmOcv/Kq9v1kqUxrhRxRHNubijP7UKLu3SECmgwCA== 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=UPsEAO01k6xLJgZGZTqT0Xcf/CfOLln9CdURTdXsAcY=; b=aj3FJQrntRql5nXmrsyizBz7S3ZPpofRVReTbjri1zd2kPtR5i/EtpeplRQRNv1Ehl9H3hJFP05kBkLzsf3hH32AWDzdQ5vgA3OfjhZXb9u39ljkqrKdnmUxMYlyvBP/d5AHVOJkflCg8VE/iYDvieg0Q5YZOk28GhG/uj5klL8ChFAwwA8bY4c9w7oClewGGcCPFkPeVsed03TXlo+7cheUc57ginjmZtP8nTr1CChTmin26XGwltSPA/Z/yvyVYF69oVaCrGFCLOK/IRN5sYzipUdpk7zgbWkRjwa2dqFlot3Kxbs4XbsQ1MAqbwq+mOvlz87owZRAQr0eqvmOvg== 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=UPsEAO01k6xLJgZGZTqT0Xcf/CfOLln9CdURTdXsAcY=; b=CU+flWi0MkXSAez2WWjtXcnq1WW34HsqzS11g8fSwSnyt2itNNhiig+4VPCej3JKJ/OcYh52lOUFbKx1Os4572eaRjqjBz4OfE4OA4AHITSEqGREMLBXJgpytIRBPWrojDsmbKsXsjpHD+PfZWq0k24IgLeIrO2lrhRJdw52XMJKb4zhP/KODo4qZuvGYyQ+kYSTP5Rbl4C9LoaTmQMkM3OSSfCeUb2u5Rxy2VqmYw/VBZG7nEoAjMIpM7ddJQY/wcm3hfFLgckjsnFls3Tew3XcB5oEFJO7p+tdAhq/FjQa0vpOgM7KOH6pcZf/Xp4vQqbnYE5adQSPTTHzslgOag== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by VI1PR01MB4334.eurprd01.prod.exchangelabs.com (2603:10a6:803:66::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.12; Thu, 9 Jun 2022 23:16:15 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5332.013; Thu, 9 Jun 2022 23:16:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Jun 2022 01:15:23 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [WQ6e+1vlLClbCGscjHWxjO8IRMTsom6A] X-ClientProxiedBy: ZR0P278CA0164.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::14) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220609231604.271984-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 42bcc978-119a-4ad6-d9ae-08da4a6e0ca8 X-MS-Exchange-SLBlob-MailProps: EpEO96k6WonAGWAYIHxzt79KejfqWXcIXdiN7gFs+3B4eVvT7VvagIqSfrSINo+5mX8YCJjPUfpxTOwVkG12LB/BifQyOsFQ77e7t/0L0lq0ZnZ8ZJpgYqwyBQZ1pwL76wsneoa65Ps8d9azB4dQuSI9uezQU4bfFYL0nOCrKE2CaOmY27VDC/2xOWyuuntaPsk2Glkr/AXrIQZpQSNpygsRUFYOkK2eraeW8fnz4qUSPNRn0do0/t7F60k38Tcd3WfOSjf03191IhMFD2foUwf0s4Rynj9QgqwGLd2W375AFmeI4MtNCCy0x+8JJ2JKIC3rCX9QcHMZCpurZq4/sKmh9XdVDshl5fb51QNiwVZ6p5YqIkYeEOEGnsDgbPs1Ll34nJv6q+EflQ+lJbC+7PXfxcRXFCQa3a2tpb8R0r+uBFE+2XNY4tg7c0UyggnnZBt7NAqnM2CZ4xNPHER+xDEEwX7ulUqt1uOieDsE+otZ2u/URwjtQjWc4N/41U7glZUSKENNGYaXTo5E89Dt2zB7ywfDnSouBDlI7T4ZSvIwxnW8c3iK2tdRaQ2wGaIk45l3FCt1NFK+vBmTntl+aNFVsL9JYBYZlVqCHaC8hNfLBkZ9+f8iw0IPTG2+AQ0WnVfe576IT346jBzUiyeV1N5M39npKxAQciYDaBR9hEsiHk8Fn/aFfQI/vvZsHWZDryn/lhFRM/PE57LDGDSIkC1SUBhVLKcv3oRll4xPcuNBEBpeoMgbBTBa4Pom2KZ906EltJxgLSs= X-MS-TrafficTypeDiagnostic: VI1PR01MB4334:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PNo0Dw6ci+lVStU4b+GDwUPk+jYwb941zfc6h4+lX3kC90WUUy9ZASLQu96JxUXNFk7zBPldS0/oVq2ZGmTnfuyLMqBXAq4UCD0CGl21xojeZJRBWgCvh20aHQPxul5pgVyepqKXZHomzZzYAqL4eAT1tnL5XZQH2eXO5abIB45ZKal98Yc358Mz2TPl31ohb2MFysTShOpL1gcW5+usNHK8g9Rv3OUPZeDCIkLCotCrFCCq+CvKvIHA2iVcOnUXs20v6F/Xbjd2x6v0oxUdAhFWsN/GB21bZjlqF0U8SBpiA0CKJ9Thi/fDislEe3JRiqU5byfyVEMCY/eEYOuFmitw/rwgXek4Elr/dShofMYzESPZf+gB3hEQkaGng+lh0/ohZVPuTOsWa/rvke423p1e1oUqOVm82R8dgjZwRNDwv4YSEez5zI8NVGT21WBOEu/M4yxf8ks9FwziyNPcnUysbSTsLCXs+2ioI+LkAYWWxOYe6TkavVZmW1G4aw7mzlGNZ22d1arn3CUs7NusEcRS9aR5KsLnmAMj8FR2ziZUGVA+9dJ0QEEXyHNGtfsWXcqPFWvEDhN3Tr9iHqdgqQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?w+vAIN685vreizk1kKVt+W5VBQni8Qfz/o6L4Lo6ASDYJVXaAO2BZasyGUSY?= =?us-ascii?Q?XEGb8nFNsWNiqIk6qnUms/VDUcxasnJ6/vEwx9NoYNjHF5J8alJYK2o9NJ3E?= =?us-ascii?Q?7uGy2PlaCuzbI3XQnYmLWnFsl0o6VQR6qCi3RmzlHYs99G0/JHTFWeMTXM/d?= =?us-ascii?Q?bBVNneEeZWiG98StjSfMMw2teOpRccn/x52CU9J0gZW+dIU/le0bUwpvSCKG?= =?us-ascii?Q?nktALGyAI8Hxc0xUdBwgj8oxhfykwQBeg3LnNrBhdzS+OAa/Pwmt3SPgeXIW?= =?us-ascii?Q?836dVRo4svtoSNCp84vWQt0JQx+wvqO2us3PATKZwpLEkKOrrxdCLCIWjQiq?= =?us-ascii?Q?kl3nY2XVLink+F8Khf0nkGCgiWFwFUpXcksj/u5Q6BqAlneymvWfqRIkZHyW?= =?us-ascii?Q?WeBl/+wuN8PzSCu9Fs4iu+yr6WDyXylLrQ41ikjW1HQnNTskCJTRq9NWFzih?= =?us-ascii?Q?5n/N9Ow6L36x7g3lNHe3rN2U/sr4Zj7qSSiLJ1qaTpnr2lX+yjajdhEIPsPc?= =?us-ascii?Q?35TRoshuqHizJA4JcykP5gtYqmTQgEOM7Q9lKdcNrVH1va6A0hjGtantmSrF?= =?us-ascii?Q?X2AbGD9Rk1gCyWOesL0jembpvXomMpRlEfhhAenOtDIYNQhHmBEsqEfcLR0E?= =?us-ascii?Q?5SA/u9fHtvqUt6v8VfbEib6bvIVECiKs3wcSwahTKDUxw/6h8PKDsej0Iy9q?= =?us-ascii?Q?RaFgETxKHgDzIxOHIhoB21J5UGOHn4WBLz0SIdbAqCN/YJyzV2c5ypI5KYIr?= =?us-ascii?Q?pMbvfoxjKD0tvSWG6F3oXKvv8tkRpaacB7e9pHhEL7jaTn6Mw9PW3xpjx3Dm?= =?us-ascii?Q?Y+e0/ZN0iay9i9G1/L3HCkxZxzQjT9MbLM40lFjRffJFlz8sS2SCaR3C4RfW?= =?us-ascii?Q?mFj6LBUMyG9SVn8fOsjs+gjCYaRS2a1BgGivZoLa20b9JifMMlT0M7qlH1Ck?= =?us-ascii?Q?tHrnRLb13i3cSwmBVdNam3nlfxBe49nZPVSkYx2K4uLzfn8ujMHgJV0r1sE1?= =?us-ascii?Q?jb8okxChVwzWEqabWWCkFNYyxuzWggo/nvJXeNg6wTSjFwC/bUWCDRtjw1u4?= =?us-ascii?Q?a5AYE5DnWaN41XgOb4ZJS0+oZ2qz6D8bSWEArUaQzoqCO1+vbeF448UrSUEl?= =?us-ascii?Q?kFxHu5BdzQqGZ+sKXiPz7DWE8HnsUeWyhINNkoZuxw9rDf+yl6JoTXz3fGoA?= =?us-ascii?Q?L4OLnFdO3GnROZjXHNQrZ/MubJI2zcrtWq03BWQUlmdeK/mzYqRGq9r2bOTz?= =?us-ascii?Q?ZhmmlXJf6ZHfcjDXyKpEOzEPt4oHywR+e+YNo+zN5izC9L5xNmFrAnmJWQb8?= =?us-ascii?Q?xJoe5kg5pfN8bnJAeIy2GNSMBBYaGbAxT1epyNz27H6M1EXoeO0J8dCrmxwG?= =?us-ascii?Q?pdc6K8IQsbKs+rrb6Q2i09wH1yawUsOWRhVvtGUiKjWlE45xwjUOKd6YA5NW?= =?us-ascii?Q?4qV1GxBua2Y8mzFXDZHfJRPLFVI3fjRDqIQiumX29K5MaA07bKYxXA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42bcc978-119a-4ad6-d9ae-08da4a6e0ca8 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2022 23:16:14.9659 (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: VI1PR01MB4334 Subject: [FFmpeg-devel] [PATCH 00/41] Stop including superseded functions for x64 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 Cc: Andreas Rheinhardt 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: x64 requires MMX, MMXEXT, SSE and SSE2; yet there is no shortage of code like the following: if (EXTERNAL_MMX(cpu_flags)) { c->ssd_int8_vs_int16 = ff_ssd_int8_vs_int16_mmx; } if (EXTERNAL_SSE2(cpu_flags)) { c->ssd_int8_vs_int16 = ff_ssd_int8_vs_int16_sse2; } Given that SSE2 is always present on x64, the only way for the mmx version to be chosen in the above example is if SSE2 has been disabled either at compile-time or at runtime, i.e. it is never used unless one shoots oneself in the foot. This patchset therefore disables such functions for x64 by #if'ing them away; x86 has not been affected. This saves about 140KB. (Another way to handle this would be to remove every function that would be overridden if one had a processor capable of MMX, MMXEXT, SSE and SSE2. x86 processors not fulfilling this requirement (which are truely ancient nowadays) would still work, but would be slower, i.e. they would be treated as second-class citizens. This would have the advantage of avoiding #ifs and would lighten x86 binaries of code that is not used at all by the overwhelming majority of users. I'll update this patchset if it is preferred to do it that way.) Andreas Rheinhardt (41): avcodec/x86/qpeldsp: Remove unused ff_put_no_rnd_pixels16_l2_3dnow avcodec/x86/hevcdsp_init: Remove unnecessary inclusion of get_bits.h avcodec/hevcdec: Make ff_hevc_pel_weight static avcodec/v4l2_m2m: Remove unused ff_v4l2_m2m_codec_full_reinit avcodec/videodsp: Make ff_emulated_edge_mc_16 static avcodec/x86/fpel: Remove unused ff_avg_pixels4_mmx avcodec/x86/rv34dsp: Remove unused ff_rv34_idct_dc_mmxext avcodec/x86/h264_qpel_8bit: Remove unused function avcodec/x86/vc1dsp_init: Disable overridden functions on x64 avcodec/x86/ac3dsp_init: Disable overridden functions on x64 avcodec/x86/audiodsp_init: Disable overridden functions on x64 avcodec/x86/diracdsp_init: Disable overridden functions on x64 avcodec/x86/mpegvideoenc: Disable overridden functions on x64 avcodec/x86/fdct: Disable overridden functions on x64 avcodec/x86/hevcdsp_init: Disable overridden functions on x64 avcodec/x86/rv40dsp_init: Disable overridden functions on x64 avcodec/x86/cavsdsp: Disable overridden functions on x64 avcodec/x86/h264_intrapred_init: Disable overridden functions on x64 avfilter/x86/vf_noise: Disable overridden functions on x64 avcodec/x86/me_cmp: Disable overridden functions on x64 avcodec/x86/mpegvideoencdsp: Disable ff_pix_norm1_mmx on x64 avcodec/x86/h264dsp_init: Disable overridden functions on x64 avcodec/x86/sbrdsp_init: Disable overridden functions on x64 avcodec/x86/idctdsp_init: Disable overridden functions on x64 avcodec/x86/blockdsp_init: Disable overridden functions on x64 avcodec/x86/pixblockdsp_init: Disable overridden functions on x64 avcodec/x86/lossless_audiodsp_init: Disable overridden functions on x64 avcodec/x86/svq1enc_init: Disable overridden functions on x64 avcodec/x86/fmtconvert_init: Disable overridden functions on x64 avcodec/x86/hpeldsp_vp3_init: Disable overridden functions on x64 avcodec/x86/hpeldsp_init: Disable overridden functions on x64 avcodec/x86/h264_qpel: Make functions only used here static avcodec/x86/h264_qpel: Disable overridden functions on x64 avcodec/x86/h264chroma_init: Disable overridden functions on x64 swresample/x86/audio_convert_init: Disable overridden functions on x64 swresample/x86/rematrix_init: Disable overridden functions on x64 swscale/x86/rgb2rgb: Disable overridden functions on x64 swscale/x86/yuv2rgb: Disable overridden functions on x64 swscale/x86/swscale: Disable overridden functions on x64 avfilter/x86/vf_eq_init: Disable overridden functions on x64 avutil/x86/pixelutils_init: Disable overridden functions on x64 libavcodec/hevcdec.c | 10 +-- libavcodec/tests/x86/dct.c | 4 +- libavcodec/v4l2_m2m.c | 76 --------------------- libavcodec/videodsp.c | 4 ++ libavcodec/videodsp.h | 1 - libavcodec/videodsp_template.c | 1 + libavcodec/x86/ac3dsp.asm | 5 ++ libavcodec/x86/ac3dsp_init.c | 2 + libavcodec/x86/audiodsp.asm | 4 ++ libavcodec/x86/audiodsp_init.c | 2 + libavcodec/x86/blockdsp.asm | 4 ++ libavcodec/x86/blockdsp_init.c | 2 + libavcodec/x86/cavsdsp.c | 20 ++++-- libavcodec/x86/cavsidct.asm | 2 + libavcodec/x86/diracdsp_init.c | 4 +- libavcodec/x86/fdct.c | 12 ++-- libavcodec/x86/fdctdsp_init.c | 2 + libavcodec/x86/fmtconvert.asm | 4 ++ libavcodec/x86/fmtconvert_init.c | 2 + libavcodec/x86/fpel.asm | 3 +- libavcodec/x86/h264_chromamc.asm | 4 +- libavcodec/x86/h264_deblock.asm | 24 ++----- libavcodec/x86/h264_idct.asm | 57 ++++------------ libavcodec/x86/h264_intrapred.asm | 26 ++++++++ libavcodec/x86/h264_intrapred_10bit.asm | 16 +++++ libavcodec/x86/h264_intrapred_init.c | 20 ++++-- libavcodec/x86/h264_qpel.c | 88 ++++++++++++++----------- libavcodec/x86/h264_qpel_8bit.asm | 5 +- libavcodec/x86/h264_weight.asm | 8 +++ libavcodec/x86/h264chroma_init.c | 2 + libavcodec/x86/h264dsp_init.c | 21 ++++-- libavcodec/x86/hevc_idct.asm | 2 + libavcodec/x86/hevcdsp_init.c | 7 +- libavcodec/x86/hpeldsp.asm | 22 +++++++ libavcodec/x86/hpeldsp_init.c | 40 +++++++---- libavcodec/x86/hpeldsp_vp3.asm | 4 ++ libavcodec/x86/hpeldsp_vp3_init.c | 2 + libavcodec/x86/idctdsp.asm | 6 ++ libavcodec/x86/idctdsp_init.c | 4 ++ libavcodec/x86/lossless_audiodsp.asm | 2 + libavcodec/x86/lossless_audiodsp_init.c | 2 + libavcodec/x86/me_cmp.asm | 6 ++ libavcodec/x86/me_cmp_init.c | 61 ++++++++++------- libavcodec/x86/mpegvideoenc.c | 8 ++- libavcodec/x86/mpegvideoencdsp.asm | 2 + libavcodec/x86/pixblockdsp.asm | 4 ++ libavcodec/x86/pixblockdsp_init.c | 2 + libavcodec/x86/qpeldsp.asm | 2 - libavcodec/x86/rnd_template.c | 2 + libavcodec/x86/rv34dsp.asm | 13 +--- libavcodec/x86/rv40dsp.asm | 2 + libavcodec/x86/rv40dsp_init.c | 10 +-- libavcodec/x86/sbrdsp.asm | 2 + libavcodec/x86/sbrdsp_init.c | 2 + libavcodec/x86/simple_idct.asm | 2 + libavcodec/x86/svq1enc.asm | 2 + libavcodec/x86/svq1enc_init.c | 2 + libavcodec/x86/vc1dsp_init.c | 41 ++++++++---- libavcodec/x86/vc1dsp_loopfilter.asm | 2 + libavfilter/x86/vf_eq.asm | 2 + libavfilter/x86/vf_eq_init.c | 4 ++ libavfilter/x86/vf_noise.c | 4 ++ libavutil/x86/pixelutils.asm | 4 ++ libavutil/x86/pixelutils_init.c | 4 ++ libswresample/x86/audio_convert.asm | 2 + libswresample/x86/audio_convert_init.c | 4 ++ libswresample/x86/rematrix.asm | 2 + libswresample/x86/rematrix_init.c | 2 + libswscale/x86/rgb2rgb.c | 6 ++ libswscale/x86/rgb2rgb_template.c | 10 +-- libswscale/x86/swscale.c | 6 +- libswscale/x86/yuv2rgb.c | 13 ++-- libswscale/x86/yuv2rgb_template.c | 5 +- libswscale/x86/yuv_2_rgb.asm | 5 ++ 74 files changed, 472 insertions(+), 292 deletions(-) -- 2.34.1 _______________________________________________ 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".