From patchwork Sat May 4 14:48:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: uk7b@foxmail.com X-Patchwork-Id: 48486 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:e68f:b0:1af:836d:81b3 with SMTP id mz15csp424335pzb; Sat, 4 May 2024 07:49:26 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUHexZz9JtJNeR5y9N58Fcb96+pXCqVdjLAj002+nh2TVjZusbmnjuvWp0EoLDkGbg8XUJ7yvrbWBnXOsfL+C6W5pZ2/PMgWKr5NA== X-Google-Smtp-Source: AGHT+IHcvWjINlqWTNuZiD84uovirgnRbp9jDp5TVgvqoHVbsZnX3j/Wd6ICVnEcumWETg0m10Vt X-Received: by 2002:a50:c909:0:b0:572:47be:be36 with SMTP id o9-20020a50c909000000b0057247bebe36mr2790804edh.0.1714834166685; Sat, 04 May 2024 07:49:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1714834166; cv=none; d=google.com; s=arc-20160816; b=AfwoMvR6loryU8aXqL0KvR+IosqbSoLiNWFGnYCeiGkLCM2lqpfBicJlwU443MfiMv tRauNLzT3wThT9qWz4Ii+bJnpaIs/qlb/seJUjB9I6c6FvwA/tXoT+jzQVlxJtRu5nR1 UDrQRhShCwOymxaSE8xse4J79GxwFes6VFjnnK40BsbFmXgBMsEyi5Ps72dbLJT6d+w4 2ul33zi0pkCN6rYCryHd8NY6awU0zOcovjdHbpD5sclwbrg0xCwumH1uZZjW8cRj4nQ+ 10qXfrQfkBJ/8lc4DYq+zaLVx67tZ5Y1HplkZIKoQ6iEj3BJmGp1GOPhapaC0oI1jx8d kYxw== 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:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=KYqZtRtJAGXqFGoegtPncWf6s9dTryYKRnFaNtWNw4M=; fh=D0bFwGkf4X22/D/bfeDVrXKIx7S6kcXsNzy10j8ORbQ=; b=V3rBORE2jxiH0/2ZxQbfhiSiyq9+vHhhsgwA4rZLnSpOoe90BSTEDAob80KEafExmT fodaa4Cse8Uenwa9w48j1vG6sjTTH78dpZyOInhC+9eokRy6Ki7uhBeQLIvtXiKPgxHd 0WJQAi0eQQkblePOVhR/PxlDDPqebiX8SsHmZzD4OCwu94GYZbHlOYHfPFp8hb+H2aoY X+TLErT7KmBOPPfvaYoiIrFDRCgTFVOslEkX0gO45rlsYuf9mk9N5idQusedNdYumZY9 6wQvgK5WbO/SlaY5l9OWUFg6XlkpEJp6vlXd0AC5d7JZZCyfKE+wliYSVQ89jsp7jDRr 9Syw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=tzn1s+n4; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c7-20020a50d647000000b00572d97e1688si1412415edj.644.2024.05.04.07.49.26; Sat, 04 May 2024 07:49:26 -0700 (PDT) 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=@foxmail.com header.s=s201512 header.b=tzn1s+n4; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 25F7068D6B8; Sat, 4 May 2024 17:49:21 +0300 (EEST) 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 3860868D673 for ; Sat, 4 May 2024 17:49:12 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1714834144; bh=PvLZS1mg5TdwUXBB/1yiTJLgDmMRzPlZukPgYqC8OyM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=tzn1s+n4IWsnuK0yjBiABi9zH81wcg+IgQcmCb8sXGNULYGF4kNFyIsO1Iw3gI0PV NEhbwhLGS9XyLu6HazG5R4D4vYbKKP/Da/KD2N8S1e66+JLZGLzLDlelI3UkDPyvMq c9yxEXt3RykqbGkjnsKmOR/RAguBA13OS6wlI+cI= Received: from localhost.localdomain ([42.56.223.122]) by newxmesmtplogicsvrsza29-0.qq.com (NewEsmtp) with SMTP id C411502C; Sat, 04 May 2024 22:49:01 +0800 X-QQ-mid: xmsmtpt1714834143tcpb1oojo Message-ID: X-QQ-XMAILINFO: M6lqjKFHeg8Fx8pCg7ExH/wuEDUQgA+Rxn/AnimHwefU++j8zTLCyZrTUPmpGc 7YP8R1jmO5gpfyqFDwzX4anwBKUSXmUNDHncYVn2Biyz3SgO1KlAHDJ63SsrtyNtU2dJ7UOoEwcs xIQb3x/0UJFNgb0OcaaXJbFvcPe42nhR2tW4oJ3m7zgrgkVHBxo5pLpd9lXnn98kykhEFJ2NBtcv cnnWL+sp7458gEVyPJ26urFPTBAiYfALFvmS+86n/W/LCIGNqJH/6isAcrHqGBJn+GhUbTFRdmYZ vSZlpzzSEwiExPO9QjzU0oaZwL+rtCy7LDDMEsOmi/H1gBFqLuCmZgEK99Q+G1yyLMhF+HLX30Iw 0PXtjF3vtQQOR3beWWo5w0pRPrI79A0cf8c7z67yftU6Z7c/wXUPBK1JIck/yCYIQV/C0Rxp7mge mkKMMfMIvZ5YJXbdIIP5vR3gQWCi3pFKB0xr4hYgHzuvbJIUimhPgtZygAT/DOXNG+1J+GhgHxEP vTUl2dQj36WInDBFQ1B7LAGVfAzI+UcsAIR2qcDV8bMsfp18Kx4qrLG43b8u15xKQECfH31xv1cf 9+pvcLzEj80TvR/dDj8Lq9h9DRILPpHsxLq0coP/B5Ajmk3UscHhTE4g7kku2Yqdxx1PgEoE56HP nXd/Hk3Zilv9YpoJUt0e+LPtDQ5nHAjlODn7dM55rqCnEfxxHbY80i1RZS6G+OuGIPgL7LFd6Bvr RnsGOWjH4TW6dfPJvk/d7tJD0O3ykjQg5sj1Y1Lgm70ilZHCvoiUbZhSz0H0MyqsQPZB/qxQ7Izb wi5R+ax8n7/EU3RYd7b+OXChVnzBMHxotCEnX7miNltSTdz09BhsIfeSZpKhcB0eDHi/uoSSq6xb E019smWxthxKCKaWaFU0RU11qrkdY4pLmRziFyPX3YhpV5Xxuqo4A3TkUxzLJNSzQ+4aWBnkLG74 SMKNIRTIrHNbbAYw81IA== X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= From: uk7b@foxmail.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 4 May 2024 22:48:32 +0800 X-OQ-MSGID: <20240504144840.2411603-3-uk7b@foxmail.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240504144840.2411603-1-uk7b@foxmail.com> References: <20240504144840.2411603-1-uk7b@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/10] lavc/vp8dsp: R-V V put_bilin_v 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YxRF4gmiqDW2 From: sunyuechi C908: vp8_put_bilin4_v_c: 383.5 vp8_put_bilin4_v_rvv_i32: 139.7 vp8_put_bilin8_v_c: 1455.7 vp8_put_bilin8_v_rvv_i32: 299.7 vp8_put_bilin16_v_c: 2863.7 vp8_put_bilin16_v_rvv_i32: 347.7 --- libavcodec/riscv/vp8dsp_init.c | 7 +++++++ libavcodec/riscv/vp8dsp_rvv.S | 36 ++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/libavcodec/riscv/vp8dsp_init.c b/libavcodec/riscv/vp8dsp_init.c index 32cb4893a4..10e1498d01 100644 --- a/libavcodec/riscv/vp8dsp_init.c +++ b/libavcodec/riscv/vp8dsp_init.c @@ -58,6 +58,13 @@ av_cold void ff_vp78dsp_init_riscv(VP8DSPContext *c) c->put_vp8_bilinear_pixels_tab[1][0][2] = ff_put_vp8_bilin8_h_rvv; c->put_vp8_bilinear_pixels_tab[2][0][1] = ff_put_vp8_bilin4_h_rvv; c->put_vp8_bilinear_pixels_tab[2][0][2] = ff_put_vp8_bilin4_h_rvv; + + c->put_vp8_bilinear_pixels_tab[0][1][0] = ff_put_vp8_bilin16_v_rvv; + c->put_vp8_bilinear_pixels_tab[0][2][0] = ff_put_vp8_bilin16_v_rvv; + c->put_vp8_bilinear_pixels_tab[1][1][0] = ff_put_vp8_bilin8_v_rvv; + c->put_vp8_bilinear_pixels_tab[1][2][0] = ff_put_vp8_bilin8_v_rvv; + c->put_vp8_bilinear_pixels_tab[2][1][0] = ff_put_vp8_bilin4_v_rvv; + c->put_vp8_bilinear_pixels_tab[2][2][0] = ff_put_vp8_bilin4_v_rvv; } #endif } diff --git a/libavcodec/riscv/vp8dsp_rvv.S b/libavcodec/riscv/vp8dsp_rvv.S index c8d265e516..a58c197ba1 100644 --- a/libavcodec/riscv/vp8dsp_rvv.S +++ b/libavcodec/riscv/vp8dsp_rvv.S @@ -152,3 +152,39 @@ endfunc func ff_put_vp8_bilin4_h_rvv, zve32x put_vp8_bilin_h 4 endfunc + +.macro put_vp8_bilin_v + li t1, 8 + li t4, 4 + sub t1, t1, a6 +1: + add t2, a2, a3 + addi a4, a4, -1 + vle8.v v0, (a2) + vle8.v v2, (t2) + vwmulu.vx v28, v0, t1 + vwmaccu.vx v28, a6, v2 + vwaddu.wx v24, v28, t4 + vnsra.wi v0, v24, 3 + vse8.v v0, (a0) + add a2, a2, a3 + add a0, a0, a1 + bnez a4, 1b + + ret +.endm + +func ff_put_vp8_bilin16_v_rvv, zve32x + vsetivli zero, 16, e8, m1, ta, ma + put_vp8_bilin_v +endfunc + +func ff_put_vp8_bilin8_v_rvv, zve32x + vsetivli zero, 8, e8, mf2, ta, ma + put_vp8_bilin_v +endfunc + +func ff_put_vp8_bilin4_v_rvv, zve32x + vsetivli zero, 4, e8, mf4, ta, ma + put_vp8_bilin_v +endfunc