From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 7ADAA4C4A8 for ; Fri, 5 Sep 2025 21:29:59 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'V36jJznLEVDEXAtTm9tzu+5UJW3JmBEqBB2Xdhw/KAc=', expected b'RWHNl6S5gK/LxEZeUja0LhFIb/XbpeiZZmVPolXwUjc=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757107791; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=V36jJznLEVDEXAtTm9tzu+5UJW3JmBEqBB2Xdhw/KAc=; b=a23dVsPlSnvF8o0rtt4aOHff1sCBPq4NtOCqisvpD3K3oywgyu/Y6lNoxAod0anlO+Qsb pgIpAJqemvyxqYbYbMCKt/WD4nJVH5SwgWSkWV9gnQs7JPZxGKmVgrnxj44cNtpHQCJgsBm K34j9wYLl4jd2z0pA8RVi4I/BWfPLph7/1D3G+2fuwyAQIH6hQSxbAOlLBePy8oHQyl4apn yFNdZVk9aq7JOjawfKIhMkI+N92eXg1HYkHJXlJjPZjS/j4YbVRasqrnnLBh7ceHOb/tLYu EcIgNJg3VIPVx60jNQyZ9bUgzViG30j9mCedSuIKF8kF7VudHwPFtIniooHA== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id E780C68E720; Sat, 6 Sep 2025 00:29:51 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1757107790; b=Qcykt6/vEnmYTBxqJS0F4hz5+HsWWoSM31C+v9f+hYO4ogsF/22gBtTB9Sk2szPHBX5Qw puquhopnMExtLjuBtgtTF4tzoCi1ZdcwbhlaZQT6VZ2y1S32kazZjLVlhLbQdmenQ4dFcST UjtjVZNkKDoJXppLpOGO3AWhoQ0UliDiF88c3S6uZuaXL2M6XoZMpwYMeEKt6zffh0jOxsQ 0YFa9LYpqZXXR1JxIPGcn3lLOUUVSDxUd0mbtm/cdnbSgvm0OSReKDzk6Maneyk/PoWN3vz sGeMIRaTU8lHaCOVTlpnNnkwNgPVcJJ7KRmD8lj4sAqsFFBS2jy7/NY3Uw/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1757107790; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=it4HC0vAzt+xA3crtEWklCjgMdMlPttxqEOMLKHWnVI=; b=OlauqVBKwzXebCskD9IjzIpbM+1FDed3948/qRztdBOVsRQ/HUOG3UhMXkWTohYb8jntI cz+WF8QW/YJ2qAg0XYPb18MV9A0EQhZOEZtL9C9qMVVzR2daR/dfmXFYl5uxJoagJq/QI9C VWQrUt6fps/ceNZPIWPCRpyMHsNTTXxEH7BeLQBb3B8bT/wrF+4gIvKor1XRGmvjV0oTe/u ryb7KaehiC8ITc+7T874E9aI/GKIMFJfSVPObSjxL+74urWW1/zGaRPxiCUN7tUi0em+wWk M1jPB0L2XLQajFiSapYD/stASDSIGF8UNd9O25qv/ldolMFS0RNvS9q/gsEA== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757107781; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=RWHNl6S5gK/LxEZeUja0LhFIb/XbpeiZZmVPolXwUjc=; b=1HDTLuWQW36pqxpKyYE6KrAN8qvfSZRP6S5a8kH8VR34tpRvA9Bh6nqzia+/vI+53weWv TCzv+HyM5MTgRXPWJmZG/g0G3zzEe4U5++S5u7JLVtgcQpjE+bjxcwHG+oyQTVEtXXiyngd 0p+RA0+BfhvbK8N0DXn33JwlDGPVAyVMtFbq6OfHR2fJyQj2U/ufIT18RvSjg/ikUYd1xR4 SrbtsKBk5/x5h0al+PU/HO2Cz497C4J02zpxzFxWn78zdlVVqbnyfuQ7De2gjd6HFhGGOv+ mgsYYlRjJWo2XJ1zrz0LltJldsd3CBHqUrcDWOcEoZ8CG3ZArNog97t6UWsA== Received: from 95ff7801cf76 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 030B268E6D2 for ; Sat, 6 Sep 2025 00:29:40 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Fri, 05 Sep 2025 21:29:40 -0000 Message-ID: <175710778120.25.14943963457264102400@463a07221176> Message-ID-Hash: JKA53U2MT5QW22WICHON3QOHVX34K7TP X-Message-ID-Hash: JKA53U2MT5QW22WICHON3QOHVX34K7TP X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/aarch64/vvc: Implement dmvr_h_8 (PR #20451) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: welder via ffmpeg-devel Cc: welder Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20451 opened by welder URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20451 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20451.patch >>From 93dea0cf1f04013607adb15be53f1be8061d4440 Mon Sep 17 00:00:00 2001 From: Krzysztof Pyrkosz Date: Fri, 5 Sep 2025 22:24:55 +0200 Subject: [PATCH] avcodec/aarch64/vvc: Implement dmvr_h_8 A78: dmvr_h_8_12x20_neon: 76.6 ( 4.31x) dmvr_h_8_20x12_neon: 65.8 ( 3.49x) dmvr_h_8_20x20_neon: 106.6 ( 3.62x) A72: dmvr_h_8_12x20_neon: 190.6 ( 4.40x) dmvr_h_8_20x12_neon: 171.1 ( 4.31x) dmvr_h_8_20x20_neon: 275.1 ( 4.50x) --- libavcodec/aarch64/vvc/dsp_init.c | 2 ++ libavcodec/aarch64/vvc/inter.S | 52 +++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/libavcodec/aarch64/vvc/dsp_init.c b/libavcodec/aarch64/vvc/dsp_init.c index df0b536539..2e0e7434e8 100644 --- a/libavcodec/aarch64/vvc/dsp_init.c +++ b/libavcodec/aarch64/vvc/dsp_init.c @@ -95,6 +95,7 @@ W_AVG_FUN(12) DMVR_FUN(, 8) DMVR_FUN(, 12) +DMVR_FUN(h_, 8) DMVR_FUN(hv_, 8) DMVR_FUN(hv_, 10) DMVR_FUN(hv_, 12) @@ -188,6 +189,7 @@ void ff_vvc_dsp_init_aarch64(VVCDSPContext *const c, const int bd) c->inter.avg = ff_vvc_avg_8_neon; c->inter.w_avg = vvc_w_avg_8; c->inter.dmvr[0][0] = ff_vvc_dmvr_8_neon; + c->inter.dmvr[0][1] = ff_vvc_dmvr_h_8_neon; c->inter.dmvr[1][1] = ff_vvc_dmvr_hv_8_neon; c->inter.apply_bdof = ff_vvc_apply_bdof_8_neon; diff --git a/libavcodec/aarch64/vvc/inter.S b/libavcodec/aarch64/vvc/inter.S index a6648b64fc..393702373a 100644 --- a/libavcodec/aarch64/vvc/inter.S +++ b/libavcodec/aarch64/vvc/inter.S @@ -385,6 +385,58 @@ function ff_vvc_dmvr_12_neon, export=1 ret endfunc +function ff_vvc_dmvr_h_8_neon, export=1 + movrel x7, X(ff_vvc_inter_luma_dmvr_filters) + add x7, x7, x4, lsl #1 + ld2r {v0.16b, v1.16b}, [x7] + tbz w6, #4, 12f +20: + ldur q3, [x1, #1] + ldr q2, [x1] + umull v4.8h, v0.8b, v2.8b + umull2 v5.8h, v0.16b, v2.16b + ldur s17, [x1, #17] + umull v6.8h, v1.8b, v3.8b + ldr s16, [x1, #16] + umull2 v7.8h, v1.16b, v3.16b + add v4.8h, v4.8h, v6.8h + umull v17.8h, v1.8b, v17.8b + add v5.8h, v5.8h, v7.8h + umull v16.8h, v0.8b, v16.8b + srshr v4.8h, v4.8h, #2 + add v16.4h, v16.4h, v17.4h + srshr v5.8h, v5.8h, #2 + srshr v16.4h, v16.4h, #2 + st1 {v4.8h, v5.8h}, [x0], #32 + subs w3, w3, #1 + st1 {v16.4h}, [x0], #8 + add x1, x1, x2 + add x0, x0, #(VVC_MAX_PB_SIZE * 2 - 32 - 8) + b.ne 20b + ret + +12: + ldur d3, [x1, #1] + ldr d2, [x1] + umull v4.8h, v0.8b, v2.8b + ldur s17, [x1, #9] + umull v6.8h, v1.8b, v3.8b + ldr s16, [x1, #8] + add v4.8h, v4.8h, v6.8h + umull v17.8h, v1.8b, v17.8b + umull v16.8h, v0.8b, v16.8b + srshr v4.8h, v4.8h, #2 + add v16.4h, v16.4h, v17.4h + srshr v16.4h, v16.4h, #2 + st1 {v4.8h}, [x0], #16 + subs w3, w3, #1 + st1 {v16.4h}, [x0], #8 + add x1, x1, x2 + add x0, x0, #(VVC_MAX_PB_SIZE * 2 - 16 - 8) + b.ne 12b + ret +endfunc + function ff_vvc_dmvr_hv_8_neon, export=1 tmp0 .req x7 tmp1 .req x8 -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org