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 166B24AC74 for ; Sat, 18 May 2024 18:16:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2331668CF47; Sat, 18 May 2024 21:16:08 +0300 (EEST) Received: from out203-205-221-155.mail.qq.com (out203-205-221-155.mail.qq.com [203.205.221.155]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A5C3D68CB87 for ; Sat, 18 May 2024 21:15:58 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1716056139; bh=cwhGLAUalmA6WuZ2cW6n1YAm/Y0C5pQxkaQij9SVG7A=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ceseSfgPvSzVjicKzZzkxzIKIBRokpp6EbW+6zp1ChdR9XIoEETmZWraPNAyg/PPK ffTiAz5TQ2C/aUeTncPmCAz0Tv9JL3PV/NlqMJbSezQ3+0GMYut1LbD5yKzW6AAkqi B4AgpQsGXMmRG6RN4diPlfx6dT8OVqHNd8u//XbU= Received: from localhost.localdomain ([42.56.223.122]) by newxmesmtplogicsvrszb16-1.qq.com (NewEsmtp) with SMTP id 3E33EA47; Sun, 19 May 2024 02:15:35 +0800 X-QQ-mid: xmsmtpt1716056138tln1bapz8 Message-ID: X-QQ-XMAILINFO: NwU6Bou9okj/cpNcK/xGAZl827/t7SB0YjCkeXvC7SNpF+y9JaWxw11bI0OqoM k13F8r60DswJ6U+L4z/uJMpSfZwlVb4KHqdVpofX9btdKcs2xzAni/NBrCpHwcQEr9TpM9mAeNQi VVMEMEWqXZ1cByfokAjn30EmcZu2jG8E7aQL67OA14+hSxiwrBI/MZ3k43QwSK6zPs3MzPe9kU+x vBNCgjlkenFlGEnGPHHoJ9A8ZjAGuXdJn05MuvjWly8AbMaJCJNErCK4woMWPdCorD/1dpeuUJYM 2XPjVl/I7BuTMaSJKGvFx9Eyv/yUqcUSQQCaLT5Vrgug8xDisydeAULv1p++eLCtTy9S2MplOzgO I0itpxifb54xD06qQQzBdRHNbq7PncyqoKZhx6reR/+vn0OCyA+xWpS63CExUEZEf83InDePfoLf +tVux4UPwkgVAqPfTgNtTIevc6NkysF62XG+VXNYoJgqeb+7eQoTOVbH0GW1IUJRAV6y03bLUvxO Xssmt7d+ndxYyDZ1U45rl4y0G2Zdy0KjY+HF4jCmSG6SPJm9D5/pc6uf90hTkDIKNVcUA0bKLrvj S20Z4Clw5vwwSfQ0G55d5iQjABwlpaT5O8RbR8f45XNW4R41mhPJXWPbe3wfOoedd8I4rxpP5g/J +ZxMcd0CV5WDE840Lb7OinKxq6XMvACG01n+rbKFVGdI+F1yPDjlABNdwS9eVqJbgNYbwUVIqV/M UdPtOD92jYW37q9mc530eJz1WfcT79bL1PCUSJUPQhN3YJ8YXwfO6paD+IEaJlrrVJivpHsmiZUC BcG1CLLKukjIfzMTWOEY3CnPzRBXlZ85vLJ+EnhgX7Zi+Vl9rZlHgfkAsr7l4tTtLDY0wigjtNrT 0olJC9cRoijOTYXi5XoeNWboK0nL8xl9w9k13f6l0xl/fgtId3/SpTpI1Tr1QiTh6c14JuJ75Y/u 6F50bbDCg= X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= From: uk7b@foxmail.com To: ffmpeg-devel@ffmpeg.org Date: Sun, 19 May 2024 02:15:32 +0800 X-OQ-MSGID: <20240518181533.3124314-4-uk7b@foxmail.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240518181533.3124314-1-uk7b@foxmail.com> References: <20240518181533.3124314-1-uk7b@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 4/5] lavc/vp9dsp: R-V V mc bilin hv 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: sunyuechi 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: From: sunyuechi C908: vp9_avg_bilin_4hv_8bpp_c: 11.0 vp9_avg_bilin_4hv_8bpp_rvv_i64: 3.7 vp9_avg_bilin_8hv_8bpp_c: 38.7 vp9_avg_bilin_8hv_8bpp_rvv_i64: 7.2 vp9_avg_bilin_16hv_8bpp_c: 147.0 vp9_avg_bilin_16hv_8bpp_rvv_i64: 14.2 vp9_avg_bilin_32hv_8bpp_c: 574.5 vp9_avg_bilin_32hv_8bpp_rvv_i64: 42.7 vp9_avg_bilin_64hv_8bpp_c: 2311.5 vp9_avg_bilin_64hv_8bpp_rvv_i64: 201.7 vp9_put_bilin_4hv_8bpp_c: 10.0 vp9_put_bilin_4hv_8bpp_rvv_i64: 3.2 vp9_put_bilin_8hv_8bpp_c: 35.2 vp9_put_bilin_8hv_8bpp_rvv_i64: 6.5 vp9_put_bilin_16hv_8bpp_c: 133.7 vp9_put_bilin_16hv_8bpp_rvv_i64: 13.0 vp9_put_bilin_32hv_8bpp_c: 538.2 vp9_put_bilin_32hv_8bpp_rvv_i64: 39.7 vp9_put_bilin_64hv_8bpp_c: 2114.0 vp9_put_bilin_64hv_8bpp_rvv_i64: 153.7 --- libavcodec/riscv/vp9_mc_rvv.S | 34 ++++++++++++++++++++++++++++++++++ libavcodec/riscv/vp9dsp_init.c | 10 ++++++++++ 2 files changed, 44 insertions(+) diff --git a/libavcodec/riscv/vp9_mc_rvv.S b/libavcodec/riscv/vp9_mc_rvv.S index 9d7caeb005..d2c9393fc9 100644 --- a/libavcodec/riscv/vp9_mc_rvv.S +++ b/libavcodec/riscv/vp9_mc_rvv.S @@ -104,6 +104,39 @@ func ff_\op\()_bilin_\len\()\type\()_rvv, zve32x endfunc .endm +.macro bilin_hv len op +func ff_\op\()_bilin_\len\()hv_rvv, zve32x +.ifc \op,avg + csrwi vxrm, 0 +.endif + vsetvlstatic8 \len t0 64 + neg t1, a5 + neg t2, a6 + li t4, 8 + bilin_load v24, \len, put, h, a5 + add a2, a2, a3 +1: + addi a4, a4, -1 + bilin_load v4, \len, put, h, a5 + vwmulu.vx v16, v4, a6 + vwmaccsu.vx v16, t2, v24 + vwadd.wx v16, v16, t4 + vnsra.wi v16, v16, 4 + vadd.vv v0, v16, v24 +.ifc \op,avg + vle8.v v16, (a0) + vaaddu.vv v0, v0, v16 +.endif + vse8.v v0, (a0) + vmv.v.v v24, v4 + add a2, a2, a3 + add a0, a0, a1 + bnez a4, 1b + + ret +endfunc +.endm + const subpel_filters_regular .byte 0, 0, 0, 128, 0, 0, 0, 0 .byte 0, 1, -5, 126, 8, -3, 1, 0 @@ -334,6 +367,7 @@ endfunc .irp op, put, avg bilin_h_v \len \op h a5 bilin_h_v \len \op v a6 + bilin_hv \len \op .irp name, regular, sharp, smooth .irp type, h, v epel \len \op \name \type 128 diff --git a/libavcodec/riscv/vp9dsp_init.c b/libavcodec/riscv/vp9dsp_init.c index 931b92928a..09519f4005 100644 --- a/libavcodec/riscv/vp9dsp_init.c +++ b/libavcodec/riscv/vp9dsp_init.c @@ -104,6 +104,16 @@ static av_cold void vp9dsp_mc_init_riscv(VP9DSPContext *dsp, int bpp) dsp->mc[4][FILTER_BILINEAR ][0][1][0] = ff_put_bilin_4h_rvv; dsp->mc[4][FILTER_BILINEAR ][1][0][1] = ff_avg_bilin_4v_rvv; dsp->mc[4][FILTER_BILINEAR ][1][1][0] = ff_avg_bilin_4h_rvv; + dsp->mc[0][FILTER_BILINEAR ][0][1][1] = ff_put_bilin_64hv_rvv; + dsp->mc[0][FILTER_BILINEAR ][1][1][1] = ff_avg_bilin_64hv_rvv; + dsp->mc[1][FILTER_BILINEAR ][0][1][1] = ff_put_bilin_32hv_rvv; + dsp->mc[1][FILTER_BILINEAR ][1][1][1] = ff_avg_bilin_32hv_rvv; + dsp->mc[2][FILTER_BILINEAR ][0][1][1] = ff_put_bilin_16hv_rvv; + dsp->mc[2][FILTER_BILINEAR ][1][1][1] = ff_avg_bilin_16hv_rvv; + dsp->mc[3][FILTER_BILINEAR ][0][1][1] = ff_put_bilin_8hv_rvv; + dsp->mc[3][FILTER_BILINEAR ][1][1][1] = ff_avg_bilin_8hv_rvv; + dsp->mc[4][FILTER_BILINEAR ][0][1][1] = ff_put_bilin_4hv_rvv; + dsp->mc[4][FILTER_BILINEAR ][1][1][1] = ff_avg_bilin_4hv_rvv; if (flags & AV_CPU_FLAG_RVB_ADDR) { init_subpel2(0, 0, 1, v, put, 128); -- 2.45.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".