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 */ }