From patchwork Fri Feb 16 20:29:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46298 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:2a03:b0:19e:cdac:8cce with SMTP id e3csp168636pzh; Fri, 16 Feb 2024 12:27:25 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCV624oz9XYuVLA1T7cwUJBhijZWp7fHA5JvI+Ol5huFAvlW1Xv/628xwEjtsH/1WcgrF9lmh759T0dRlXK15ExjR1DP9NOa2zDyxA== X-Google-Smtp-Source: AGHT+IG/2m2H2N1lVw7Y9P2/+08zGcvcGVlZBXWrDA/Lgkyq2Tmen37aiefsdszV8/KSjIGESrVz X-Received: by 2002:a17:906:490b:b0:a3e:c2a:1f2b with SMTP id b11-20020a170906490b00b00a3e0c2a1f2bmr398809ejq.62.1708115245123; Fri, 16 Feb 2024 12:27:25 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h25-20020a17090619d900b00a3d3915b46asi230265ejd.62.2024.02.16.12.27.24; Fri, 16 Feb 2024 12:27:25 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=Gz5p50d3; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3932268D285; Fri, 16 Feb 2024 22:27:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2073.outbound.protection.outlook.com [40.92.75.73]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2645768CBAD for ; Fri, 16 Feb 2024 22:27:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RCHbLkORMbldCXAmGtAvanJQ847/EpcQuL107clkD08i4ca1GQGKqwj9N/tdk1ylDTNsXEeLFgnZG+xEWSpJiW0cQ98EmRsDuWAZs+NTQ9+mQvbZ58/uCDbysGINYccApG9SY2DHmO04AgACeBZgY+WOUiikGPK2lHEMSvv/BJKjWHxE8sZC5gKa3dOzRiIj/mF/qvnhJC4/2Gyb7Gk6sfj5OlSMQMQRPNj3tico6NiNHNPFAlD+MnQEmjt2vh0EeYTLf8C8JiE+u9WXK+nT56ST8nYN2IzMVnGxKX0FYrZETtnF2xKMyrPDmTy/mUHCTs8m7k77Hh0AwRn4bHFrYQ== 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=pstxu7X/+3AB7E39rWwKwyFdXEYGmNj5Kffsr0tUx0k=; b=VqT+Xwvn1IYoZnc5onNc8sT+cSmytPHQvQtOzKRN8tAnUr0a+RKmUrLUXttYIXLavzqcR/qCE1LGGtrfCBiYVWx+/XayYKf+8bKXVKLZ366pz1TTADQXzQ7AbRxb0FjC9R0MKxTzUicW6pHWmOssuaT4SnM3Pcapr1EAyWvzlSAhoOPRjjhwxqeHv3NQQxnA33b6lTorxAS0JtyxgbSdTXYkQcgoyjTagKpcHA2+QkB59ovsivszka5wQimxu+N0qsAhWoTFcvhsAalh2Utr+Y2p4D0mWfn+j+LrqQQ8kruDNDA3Lj6XG7H1aNKiwL3NhTO748+0sbMM5vfOEfZUWQ== 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=pstxu7X/+3AB7E39rWwKwyFdXEYGmNj5Kffsr0tUx0k=; b=Gz5p50d373tCgzUs458er/nsZK1IyUfdZeirsg15DRPGjhL/LH0v+gPzE6wG3JdImo6kRoopu8nTf52vbfFkfuGdvZ++mn1D7fJf2BLOjpe8C/kynt++fFVmEtPB1ZI70ppRLjXC7I8ovl0ttVHlI2Nid6Fp/9C38zU4wyuNW3XVHOZBVqxJddpXtM0IN/MgcHEFzUyeQdqU1SpAA1X/ztScqKWGZvk6zcJ8mh6INZ0lQ+201Qtt66l6Sc8oPyPQF+rLtfuOR6B6mngH6DV+dJ1sNzM/0r/RuBQSpDNCLq2RkUh9VyeVspA/NRRi1KpPxIwZbuGmG7xxsFzYaajMiw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0075.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:36e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Fri, 16 Feb 2024 20:27:13 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7270.036; Fri, 16 Feb 2024 20:27:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 16 Feb 2024 21:29:02 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [YngWfDp30k1DdXnTgBn6WK1CtbllogME9lfq12M+rbY=] X-ClientProxiedBy: ZR2P278CA0078.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:65::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240216202903.1735465-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0075:EE_ X-MS-Office365-Filtering-Correlation-Id: f971ed48-1871-4a7b-692f-08dc2f2da8e4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y2l86IZnYXm5A8FlgdDAuP15XeaDp3TaZe8qAyl/IEkstUH1OrwrW+pRma3OmU1S21xhLSepy9w8mWmwMQy7kSRtL7QDeOWlVg4+ifwbt9hmayauslFiM/+mE1p5q3nkBue6KtZ6Jq984dH7+liB4iALsdeErxSH4lh7nrgYxylu17xPd59fi/P3+NkFvfBCZyWm6bEGLDPesIBmKj+0K2ULzh+kyRlQvtB6IBy5jdLtHv9BZORIu+ZooE+TduNs71ORjBm/FXSyY1dgiBexhYgZqfAdP4qnkwREGSbbv51CgXncYLyLGdEWJJGfX1Vt1Ehhe1aNcYsojuPSKUBE8vA9r01bzsz6WyocJAE99pLLvA5XNTdCOKJiZSCb8xD3WL1yNcXTQqwjeb6h2u+2XgWFcKI+18FeW3XpfkH1+o69ezWy7uFEzz2OsqhMY5DfOiHX6bm7w0RWANb7OTUzHlHgADsuBteVg5LrGEuIvE+tclZdhCaJIIL6S3JKFR7TSTlCGo/ROnp3EE4+fq1PsjTbaEY4HcYm5a9ThdbLrv7tp95fWRRtPROIzkDbdDvPNDfK7bVkakRIteTiGaF4vZuY0w6ysI9Fw1Y8b4q+8iqfh0RKp67zo7oDtk0H4SCZ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rmugtLxJWZEnsMHIEoT9ly2qAIWHPSKlzJ5ivQT/O4RVxHmXC+76QjlXSZI17M2aVjFbDs4z1F/WMdfALkyCdPn4A/XjlxHADe97CpVkcRhpakIFSOqKtZcikggaKInBMsgGvchyuGIGs4k1k8ebDNjhougmya1HRGg2gY8XujURxFORuFMq0N5hgMnptOehn6ZZIWjYqHBYG4Z4UXQm4q2sv4M4awNWSX7/CQ3oK9HPp60Hu0R5fDUpZP9V3FMfbm/82GLmDIGOaDpUtvaBrxmyNUNAaknY89X+Ku5292KzCg0p+dV/fFTWbyoly3SgY7kfATv96mvrOJxMstZRoW6cRQVhnsV4cntyh/eKPlAW+c9WHT/HKWlnc0XMimGz626jsu+ymk4Ademxgc1w+lDnW+eFRl9Zv78xVsrKmkKOuJSwa0FbMbTkvlYFswpWEk998earQ2CfMjy87CkHTywbBzrSRXSFErHmEqOOrpO73eR3ZUEQJBv4jeikGKLJ4l8QFgWuGeOf2u7S9xVEGA7txB8NtXwR9p4oYZSyzHWEB8dmy9sDwprXIYvp+CEwl+Q/H1/r3wRq+kMlfb5mM+rkcHeIlNBy03eIAPHxz2zuZGZYyP2D4m1LwTAE137HMdLpDMiXzg1d5OnfFCagJI1tH7y83nxK+RE2sxjfyhPSzGMAuu9oENZqoEhl/19STBv3tEa3xj6z7lVqjSrzgw92EEEghZlrigKjchj7+VtgbzvGNp3XoH00H9QwKuoq17DMdMp0EKt5z800Jo6WzysV/h8ke13sNTUXyH6Om+dSSdxmAzvqO0NYb6AUw7w+uV0769fGcUryUxtL04PXbtDQM5nwTPdlKqntEb7xxyx3BVwZ0WcaSFnSyxd5BuciexDgc4pjisSE+lwWNM1GZ13Lepcicl00zfs3n8QRHsPN+kVOO6UvvjIYUp2xL4BTJ1U2wUhlTZyuJQftEo/+Y7wc63xMNXf+GIWPqvNGpkYF0jZtS1mxuivfVEr0Q+T+TYI2eglHFcCxg4lgWCbYiEg3Mxt30JiTFQbfKca9KyfOwB7jeOgSRjIXIOMyJ/sWin3TtPdyxrxCKJS8rKSVNPGoDOvvAzPDN2j+47l7ADzPdaOO9F6LjJArNKB45eGvi1UOZ/on1Jzq0TW/II1W6HFZ5RobqpvlpcRFDfBlVvid8SuHP1fXU7vbR64GYRFhTVhw7C/KVR/0tMVfAuVaAIh2Hv8Qo+fpiNWZcPVzpc5lYOKyiZcqFWkbUzoCO9Zw8fCE2D21WAAiW6zmzoD2bg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f971ed48-1871-4a7b-692f-08dc2f2da8e4 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2024 20:27:13.5909 (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: AM8P250MB0075 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/x86/fpel: Remove declarations of inexistent functions 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: zj8PP4d/K/jF Forgotten in 50a8cbb23e9a982292bf7737004c97eba776c00e and a51279bbdea0d6db920d71980262bccd0ce78226. Signed-off-by: Andreas Rheinhardt --- libavcodec/x86/fpel.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libavcodec/x86/fpel.h b/libavcodec/x86/fpel.h index 4e83cf71c3..90f7051a48 100644 --- a/libavcodec/x86/fpel.h +++ b/libavcodec/x86/fpel.h @@ -22,12 +22,8 @@ #include #include -void ff_avg_pixels4_mmx(uint8_t *block, const uint8_t *pixels, - ptrdiff_t line_size, int h); void ff_avg_pixels4_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -void ff_avg_pixels8_mmx(uint8_t *block, const uint8_t *pixels, - ptrdiff_t line_size, int h); void ff_avg_pixels8_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); void ff_avg_pixels16_mmx(uint8_t *block, const uint8_t *pixels, From patchwork Fri Feb 16 20:30:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46299 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:2a03:b0:19e:cdac:8cce with SMTP id e3csp169088pzh; Fri, 16 Feb 2024 12:28:46 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUmipsV3NWP8/uK/muBAU9Cbg0aO+NQXKKaiUk0LSVIYTDCTQ4Is+YDtVBgl5YUW0MBsA+b31aGtTaMt4/PuhIdMmLJfhey58V4HQ== X-Google-Smtp-Source: AGHT+IHnuP7RFqp5PYJUD8ILZmyoSEOQ5BdVwdwftF3C1AM0nrW8rS/ab735a5FsoQ4rULeyl5hG X-Received: by 2002:a17:907:7759:b0:a38:916e:a503 with SMTP id kx25-20020a170907775900b00a38916ea503mr2062808ejc.1.1708115325954; Fri, 16 Feb 2024 12:28:45 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ds13-20020a170907724d00b00a3e0fdcff27si122085ejc.464.2024.02.16.12.28.45; Fri, 16 Feb 2024 12:28:45 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=iuLxGqGU; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 71F4068D285; Fri, 16 Feb 2024 22:28:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2044.outbound.protection.outlook.com [40.92.75.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8D6E668CBD9 for ; Fri, 16 Feb 2024 22:28:37 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oJq7jggXBtc40AhVv9TZfNCBtMUTuWt0JKyFhaB9+Zs7ZmUwbUjvVp5dAUxFfaeeorYMHCFhQlqWJyxsjlz1tfqzYh9k3FhY0l1fTwF2pQE1LXU/NjWbmnqkxuExWHJB78hZQ05++TlQEGVfEduBkLSECFhg2A47eqm3Ff+UQ3ZsjzrPY6y4nIuuCSMMyHRQEK8AWmJIg89nUAHk5Mfyc91i+ebiK1wXN/xDYWoV/VSda2O1QMfFnwcyHuPmhX6MF8R+opVwyURW1jKCERXlvu+yielMk3R+Gyel9Y6eDF1jCx/ZOI/8Bu6h8utG3aopOBFkM+dLFmk44bMMfHf3cw== 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=79m7g01PrDdYPYDPeTR1d73Spx7T3Ht4RHq5sWE/JBc=; b=GAnRds+B8oCW9rR8JgncY4swYchWK0S96NxBsJ8Eqgzjcz7KBJF6d9hYTlmy4OfluCTtE2YBUWmcWOfPvvK7JdU8o/j0BchD/o8CAtZ1YSvosXmoZk8W/6ocEy+YUB2/edeUYnJ85UABVP9xKPAkMiJLfVsUWdQe3Rs5hB2Lc7mT3cVkqjY1IOJ2hyWnkq8CVLV+8z56KE/y4+ZJ7wmFzK3DXc5fz2Zj7/1QV+XGsDIvz47iKvRYkrRVGEMM2Pt9d/qnXSU6jJSwLxQUdkMUNo912odIlcbSbLcMKYaZX+pLskTg+ztHQoR/bNmYn8iTfhtOiuDWlipT2LnvJIeIHg== 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=79m7g01PrDdYPYDPeTR1d73Spx7T3Ht4RHq5sWE/JBc=; b=iuLxGqGUWSaCFzAG92yodFE4R9gXPdJMXJYBzio0Wl8vdI/uHP8D84a5q9C0V0rw8cuBro1ODkpYRx0WigW6aGM7G7LK5Wv0A+KEI+ijHhaIo1ltXOFnoJQE7essIr4wQmAn5MzotULzOhlGYoMVpZF+TgkX3Z4SmvDIl5CwRqqZbE9KeG23n1ixrN8pH19xg4gAphQyc6VLJ0Flp7glVEuaFP7JiN7gzKNU2iCYBQn2/+AVMKnxoW/sLMV9IZvSS5EF7jeZcHc1JdvT5LTRPn1tnCW/XPnKR3aD7H7v/b+N77aLZNMSp8RXuJajn3OmcVHrBJGWfVxxmytBx3QTYA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0075.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:36e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Fri, 16 Feb 2024 20:28:35 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7270.036; Fri, 16 Feb 2024 20:28:35 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 16 Feb 2024 21:30:25 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [PFR9A2ULOM9QwOVw+1cZANEDE7C2kZYR+MEL/ugTCoY=] X-ClientProxiedBy: ZR2P278CA0006.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:50::12) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240216203025.1735532-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0075:EE_ X-MS-Office365-Filtering-Correlation-Id: f116efee-0f04-492f-c010-08dc2f2dd9fd X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sCUv3jHxRxBGWJ3dP2EyWp/2HLetTEEnt+BHpUMj0HlIryubFlHgE5t7dy5FjonojoDrMgwgcggK0S5FrJEZP2yqudaMg8M7S4hAtBrCvx/7n0ktsJH7KX8lpiLwYKYcBfNrB+hHz/zfpVVoXPPQIEmMNVnLEuJB6VYcbQu9uBOT1MKJ3kFfWJI/7BPd1gY0fMHsxMJ3iVan7g1wrtlITAWBflwoHeKqnZvy5tm+jkP+0aGiTE6sLsfysrtK1o0dUTG8RxwZdHXtgmCrcGGLmLdse25VSJMiAQLnXLiSt4xaXBxXfQUYLXbYrsRq3xfTP/XuRu0Y5jVZkl5aKevZVyehD7N34Szx0gvtC1EsRur9P/62XQjiljI1sJG1M9GJtFsQmAW9k+hz2XQ31XAz91yBqZhkXQDcd4fBS954P3QVzoGlwiATNXFZOspTPYyeteOdEQEJJjITkH4N9FxMF2u4uegbjjY+adKaE1sO9hawwqxN+cs3tdyGITL06UfNdKd3sEJCWj+KFkhdYjmIg2FBa+Z99zSHn7mXZ3zze/USSMTqmaVtZLggox6vtAT8PU/UmWvBtywgteiAUxSNQS89L3a9L+f8ohu5nsxUlYUtNpryK1AeARYk20egIcWu X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RiezBnqTXjBi8dp1mmn4w65+APtf2gLqCXxLJjAWQL5PGQwjbJ8pgaZZ6mhsGs/NPTNvXFlvpwxFQ6zgDR0u3Vy0za2GyyNKXxzX1bsB66vtr5cgeNi+9R9+CZ1gj4RHS1K5nzdNahvObQcFHnGA203LRkXI0B0OBvKh6J5Ljh9VjjCQuueDpCQeTrFwOJNkgPF0pTINx0Dx3u5VuZ13wwaD46VrJnHSBtBscZ/oHbkOHpKVe9I/10d5jw0jW24Mi8W+MtYojsryCen2GzyR9FkUsjOVctCuBx+2ihEVHkY63vY+N+3D4/vdXMqIWOy8q1sTPGcPjqnr+akd47vIF1eNdP77So6PgosPq+5g9XLZKbfHEapUOmwyVs5ZarwUUgac9isAVUKZwVl2xpJiClPwp0a2Kk/MuoSvkmSlP/3YsBka0BUt1JbwPJnYCrf6EkaofDXGvW8b1YNW2yG3qhJyxQNofwLf12ik0xB4NaDohRa0Mw9/5IP6wMiHOby+NQGSW9d2Tg2LEmcwH3LUznO4mbZvESv9OWFm48J8UHgthFgMckl734oKhU09h9eFk6FsiFG9md2ycmuamIhXK1qrdjot8Hkfyd/nW+YPYYnLHqTHcbWCkj34n/cUq0Op+cYrV7wz5V4Uxkz7vMMEpGSAk+4KxlEX+5DFowa6sc/9QEfMiQwFJYC3YKS2c3Rc95JvVit5dUBYspk8PyfFcGzikS6YPVM1B014PCXxee4P9I06uWWELrlmEB1Bpz4OLAp4PwOOObd1+g3eb1BJvzRrY4QdA/tx70Lrrtv0sSUF4xPfMdALCml2fRiAyDWfTzM7SWhbyBTaJOst28HXJC4GcZUE6l/DQyuBdP59EaKm2gUfwMF72bPPy9k3Pxr5kV6Tt8oODLX6uj8JuonqemqPfpyiNuEptnwK3vbBsC4L5s66Mh8exeU0i0m43aBrtt6tDh/MQXDDfIbXsg09Sp9Ky3l4iH29x/m+PTejN2dKhjM6b159AGCiuATvb0VmOwezdKYTodEyZem0/C/ocEtfa/CodMtxU+nxqYjChnfZXPc9sZn2eFnwDhVcTxOJN3sTG5u3abTiOU2NubhMNwkZMO5BzX0PBRwMFk9pPcQUCEsvtSx/0s1UxF/4fzWJOHBHK9vmIjwUiABqCZCN+CXLbiFeHevlyHEGgiRfc8T/F7rDPlqLgz4MXZ5DtVbVJ132Zy2k70K5jMbrKGF/HrkROWmWeAJ1WyqiQilpt/ihLwbqBRjVCTroxNEWo0ROLjSfZmlkdRarhEdc/pS5eA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f116efee-0f04-492f-c010-08dc2f2dd9fd X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2024 20:28:35.8919 (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: AM8P250MB0075 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/x86/hpeldsp_init: Avoid using ff_avg_pixels16_mmx 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: JbWOAh3nyRUk Use ff_avg_pixels16_mmxext or ff_avg_pixels16_sse2 (for users with SSE2_FAST) instead. This also allows to remove ff_avg_pixels16_mmx, as this was its last remaining user. Signed-off-by: Andreas Rheinhardt --- libavcodec/x86/fpel.asm | 1 - libavcodec/x86/fpel.h | 2 -- libavcodec/x86/hpeldsp_init.c | 15 +++++++-------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/libavcodec/x86/fpel.asm b/libavcodec/x86/fpel.asm index ebe8e43750..ecaca3c080 100644 --- a/libavcodec/x86/fpel.asm +++ b/libavcodec/x86/fpel.asm @@ -92,7 +92,6 @@ INIT_MMX mmx OP_PIXELS put, 4 OP_PIXELS put, 8 OP_PIXELS put, 16 -OP_PIXELS avg, 16 INIT_MMX mmxext OP_PIXELS avg, 4 diff --git a/libavcodec/x86/fpel.h b/libavcodec/x86/fpel.h index 90f7051a48..c533ca40b2 100644 --- a/libavcodec/x86/fpel.h +++ b/libavcodec/x86/fpel.h @@ -26,8 +26,6 @@ void ff_avg_pixels4_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); void ff_avg_pixels8_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -void ff_avg_pixels16_mmx(uint8_t *block, const uint8_t *pixels, - ptrdiff_t line_size, int h); void ff_avg_pixels16_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); void ff_avg_pixels16_sse2(uint8_t *block, const uint8_t *pixels, diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c index f08c66f5c8..4a0513d06d 100644 --- a/libavcodec/x86/hpeldsp_init.c +++ b/libavcodec/x86/hpeldsp_init.c @@ -62,11 +62,9 @@ void ff_avg_pixels8_y2_mmxext(uint8_t *block, const uint8_t *pixels, void ff_avg_approx_pixels8_xy2_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -#define avg_pixels16_mmx ff_avg_pixels16_mmx #define put_pixels8_mmx ff_put_pixels8_mmx #define put_pixels16_mmx ff_put_pixels16_mmx #define put_pixels8_xy2_mmx ff_put_pixels8_xy2_mmx -#define avg_no_rnd_pixels16_mmx ff_avg_pixels16_mmx #define put_no_rnd_pixels8_mmx ff_put_pixels8_mmx #define put_no_rnd_pixels16_mmx ff_put_pixels16_mmx @@ -138,7 +136,6 @@ HPELDSP_AVG_PIXELS16(_mmxext) if (HAVE_MMX_EXTERNAL) \ c->PFX ## _pixels_tab IDX [0] = PFX ## _pixels ## SIZE ## _ ## CPU -#if HAVE_MMX_INLINE #define SET_HPEL_FUNCS03(PFX, IDX, SIZE, CPU) \ do { \ SET_HPEL_FUNCS_EXT(PFX, IDX, SIZE, CPU); \ @@ -149,10 +146,6 @@ HPELDSP_AVG_PIXELS16(_mmxext) c->PFX ## _pixels_tab IDX [1] = PFX ## _pixels ## SIZE ## _x2_ ## CPU; \ c->PFX ## _pixels_tab IDX [2] = PFX ## _pixels ## SIZE ## _y2_ ## CPU; \ } while (0) -#else -#define SET_HPEL_FUNCS03(PFX, IDX, SIZE, CPU) SET_HPEL_FUNCS_EXT(PFX, IDX, SIZE, CPU) -#define SET_HPEL_FUNCS12(PFX, IDX, SIZE, CPU) ((void)0) -#endif #define SET_HPEL_FUNCS(PFX, IDX, SIZE, CPU) \ do { \ SET_HPEL_FUNCS03(PFX, IDX, SIZE, CPU); \ @@ -161,11 +154,14 @@ HPELDSP_AVG_PIXELS16(_mmxext) static void hpeldsp_init_mmx(HpelDSPContext *c, int flags) { +#if HAVE_MMX_INLINE SET_HPEL_FUNCS03(put, [0], 16, mmx); SET_HPEL_FUNCS(put_no_rnd, [0], 16, mmx); - SET_HPEL_FUNCS(avg_no_rnd, , 16, mmx); + SET_HPEL_FUNCS12(avg_no_rnd, , 16, mmx); + c->avg_no_rnd_pixels_tab[3] = avg_no_rnd_pixels16_xy2_mmx; SET_HPEL_FUNCS03(put, [1], 8, mmx); SET_HPEL_FUNCS(put_no_rnd, [1], 8, mmx); +#endif } static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags) @@ -190,6 +186,8 @@ static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags) c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext; c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_mmxext; + c->avg_no_rnd_pixels_tab[0] = ff_avg_pixels16_mmxext; + if (!(flags & AV_CODEC_FLAG_BITEXACT)) { c->put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_mmxext; c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_mmxext; @@ -214,6 +212,7 @@ static void hpeldsp_init_sse2_fast(HpelDSPContext *c, int flags) c->avg_pixels_tab[0][1] = ff_avg_pixels16_x2_sse2; c->avg_pixels_tab[0][2] = ff_avg_pixels16_y2_sse2; c->avg_pixels_tab[0][3] = ff_avg_pixels16_xy2_sse2; + c->avg_no_rnd_pixels_tab[0] = ff_avg_pixels16_sse2; #endif /* HAVE_SSE2_EXTERNAL */ } From patchwork Sat Feb 17 00:12:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46302 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp66513pzb; Fri, 16 Feb 2024 16:11:04 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVHX9p0SUh/FLpbq6+O/3VnIzno8R7oQa0r+DKAC+/C+095LzAqBrXud7dD3w7MU67GxtP+rAXQo+/CuY86Mo9lge702IGoZdz5LA== X-Google-Smtp-Source: AGHT+IGY8ld0eXdp2eRsruOrnjdbTHEY/B/EkY4zdZZT6D3zOD5I3SN//SFVv6/Zw+j9pe2CB9bg X-Received: by 2002:a17:906:7c46:b0:a3d:1798:deab with SMTP id g6-20020a1709067c4600b00a3d1798deabmr4479023ejp.6.1708128664326; Fri, 16 Feb 2024 16:11:04 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n7-20020a170906b30700b00a3daba70df6si352087ejz.955.2024.02.16.16.11.03; Fri, 16 Feb 2024 16:11:04 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=PmxO9P10; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A707268D2D1; Sat, 17 Feb 2024 02:10:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2083.outbound.protection.outlook.com [40.92.73.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 458FF68D18F for ; Sat, 17 Feb 2024 02:10:53 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eOnLjD+zZD2btznKCJp+SBjmPExmXiB6KRSNTvp4NQWZD0bpAC7nB5fOfALNwW4QI2ODJ3L40hc+Q5iaQYhhDYmbngqUmcNg7d8YdvGRMbopG5BReL2+c56/qZYSHvB3U0JTVm1Sv6QiXZShaaQFgy+Cap2hSu0SEW8ZUk/pXGnPW2LtjBlXklLlWe/e0DQ/OE4lmyAqBNP++1lTp0XXGfo2f/zELqEf0PlY6+pTub4VgpTDKUvQX4lGBKQ/yopbjW2E0G+v+ZllJi8lNYZGPAoIM3creW5qQ8Af7uoXhcy/GxPQX6ARNeEy5tdsFWU/hIxr5xjEL6VXKLmbgRYRTw== 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=vq7d9nNQ7Ymt7E66qTAm5JB25igul4586TUCVg4oJZM=; b=axJ7kVQN4OWi/PBL2tGH6tfKoTFysEf1vUV7u4FQaLAlOO7oz7vlWhBZ6yeTHDWOKHrFMc0rO+XVj7zv+grARzx/hXniACl+qchSpDrgCFdnsl3GZiuKp66tswaQP8CKCphH00lkc1bC9Dn5nIZrS9XC12RBIfEkE1XV9O2w5Ge5QJcKwE83vYoQGI5IEr7wXTPMtPNPhh3r6oDrZKSelDXVbPvn24vaJCjMzQ5isDz7EOBULrBwb/PFD38WECod4MnzcLgA+/WOXgvlyn8Rf0Lyn8pGAdMwvbwwuqNMfU+A5w00QlwtcqIhFbgNEOLujoH1FsWr7syBzD36utS95A== 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=vq7d9nNQ7Ymt7E66qTAm5JB25igul4586TUCVg4oJZM=; b=PmxO9P10ZHjiIF1fqmPwKdd4FlOz1JhZ6aXn40IllPbzWkPb650c/2lr95FLqmrZWpnPOFBFpd+uJ10M6OgwQ7dTFruClHnzvVhEv05plrwvrgnx/BCpMl02PpStfWi1GRXCtSyV+zflZIap++q+gVo1PZrC5kQoIReeqn2KlpsnTD3dNSskNJMfwY00XbC39u5vN+US17DwFNVilE1EwTgxKfvchxVgSZJ5QsG+4aIcT9Z7eOAZqgOLHPB/TK/6r2hN7WiXFFcdNwQu3gPAWjhKxB/gxFyCqlp+gPEbCuvqA7LtXrCyN4UJ1GgdjwWcvlteq61VGDp8E7MmF3vB/Q== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0324.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Sat, 17 Feb 2024 00:10:50 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7270.036; Sat, 17 Feb 2024 00:10:50 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 17 Feb 2024 01:12:38 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [a0S7wFkJLl1d4ujaXs6Fodl56iQPpfw7QqtefhyNwnE=] X-ClientProxiedBy: ZR2P278CA0084.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:65::8) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240217001239.2225331-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0324:EE_ X-MS-Office365-Filtering-Correlation-Id: 422bf7ba-9e07-45eb-b717-08dc2f4ce5d4 X-MS-Exchange-SLBlob-MailProps: 9IecXKUgicDk7xT2Lt/4dZMOx2L6DYpW9P+YqsAD9HAJetjnxKFQ6nJJMm5sdEhEbEVo0042HGWXk+10tczfK9YfzcALj7jMrMFzMYXl4rAItH4arWzoT/qAB07vND7zvu3rXuYFj8yqG2nt+mkiM4MF5T0pBndA9rr0A/8Xws6sJPLUpdmGhqfLHFeKCz+kpe91R3R7D8kzIb3GIAReBIN48I5lydK9/vjFPTsLqI9HHxc1o5LOdVP5lUJxzMClZ4eStaioQJagLyZa454r9ZMSInNuVG24w+qAbfWIUBa0laRE1ty3iYMSqOagV/41+kVdDxJIrGhZayG6rZfFLqA0SF7nnyE1nFMMiAnHCaU5GbkRVQRBdZK7+jhOWQCJTSkAU/wHTdY6iCcqHL9yIPukDgcwoKBPK5FuAaRNHNzy84C9aCnWi6zx4oKP7kUPo0UoG9n8f0w+S11aQaz/pzWrkvfLYBLQ23Vl5sQGsrZ/qBaGvoOliOeSOxa8AQJYuv4nwma/hybSicq3v0DN/MIc+egH9RSd8+MvKCd6UFGZlYvZphaIUXS7P1KwdWG+xKi16pXyDATZ5WyoHMQ9hAIU5PtPI7GvCDmcpGl/G0i3iPmGYeiT/pZzTdgN7h/yipQEMbvyoU1SOtU1WQ/N/9knZqIB4UOjEXJ8FgEwiuTIBWt2yXEXfA2aVi03BaBkLa56dvh+90FWphRA9dQ/c0SuWnJvM/xzr5KoYSVU4FkN0+ohHKQz/g== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6eLexzqefJmFie1vfK3gEs/Hvu4JFcTQpSKrfiqSsQiQjjL1R12BNIlsolbi9wYukxOJIj0RCmGFzvzbQxnMyVIEHRlvMxffROHGPleqIVGo72xzs/IUdgdVB9dplaelRyQKFgk3vdMWCeIO4QTIO9OrqAOnwzrdiCSUbfcTtNAzlLMDcbEe7HSixyujUU1Ma/K9evWHqy4RUac0mBqxJLYzCHL7zgXO2oCfUM0anz6l7O5DnUZadbhtFg4/yUaekYMK+Gwp19BFbSpoMHXX/jGLrryRWVrPIKjBXtPo0qETFI5DXCH9Cb2Lzkj4zgtawqLBlTX7B3MNXY8c6G9QUYhAuTeu9fntwxet+ZnQdfHmAnLsyacFMvQfMOACOeDnOy8lNb+8ggHY17HpHuR46t3B/pOvCYOVt4RY3UWVl8XuLg7mFYzDvr39PW+tUgchyYpavf4ndi13VAmhBqv1Io2OVWQUu+4sM3BQICH57NMw17BCnXLbtNldiXdIBd/Imbq1pywBh6uaHa27HLSmaMHrbeFQIcPx+eC4kK36PtgTqF/k9ELG+WWN2OBDjR4oQRxonY+qJ2Nn0BUx+vV1F5zEQ915SQPQJpsERMWrKdCYByJeb7BOTmTv0QMyegLt X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YBqKtLLMcQaCpNIa+bwBixVxrcWMC2vLtDYxs77GK9WQ0A0mvgF2ngw7BVTOabNUCkoE4J0OXdneRXIeUX3O58f3o2AYOTy0wWhzWDz3lnAtEgJk/34BXKagMX+/1BHV7P/dAat+2IlKHtsqAJdSc8KZpWI5v0ntI7bHCVr13eqoopy08+cMvzsq/fsMM+WbDnFaDay25OME3ox0NwQ6BhGlu19cxb+Lx/cjEFFUdhOEWX+jizT+rebYa6Q818n1/FgTpTJrU7d0ZMIBc5xW/stJqlMSkHnd5Fk6BUPFBdIDwO+22lOsqGvp6W0BIzBsfbbq12X4Xt0vyIIOo73oPHaUB456VLPU/Lop7hMMydErXP3g147OdH2zmtiiDisrRMdbsG0ycc2FSAg4klUtG8CxfS9oAd7+2kXZBy9mKyZt1uD+9HetVHb9Ohr9wZ6DFS64rPSkQhMkjVTuSjMk5CCcYrbGKl4zYx+SaX9PFj/i/3FBJygXBi+W3fcdKhoZU2cdxeJ0jC6UfIaUVy1q6ybsFcuchRu77RgFwU//Zlpuu+2LTHCSfelzxdXwutN1Jon2olNgUEc7q6UFvjpUx+vOdu/IftBPvyOl1gIAb+6utGzs0VgTseiMO72lYwRq6iGi4z/rOQth+PKyDwfB4bvdyuDFodHVmJ+3LfM647FW6D36NIx3w2oh6jfR4zeqBKcv5AQx997f0P4NgfqlG/gwe7dOL4kiMKqpg2tSoM4Nk6MMd413hPeuCoGjFoNhevSZzIT6QHie2wDdi54DewuodNuNo4d5ICHzq1aG/5WSolfn6VhOikGeHmcmVsWwOppUeLerj226dV337qMjeiz6+wHEQlw6qk7expOZebBGjfOu9NxtSbtJG/C27Xb9FD/xKOgRPJQS4NL/XpS3iLewlTn+iZtxY0inLyGbgv4YDhkszByT2TSfNQsKJcZSqxOT0a4umR6PE34UgmEhgAMlJX+24KWHPyupbCy3KVeEZ3pB9qhjwBZDq9nei+vhtEZb2Icw0VGbyHpWL4Kg/Uhem8AKkmSN7bQzDsrQPsi5o29FNX0bE/KxoHqtiVg0Zsx53eEVV6gzK/+4qIU1kg7hO5A7GxzsJKqWSSV4dxZJ9AtXqmIpMUQO2KbZ7e8iIWrodgu4spt5tKl3TzqclRU7EP56QFlrg53VdtBzBa6JdS5pfO8uL5JUbWmgKttjfrTkFvlNMQZCugSV8CIqlmuGKxMKNmGmde3aNr2XHypMHvE4csnJp86JKe+Ct6PKk6a5gVfULV/2Qof0aYWmAA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 422bf7ba-9e07-45eb-b717-08dc2f4ce5d4 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2024 00:10:50.1792 (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: PR3P250MB0324 Subject: [FFmpeg-devel] [PATCH 3/4] avcodec/h264qpel_template: Mark pointers as non-aliasing 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: NVZ+JIlxjXiJ It allows the compiler to combine two reads and writes of adjacent 32bit memory locations into 64bit read-writes. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264qpel_template.c | 93 +++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 41 deletions(-) diff --git a/libavcodec/h264qpel_template.c b/libavcodec/h264qpel_template.c index 27c5b8f17f..61fa55c689 100644 --- a/libavcodec/h264qpel_template.c +++ b/libavcodec/h264qpel_template.c @@ -26,7 +26,7 @@ #include "hpel_template.c" #include "pel_template.c" -static inline void FUNC(copy_block2)(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h) +static inline void FUNC(copy_block2)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride, int h) { int i; for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ src -= 2*srcStride;\ @@ -150,12 +153,13 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, pixel tmp++;\ }\ }\ -static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\ +static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\ +{\ const int h=4;\ INIT_CLIP\ int i;\ pixel *dst = (pixel*)_dst;\ - const pixel *src = (const pixel*)_src;\ + const pixel *av_restrict src = (const pixel*)_src;\ dstStride >>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ src -= 2*srcStride;\ @@ -238,12 +244,13 @@ static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, }\ }\ \ -static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\ +static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, const uint8_t *av_restrict _src, int dstStride, int srcStride)\ +{\ const int h=8;\ INIT_CLIP\ int i;\ pixel *dst = (pixel*)_dst;\ - const pixel *src = (const pixel*)_src;\ + const pixel *av_restrict src = (const pixel*)_src;\ dstStride >>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ for(i=0; i>= sizeof(pixel)-1;\ srcStride >>= sizeof(pixel)-1;\ src -= 2*srcStride;\ @@ -350,7 +359,8 @@ static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, }\ }\ \ -static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\ +static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride)\ +{\ FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst , src , dstStride, srcStride);\ FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\ src += 8*srcStride;\ @@ -359,7 +369,8 @@ static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *s FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\ }\ \ -static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\ +static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *av_restrict src, int dstStride, int srcStride)\ +{\ FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst , src , dstStride, srcStride);\ FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\ src += 8*srcStride;\ @@ -368,7 +379,7 @@ static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *s FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\ }\ \ -static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\ +static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, const uint8_t *av_restrict src, int dstStride, int tmpStride, int srcStride){\ FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst , tmp , src , dstStride, tmpStride, srcStride);\ FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst+8*sizeof(pixel), tmp+8, src+8*sizeof(pixel), dstStride, tmpStride, srcStride);\ src += 8*srcStride;\ @@ -378,31 +389,31 @@ static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, }\ #define H264_MC(OPNAME, SIZE) \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc00)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc00)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ FUNCC(OPNAME ## pixels ## SIZE)(dst, src, stride, SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc10)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc10)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t half[SIZE*SIZE*sizeof(pixel)];\ FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\ FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src, half, stride, stride, SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc20)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc20)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ FUNC(OPNAME ## h264_qpel ## SIZE ## _h_lowpass)(dst, src, stride, stride);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc30)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc30)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t half[SIZE*SIZE*sizeof(pixel)];\ FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\ FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src+sizeof(pixel), half, stride, stride, SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -412,7 +423,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid, half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -420,7 +431,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint FUNC(OPNAME ## h264_qpel ## SIZE ## _v_lowpass)(dst, full_mid, stride, SIZE*sizeof(pixel));\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -430,7 +441,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid+SIZE*sizeof(pixel), half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -442,7 +453,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -454,7 +465,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -466,7 +477,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -478,13 +489,13 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\ FUNC(OPNAME ## h264_qpel ## SIZE ## _hv_lowpass)(dst, tmp, src, stride, SIZE*sizeof(pixel), stride);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\ @@ -494,7 +505,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\ @@ -504,7 +515,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ @@ -517,7 +528,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfV, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\ }\ \ -static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc32)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc32)(uint8_t *dst, const uint8_t *av_restrict src, ptrdiff_t stride)\ {\ uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\ uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\ From patchwork Sat Feb 17 00:12:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46303 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp66601pzb; Fri, 16 Feb 2024 16:11:16 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWd7W2qlLiMN31O301H1V5+FP+j6vqF8WaJQ5oj0hqh/FqDvkJ6HDxkFXFhiOMH9kxbxMpSHayTH1/Cr0OFkWJrMkEml5TnPf4dIg== X-Google-Smtp-Source: AGHT+IGXCszvNRHWwXeR2wzuARNFktakZTcN2tADLfqD2xyikdCT5saL6PzXlc7ghA9N95hFK0Tk X-Received: by 2002:a05:6402:1502:b0:561:8918:9f5f with SMTP id f2-20020a056402150200b0056189189f5fmr4639026edw.24.1708128676408; Fri, 16 Feb 2024 16:11:16 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d14-20020a056402400e00b00564247e9150si53687eda.92.2024.02.16.16.11.16; Fri, 16 Feb 2024 16:11:16 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=Py3smk1d; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E589A68D2DA; Sat, 17 Feb 2024 02:11:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2083.outbound.protection.outlook.com [40.92.73.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8A24968D1DA for ; Sat, 17 Feb 2024 02:10:58 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LxmiVURrKT4x6nr+S3LDyHfdDaJC94xHdrR+goAFb+aOevZkkR0WQjsZK8Vsu4djzT4JjjedcPzabTZ6Jg8FNQKhZh5iUAsxdBpiRGJlqcvvwSpXAqs02pkjADg0ZWepX2wX+0Bq63Kl6Xn6OfDcrPV0hVTCK/h26Ma+TJHM8dcKer9vQORhFdBQBq3CHw84QUYKj7/0ITJOji5mXTHbbv5oAyRZWLDX7wMNdNmdWEj+iyxd6iNySR3qL+loFNQyBrhOtM3Np3APowebAD9eSSPNczmdbxCNrvXdZJtF2DRXNQfPuAkSSaz1fyim3BfVFidofvcYM1D9uhjK5VujsA== 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=HhoWciNn0KWSMa71bU7qjOkCISMl6JpWVX4COZcq0ZA=; b=SjdmgU63KIgia5YqsvavS4mSzTrZQl9MkPPT0wJR/pWVa4L1LItpeUCNyrQWdNj/fkpi4+pEP/84tgKRHktcC7Kz3NZBx9p84Vm6/qLJ962z3SEOwq8WwiWb7p8pNrEah9K5Hgq55gbnSXlOym3+udLWWxb/j6MZAC/0A59IYzs4W7k7Lv4nEaMJ/NIoM+5chYlD+ds7hDILoFOacCIabfXrbBY5sMtn0Wuo2PyZh8BvDlsBtmmsqprqUtZwawY+CW01BtOGXALsdp2yZGhioev+6LP1g1np9yFg5j6qQFGkvEjb7noQTuidMOcs2dnW4hGI5sRBJBMJ9q1GYoBBaw== 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=HhoWciNn0KWSMa71bU7qjOkCISMl6JpWVX4COZcq0ZA=; b=Py3smk1dl7uuxgaHubzZOCbHFcespeiNoOPQI2e4frs3BSBqaC/JKpKH3w04/ir/XdGtDauF3QsIUqdbnI5y/zbHi5vyxz+1cMzEOgRgHfYLDd2kybo1J5AJXGQunZCvXl8PrfbJs/ozerJd8LqmzS2wVF7MvI4rNXLPHQoVpNHm3+t5Awe6SQB/DZ+gZDb3VFJq4LJUlvqQmShorc3nMVBLTTrpDfG/rbYkoq09PmiBfuD1xywfad1hd4Is6APpvLZE7iXeOeBB72ygs8Lc2zwBWURVz6WXN33OoymH3IZ+Phwxw65QFM6cTCNqJG86fO44BxJeggW5R+S99QI9lg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0324.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Sat, 17 Feb 2024 00:10:51 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7270.036; Sat, 17 Feb 2024 00:10:51 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 17 Feb 2024 01:12:39 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [U7mlWeGyJ4VIqRrBaMVMWHw6X/k3xrkVpkkCSS9Jzz8=] X-ClientProxiedBy: ZR2P278CA0084.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:65::8) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240217001239.2225331-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0324:EE_ X-MS-Office365-Filtering-Correlation-Id: 98e24ca4-c6db-4157-b44e-08dc2f4ce6d8 X-MS-Exchange-SLBlob-MailProps: 9IecXKUgicDk7xT2Lt/4dZMOx2L6DYpWmvGszox4eGvIwsxjiNm2qjjl4ScVCa8yTFHpMvMnk6scceyDO7zEIP7m9SaYu+fQZgCmm5f3jcHSkXacHMEi1GRbHijIVXYJ6sOYac4j/s1hqSCexdpQJqei1i8lvmxtB4ooFfkkvDgu56qom9MuMOE4f+O2rf+Pl2BjOsOZKy0UWgVpcx4wrlPhAb8y7kpzfKfSE6ZJjxxP7c4b1ptInAocr8tPw2C5QJkXkciOlrg1TmJJSheYoa4L7B6cfdP7lfhl2slqXJYjc5LUNW2VW3xr/HajBNZ1S/ieeZv8ELZholggVEFbSZMhbRFDwJ1iPv2M4O4aFFBDtOqWtyHdDv/H3sqVU0yoSk3D4ifGcOxPqTGsCPOoH91T3wpXdbgHz7xECCyZQEjfj8M32wkvsQcRRv86aqynFVaU29w4S9xV0egMD2fMP8bIepVDEzOnxqo92zfjqJarXJ/+N7ItoTreh57ulRmvWxDAewphlcScvG+U50tsKtiOAZJXb0QfQL3VbmqR4HWvjEdBKU6/v+r/SRB0Mq5H+BCROpeMwsJRnwjmdBnMGU8Qafby+BYAbVXoCPCOlUtvMsB6AAq+a+Dr6Qhy9ImGe6z86jBrsSiRHY+OUbaA8jqyP2z7C6NQljnmBzZM68uY2mm7Cykx+fwE5XIZJI+PvVWKyevB8sP3E6Y+5C/6ewCgA04MXhgfethavbp5KHknCmiN/X0CLA== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fJk659w/8FGOL/N8eR9un4v0pxPJfPnTM5nrjURaMeh4ts+8K4ANrMP+5FXT1b3FbyL70h9GBj8HV+ohF7GS7ZqXUr3N31yfBXz+v+D4XqbCKDAItMxRUpjrJTDI/naYNQuePGIU87FeEK0+Q5364GJ79wR/1B7CVTKcy+FeqoP0eAudRBah5EojSUuU9T0EJwoz4EvM/Ex4vvmXw4vLFmrq6bq6ukKOX11zA8W8sVIwnojB4oLpUWmG+lKAUtwg/58YYhyVarU63ej8CO5g+sSO5ozp+601k++ErWtgTlyL2rIdqERrU8fJGPNB9460N89hY+PWHeXR7pdUOyZRo97kFEaXapSyFKd1BS4bFkv01a7s6i5bg9Nimp9WbhUMUtLX/FceRBTpxG8cNGb/rZMyOIXJn5qcPfSaEDtW+uqWlORAmkQ/tZHOmsr/VfMcNaKl54ZzWcOpQO5tAjhTtceNk4nfaV3zXMlADTFhw/LkZxDQa6gRQDarBskxSajfHMLQy7WDF5fGgPNdACmtbSKm5LAaozwosOZYiA087sTHlya5C44U5QANrgGPZydiUvJlnyXeZqew9eYUICKElC5HYWmqb/otq+EzsvwcbG0ZrYT8byF2BobCnSkNbmPR X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6tQ9h1VRuRFzJlYzkrEbX/VYBqXgp3eTwazyDOhWx0soCjtqTpx/82pdwN9gDydiBUaVe5j5XWyfNpHR4S1P0/FOtBCHt8b6C1jSAL1WMHnqt/xn1Rc6eQliHGp3t8jCx5YXa9hCtVGPL/FT3a50/pp9G8uxC+SFL7CQ5n3aPieCfZE8iJIMhbZCydVT0Pr9xSTcmIqUtN9yli2TzImgLMu9CrotGpsCYOBFzsKlyM1Gp/UsiitOar5anvVLINa7yLLQiLE8JAuAWERXIX74tcxIbEb5GgtXYIk69HrsSUMrfmo1Z83bzU/wzBbVCHjAGG72Y3QLCEzOdk6muVtnZ1Y63+M+GNqayWH9/BF0EHkit6cMM5sOpD1kFhwZIh44ce+F3kJYr+sdX97KKR1xp+93tihkirLz/765dKL1yBVyAuDNU4R+ZsYrRlq3bppnCHS9eO9P/+H6JFfeuY6Jy9Y5DhuKTmypzhgUNdXE4AVtVR/FAor1wt1jFCs6vOdCt7eDijXBGFr6SpJ7X4F7eYTh4Cmxw8LcK9wemDPvlOEAsyfTURsrYdRj8hbLpTxg3z1Jk5gK14A/kw6z2xRbq7GctByuaui01f5jQQPqavQTyu8XDczoL7Y8qAD1R22z86OZ6Ygp+vGilj+miqy7+8U4ZHp5176HcfeBYLoNqVu7Snr4o5xvd1sLUbkJRCRAFLkM7LU3J3cj836D1Y5HplMMKcqAquR13rrPEoTfqV7KP+jdPxk9yn6oAX43TfKl48uUroXNFw55h7ofxXoJjdhD0EyEKn3cMCoyO7Y7cPtfv4rXyB0ZbJHJ1mJsFO8SZ5Pc4wHNoXUFaYkr1gLJAFCu85zLCnrpYyDNutdUeWpW7R2TezUVKYS/CcKOc1N2m1ujgiO0K6vJDDTRut0U7ggGZRETM0hG1SnQEld2io6unvyh3PKh/7mCM5fRBeGIEfhw19BrmvpCcKUpUv4teZUnKMh+dkmwb1C9g7jDixUdfD3YUmk8BZdVUTq9vzmokcvb48F5qpVjUvJ2Y4t+N+BCusmUSldLeXFxlYTtCnJsT554O8m5T7ZiFb9lijdZJqB+cFA7j/LOnDqXWmC6b21FRxbYoh2EXthE/zZIQjbqzTV6McHrBcUMgseoSwbKVPe+PL6i1P9VUmzi2LwYFikgH8tp3c9QbIWshZI4MalPP5zXgz7VO6zEXgw8AG2g0/eUYMZErY98XV0yTvi147Ru4y5MqlVRfUw0+nGWzIo/320Pu0nVeLNBdxTF2JD4ywkEz/eOHA1mD4qqMuR06A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98e24ca4-c6db-4157-b44e-08dc2f4ce6d8 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2024 00:10:51.8320 (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: PR3P250MB0324 Subject: [FFmpeg-devel] [PATCH 4/4] avcodec/x86/h264_qpel: Remove put_h264_qpel[48]_mmxext 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 9gtf1gBJ+SDG These functions are not faster than the C versions. Signed-off-by: Andreas Rheinhardt --- libavcodec/x86/fpel.asm | 1 - libavcodec/x86/fpel.h | 2 -- libavcodec/x86/h264_qpel.c | 32 +++++++++++++++++++++----------- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/libavcodec/x86/fpel.asm b/libavcodec/x86/fpel.asm index ecaca3c080..278d1410fc 100644 --- a/libavcodec/x86/fpel.asm +++ b/libavcodec/x86/fpel.asm @@ -89,7 +89,6 @@ cglobal %1_pixels%2, 4,5,4 %endmacro INIT_MMX mmx -OP_PIXELS put, 4 OP_PIXELS put, 8 OP_PIXELS put, 16 diff --git a/libavcodec/x86/fpel.h b/libavcodec/x86/fpel.h index c533ca40b2..47ffc8eec7 100644 --- a/libavcodec/x86/fpel.h +++ b/libavcodec/x86/fpel.h @@ -30,8 +30,6 @@ void ff_avg_pixels16_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); void ff_avg_pixels16_sse2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); -void ff_put_pixels4_mmx(uint8_t *block, const uint8_t *pixels, - ptrdiff_t line_size, int h); void ff_put_pixels8_mmx(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); void ff_put_pixels16_mmx(uint8_t *block, const uint8_t *pixels, diff --git a/libavcodec/x86/h264_qpel.c b/libavcodec/x86/h264_qpel.c index 2df4c11f82..d69ccda89c 100644 --- a/libavcodec/x86/h264_qpel.c +++ b/libavcodec/x86/h264_qpel.c @@ -47,8 +47,8 @@ void ff_avg_pixels16_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t #define ff_put_pixels16_l2_sse2 ff_put_pixels16_l2_mmxext #define ff_avg_pixels16_l2_sse2 ff_avg_pixels16_l2_mmxext #define ff_put_pixels16_mmxext ff_put_pixels16_mmx -#define ff_put_pixels8_mmxext ff_put_pixels8_mmx -#define ff_put_pixels4_mmxext ff_put_pixels4_mmx +#define ff_put_pixels8_mmxext(...) +#define ff_put_pixels4_mmxext(...) #define DEF_QPEL(OPNAME)\ void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\ @@ -217,11 +217,10 @@ static void avg_h264_qpel16_mc00_sse2 (uint8_t *dst, const uint8_t *src, { ff_avg_pixels16_sse2(dst, src, stride, 16); } -#define put_h264_qpel8_mc00_sse2 put_h264_qpel8_mc00_mmxext #define avg_h264_qpel8_mc00_sse2 avg_h264_qpel8_mc00_mmxext #define H264_MC_C(OPNAME, SIZE, MMX, ALIGN) \ -static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## MMX (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ +static void av_unused OPNAME ## h264_qpel ## SIZE ## _mc00_ ## MMX (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ {\ ff_ ## OPNAME ## pixels ## SIZE ## _ ## MMX(dst, src, stride, SIZE);\ }\ @@ -424,16 +423,20 @@ LUMA_MC_816(10, mc33, sse2) #endif /* HAVE_X86ASM */ -#define SET_QPEL_FUNCS0123(PFX, IDX, SIZE, CPU, PREFIX) \ +#define SET_QPEL_FUNCS123(PFX, IDX, SIZE, CPU, PREFIX) \ do { \ - c->PFX ## _pixels_tab[IDX][ 0] = PREFIX ## PFX ## SIZE ## _mc00_ ## CPU; \ c->PFX ## _pixels_tab[IDX][ 1] = PREFIX ## PFX ## SIZE ## _mc10_ ## CPU; \ c->PFX ## _pixels_tab[IDX][ 2] = PREFIX ## PFX ## SIZE ## _mc20_ ## CPU; \ c->PFX ## _pixels_tab[IDX][ 3] = PREFIX ## PFX ## SIZE ## _mc30_ ## CPU; \ } while (0) -#define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX) \ +#define SET_QPEL_FUNCS0123(PFX, IDX, SIZE, CPU, PREFIX) \ do { \ - SET_QPEL_FUNCS0123(PFX, IDX, SIZE, CPU, PREFIX); \ + c->PFX ## _pixels_tab[IDX][ 0] = PREFIX ## PFX ## SIZE ## _mc00_ ## CPU; \ + SET_QPEL_FUNCS123(PFX, IDX, SIZE, CPU, PREFIX); \ + } while (0) +#define SET_QPEL_FUNCS_1PP(PFX, IDX, SIZE, CPU, PREFIX) \ + do { \ + SET_QPEL_FUNCS123(PFX, IDX, SIZE, CPU, PREFIX); \ c->PFX ## _pixels_tab[IDX][ 4] = PREFIX ## PFX ## SIZE ## _mc01_ ## CPU; \ c->PFX ## _pixels_tab[IDX][ 5] = PREFIX ## PFX ## SIZE ## _mc11_ ## CPU; \ c->PFX ## _pixels_tab[IDX][ 6] = PREFIX ## PFX ## SIZE ## _mc21_ ## CPU; \ @@ -447,6 +450,11 @@ LUMA_MC_816(10, mc33, sse2) c->PFX ## _pixels_tab[IDX][14] = PREFIX ## PFX ## SIZE ## _mc23_ ## CPU; \ c->PFX ## _pixels_tab[IDX][15] = PREFIX ## PFX ## SIZE ## _mc33_ ## CPU; \ } while (0) +#define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX) \ + do { \ + c->PFX ## _pixels_tab[IDX][ 0] = PREFIX ## PFX ## SIZE ## _mc00_ ## CPU; \ + SET_QPEL_FUNCS_1PP(PFX, IDX, SIZE, CPU, PREFIX); \ + } while (0) #define H264_QPEL_FUNCS(x, y, CPU) \ do { \ @@ -473,8 +481,8 @@ av_cold void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth) if (EXTERNAL_MMXEXT(cpu_flags)) { if (!high_bit_depth) { SET_QPEL_FUNCS0123(put_h264_qpel, 0, 16, mmxext, ); - SET_QPEL_FUNCS0123(put_h264_qpel, 1, 8, mmxext, ); - SET_QPEL_FUNCS(put_h264_qpel, 2, 4, mmxext, ); + SET_QPEL_FUNCS123 (put_h264_qpel, 1, 8, mmxext, ); + SET_QPEL_FUNCS_1PP(put_h264_qpel, 2, 4, mmxext, ); SET_QPEL_FUNCS0123(avg_h264_qpel, 0, 16, mmxext, ); SET_QPEL_FUNCS0123(avg_h264_qpel, 1, 8, mmxext, ); SET_QPEL_FUNCS(avg_h264_qpel, 2, 4, mmxext, ); @@ -513,7 +521,9 @@ av_cold void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth) if (EXTERNAL_SSE2_FAST(cpu_flags)) { if (!high_bit_depth) { - H264_QPEL_FUNCS(0, 0, sse2); + c->put_h264_qpel_pixels_tab[0][0] = put_h264_qpel16_mc00_sse2; + c->avg_h264_qpel_pixels_tab[0][0] = avg_h264_qpel16_mc00_sse2; + c->avg_h264_qpel_pixels_tab[1][0] = avg_h264_qpel8_mc00_sse2; } }