From patchwork Sun Feb 26 11:13:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?5b6Q56aP6ZqG?= <839789740@qq.com> X-Patchwork-Id: 40527 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:5494:b0:bf:7b3a:fd32 with SMTP id i20csp2615045pzk; Sun, 26 Feb 2023 03:13:31 -0800 (PST) X-Google-Smtp-Source: AK7set/2j/iEictzIxeh9kyNYYsHgsmJxdKA7BbeQt6v1AWnOif2sbYlBdkCmZmxJ/HB3nb8U+/Q X-Received: by 2002:aa7:ce16:0:b0:4af:5aa1:6e58 with SMTP id d22-20020aa7ce16000000b004af5aa16e58mr15764739edv.21.1677410011581; Sun, 26 Feb 2023 03:13:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677410011; cv=none; d=google.com; s=arc-20160816; b=UFfCv5FOQLln/uTlQClLX8B4zGhJ2U6JFydgEBTay/my8Nzs1WNrme1E22Ta03/Dhr tRtpqWfrynpws4K5Dz2MPY4mwqSKiRBVuly5aRBL8JYMP6sMngWUAnQ5dA2kF6Xk24o5 B1hcwGCwj1ZqaDaZzdG3eBwRJ6ViNCeU9VQ4Kluj1XUc/cSxOA2TzBLRDHmmqVjWonCf Cv1pC9YTw7Cbs8Up/tMTGxY/raDaCg+C3dznzwL75V+Cpjm3LEZR7JEs8AOS//Ofk6Qq +OR0DtmLv61FC8HdJdzPtYUN7KTwIeqmQqzXNSKoTlUh9pPUuPgeRSO83tdwh3DDMbRn q3Qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=qPYFech9oRpSZvxwRwPty5CThMFMiE0UDshkMmO9MkA=; b=Q16Qgs5LMMcXrMElmnsYl1noghpzfUEqUfgWbdNFgjQNdvP3hf3DXaccWo1dGWMKTJ 9sWi7Rjf4ofz1oYORaZ+fMjTbQ5Atmw6jn+Sx3H6SmSMmdO6sHyjQj9nlOtKWsXdpKI3 TVtRhTtRm6pWjtp/PKUCgDhL3uTT+eQL4zYnsudIgl1Y1v9y7flINTMZueYN0bhspi29 t4rEoGnlvseg3PsLjndLmiVUntHvkS7S96QfFLHsnoT4KEkaYCNVc7BpGdsddGKorpVS EMDEf/DcOvfZM7Lb3+gg36GUzZTTh7otWGI7WhSqueubAR0qMb9Dg1aFk4d2KJ1PkaXX kY8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@qq.com header.s=s201512 header.b=rGPGD3Ee; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=qq.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d10-20020a1709064c4a00b008c74c1150cdsi4707067ejw.134.2023.02.26.03.13.30; Sun, 26 Feb 2023 03:13:31 -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=@qq.com header.s=s201512 header.b=rGPGD3Ee; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=qq.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4A80568BD38; Sun, 26 Feb 2023 13:13:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-173.mail.qq.com (out203-205-221-173.mail.qq.com [203.205.221.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C60868BBFC for ; Sun, 26 Feb 2023 13:13:18 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1677409994; bh=srfAesEKW7oNb29DGQXXltXPnwFQskvV1I0I70MkDto=; h=From:To:Cc:Subject:Date; b=rGPGD3EeTdtzWrDP5OvOI4anxJ5RMaICPrcvRsC5LlAiblprTVk0utG2sskLGskpq XsKJUNSm9aCuDFbTGjQYPle/0KXyUvSbXDoIrl5APBA50khz/sUVmtXXbUQUnSr+EQ dnC2S8ym8IFOF7sh3J2ud77r8tUOPsEFXA6+5ctw= Received: from localhost.localdomain ([113.65.131.200]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 34D28AB2; Sun, 26 Feb 2023 19:13:13 +0800 X-QQ-mid: xmsmtpt1677409993t4pc2ydc2 Message-ID: X-QQ-XMAILINFO: M0yQCYO1Pk4B73uVnbdrtXYPYfafbNmVfP4bXs2OD12PKMzPk8hpzk5y16I+1r 3aU4McYWosO4HiRj/doPqpyQw0Jzw2PAs0JnlZFXeCiGlx5IlrsfMlsiYTZf8vN7NdRan12HIekA 1RIeaKeEfhizzjPm0dGYKwS3SlQxg6EncaWyvkqq1WpbzCBW6QeqV7SHnXVY7vkwYieL6GdaHcZA Ktj2lFqxbalkwly1jsnz0YfxcNYHHyo5vUbgh3gI7gXc/TuzVdGirW581TBINBBiL5NF4KD0vb04 mCQc42uL0lAueCVtEc/TX3JOf0zbsRlp7Q9JhFm9nlRTJCaFcCmdrj6RXFac9voNCzJ3Tb5x4kGk QwokyTDUr2Z1P2Q3iX4yjFUtlPRWAPAgxhcKG2GGCf2L/sUdI43zKmuX9QQO/C36xjKaGqGYGl40 WD4KygtGgQwPgO3XsPLe3JX5pIfntezaP7MQsNIyhZiYuOdA3IVTIJiGu1oXdfIjnDpnd1jMqA3w 75Iu0MNX8+XWZIeRIehXR0RAz2tjXlrB/S9X2aexjEi+HDJ328mxWnvzOj2n3m2rVtHNOChQesJ4 ZL8yUmw/OV6AkLzID5uHNLA/AnT3ukfea0iqrQZR4uSmTgi0HcosKGA6ZBJz1v5Y5jYrhwUKGORG Bd3jLcIXonlkdLtsp50RVXktvnURAvnh9LLJqXPL5RQFobUSw1G3duXqvD1pMljNdkiPAKQ5PyTX sQ82X5Klr0g8SP3iluMYesp6epLk5br4pTTluIJRHS81M5aBM6/lAFtx8IuPx8wZgShflDvi88lt TsIwLuVZA6G3Uv7KkBhTz2u2k9pLZb7yKEddZuimqBDL0jx+cQ7AI2U3sLWTvmLNn+TyfkLSITk/ b7aCAxEfcLLVW0BbveMj+3jf/rA5wdbJmRORofv6JtZsje0kJEZQe2oeHJiw+BPOEHpJ96MGkCtY B6vqKXneaIcKE7wPIt1w== From: xufuji456 <839789740@qq.com> To: ffmpeg-devel@ffmpeg.org Date: Sun, 26 Feb 2023 19:13:11 +0800 X-OQ-MSGID: <20230226111311.2327-1-839789740@qq.com> X-Mailer: git-send-email 2.32.0 (Apple Git-132) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavcodec/hevc: add epel_put_pixels which same as qpel in arm 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: xufuji456 <839789740@qq.com> Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: P619HlkIqYuK --- libavcodec/arm/hevcdsp_init_neon.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/libavcodec/arm/hevcdsp_init_neon.c b/libavcodec/arm/hevcdsp_init_neon.c index 8094e6c62e..4063acaf51 100644 --- a/libavcodec/arm/hevcdsp_init_neon.c +++ b/libavcodec/arm/hevcdsp_init_neon.c @@ -119,7 +119,7 @@ QPEL_FUNC(ff_hevc_put_qpel_h3v3_neon_8); #define QPEL_FUNC_UW_PIX(name) \ void name(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, \ - int height, intptr_t mx, intptr_t my, int width); + int height, intptr_t mx, intptr_t my, int width) QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w4_neon_8); QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w8_neon_8); QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w16_neon_8); @@ -131,7 +131,7 @@ QPEL_FUNC_UW_PIX(ff_hevc_put_qpel_uw_pixels_w64_neon_8); #define QPEL_FUNC_UW(name) \ void name(uint8_t *dst, ptrdiff_t dststride, const uint8_t *_src, ptrdiff_t _srcstride, \ - int width, int height, const int16_t* src2, ptrdiff_t src2stride); + int width, int height, const int16_t* src2, ptrdiff_t src2stride) QPEL_FUNC_UW(ff_hevc_put_qpel_uw_pixels_neon_8); QPEL_FUNC_UW(ff_hevc_put_qpel_uw_v1_neon_8); QPEL_FUNC_UW(ff_hevc_put_qpel_uw_v2_neon_8); @@ -293,6 +293,17 @@ av_cold void ff_hevc_dsp_init_neon(HEVCDSPContext *c, const int bit_depth) c->put_hevc_qpel[8][0][0] = ff_hevc_put_pixels_w48_neon_8; c->put_hevc_qpel[9][0][0] = ff_hevc_put_pixels_w64_neon_8; + c->put_hevc_epel[0][0][0] = ff_hevc_put_pixels_w2_neon_8; + c->put_hevc_epel[1][0][0] = ff_hevc_put_pixels_w4_neon_8; + c->put_hevc_epel[2][0][0] = ff_hevc_put_pixels_w6_neon_8; + c->put_hevc_epel[3][0][0] = ff_hevc_put_pixels_w8_neon_8; + c->put_hevc_epel[4][0][0] = ff_hevc_put_pixels_w12_neon_8; + c->put_hevc_epel[5][0][0] = ff_hevc_put_pixels_w16_neon_8; + c->put_hevc_epel[6][0][0] = ff_hevc_put_pixels_w24_neon_8; + c->put_hevc_epel[7][0][0] = ff_hevc_put_pixels_w32_neon_8; + c->put_hevc_epel[8][0][0] = ff_hevc_put_pixels_w48_neon_8; + c->put_hevc_epel[9][0][0] = ff_hevc_put_pixels_w64_neon_8; + c->put_hevc_qpel_uni[1][0][0] = ff_hevc_put_qpel_uw_pixels_w4_neon_8; c->put_hevc_qpel_uni[3][0][0] = ff_hevc_put_qpel_uw_pixels_w8_neon_8; c->put_hevc_qpel_uni[5][0][0] = ff_hevc_put_qpel_uw_pixels_w16_neon_8; @@ -300,6 +311,12 @@ av_cold void ff_hevc_dsp_init_neon(HEVCDSPContext *c, const int bit_depth) c->put_hevc_qpel_uni[7][0][0] = ff_hevc_put_qpel_uw_pixels_w32_neon_8; c->put_hevc_qpel_uni[8][0][0] = ff_hevc_put_qpel_uw_pixels_w48_neon_8; c->put_hevc_qpel_uni[9][0][0] = ff_hevc_put_qpel_uw_pixels_w64_neon_8; + + c->put_hevc_epel_uni[1][0][0] = ff_hevc_put_qpel_uw_pixels_w4_neon_8; + c->put_hevc_epel_uni[3][0][0] = ff_hevc_put_qpel_uw_pixels_w8_neon_8; + c->put_hevc_epel_uni[5][0][0] = ff_hevc_put_qpel_uw_pixels_w16_neon_8; + c->put_hevc_epel_uni[6][0][0] = ff_hevc_put_qpel_uw_pixels_w24_neon_8; + c->put_hevc_epel_uni[7][0][0] = ff_hevc_put_qpel_uw_pixels_w32_neon_8; } if (bit_depth == 10) {