From patchwork Fri May 10 16:39:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 48700 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp709440pzb; Fri, 10 May 2024 09:39:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUCxF8a2O4LZVaYNv4vDPu2cF30hvabK8Q1XUQOy95dfSDiDfElaRandg4VLMELLwKgQNMag4ezB0YV2B0jcevdQeebbRqKmrJcTA== X-Google-Smtp-Source: AGHT+IH51JoGYF08HwdAd44Gw5+7+cMK21nBaVWtwPZnK1OAN9voYLdD0UTKIWLUTH5jtBU9P0YL X-Received: by 2002:a05:6402:212:b0:572:5f24:153a with SMTP id 4fb4d7f45d1cf-5734d6b2d64mr2089297a12.3.1715359196788; Fri, 10 May 2024 09:39:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715359196; cv=none; d=google.com; s=arc-20160816; b=gbahgbXdNXoLuZMPbEz94CwrPSLNkuAxQwtL1Viaa2uDtDplhykfWmNPE9nhZQkiUT 7QC4g0cxYV5yISfv/+wY+S2reVT47oTv1U8wdPx5K3WtZ6/vfZqwg+HSTiIwh0+9DPyC 8Bp0pTuxikU40zgQnsw7nzhcD4ItlZdTG9U6oKGgIwob3T2ibOm3c4ilwwJ+ABRPZvPN OJoq9dByXSRHu2MCponteTYr1OCMcFi0ZXQEUizE+JiYJYsvmC+/Mc18h5o9gmHWbQEe NAlAa52S36J8TxUgUEQn0EUfcogGOfoQisNAGLV/M2HAPEjms4Vmc/sobtoKrSjh+1Ng f/0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=tnRvzp/Qe0gX9Yri2/cOKG7bJmVkJK/EOODULmXzILw=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=qWpeVnevWbv98n5kMLmffGacxEFwmtRPPIg3Y/713Ag4G2vndxv/gbTsNWcEk+ULsa jxUgavfs361kHdHHChJDKv1BEqOYs4rMnBTHpKT+40beOCW/4RcAFWYTwludUu2qE2DM LKPpkxW86ce5koz/sSdhreWiGQRfzQTZguaJStPJUTej6rbJQWj2tUQgKGab60kZg1e4 Dl1fc+BE5DuC6pEMvWTv3UR11RrqBW3xXQqtGVKiGshxRMhA6mcci3ZnIiVizSIxSBD6 mTvFw389ar1ssk6KT5gGEnZkm02gw0LguP5J7iA04k7dSpDgZmZgmYANlqTz/6VWiVL9 Eiuw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5733c2d547csi2294471a12.230.2024.05.10.09.39.55; Fri, 10 May 2024 09:39:56 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 187E768D525; Fri, 10 May 2024 19:39:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5CFD368D38C for ; Fri, 10 May 2024 19:39:45 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id D41FEC006E for ; Fri, 10 May 2024 19:39:43 +0300 (EEST) From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 May 2024 19:39:41 +0300 Message-ID: <20240510163943.109471-1-remi@remlab.net> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] lavc/vp9dsp: fix indentation 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: oV0ocQSym3Wq --- libavcodec/riscv/vp9dsp_init.c | 50 +++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/libavcodec/riscv/vp9dsp_init.c b/libavcodec/riscv/vp9dsp_init.c index 69ab39004c..6863c486c8 100644 --- a/libavcodec/riscv/vp9dsp_init.c +++ b/libavcodec/riscv/vp9dsp_init.c @@ -26,33 +26,33 @@ static av_cold void vp9dsp_intrapred_init_rvv(VP9DSPContext *dsp, int bpp) { - #if HAVE_RVV - int flags = av_get_cpu_flags(); +#if HAVE_RVV + int flags = av_get_cpu_flags(); - if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I64 && ff_get_rv_vlenb() >= 16) { - dsp->intra_pred[TX_8X8][DC_PRED] = ff_dc_8x8_rvv; - dsp->intra_pred[TX_8X8][LEFT_DC_PRED] = ff_dc_left_8x8_rvv; - dsp->intra_pred[TX_8X8][DC_127_PRED] = ff_dc_127_8x8_rvv; - dsp->intra_pred[TX_8X8][DC_128_PRED] = ff_dc_128_8x8_rvv; - dsp->intra_pred[TX_8X8][DC_129_PRED] = ff_dc_129_8x8_rvv; - dsp->intra_pred[TX_8X8][TOP_DC_PRED] = ff_dc_top_8x8_rvv; - } + if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I64 && ff_get_rv_vlenb() >= 16) { + dsp->intra_pred[TX_8X8][DC_PRED] = ff_dc_8x8_rvv; + dsp->intra_pred[TX_8X8][LEFT_DC_PRED] = ff_dc_left_8x8_rvv; + dsp->intra_pred[TX_8X8][DC_127_PRED] = ff_dc_127_8x8_rvv; + dsp->intra_pred[TX_8X8][DC_128_PRED] = ff_dc_128_8x8_rvv; + dsp->intra_pred[TX_8X8][DC_129_PRED] = ff_dc_129_8x8_rvv; + dsp->intra_pred[TX_8X8][TOP_DC_PRED] = ff_dc_top_8x8_rvv; + } - if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { - dsp->intra_pred[TX_32X32][DC_PRED] = ff_dc_32x32_rvv; - dsp->intra_pred[TX_16X16][DC_PRED] = ff_dc_16x16_rvv; - dsp->intra_pred[TX_32X32][LEFT_DC_PRED] = ff_dc_left_32x32_rvv; - dsp->intra_pred[TX_16X16][LEFT_DC_PRED] = ff_dc_left_16x16_rvv; - dsp->intra_pred[TX_32X32][DC_127_PRED] = ff_dc_127_32x32_rvv; - dsp->intra_pred[TX_16X16][DC_127_PRED] = ff_dc_127_16x16_rvv; - dsp->intra_pred[TX_32X32][DC_128_PRED] = ff_dc_128_32x32_rvv; - dsp->intra_pred[TX_16X16][DC_128_PRED] = ff_dc_128_16x16_rvv; - dsp->intra_pred[TX_32X32][DC_129_PRED] = ff_dc_129_32x32_rvv; - dsp->intra_pred[TX_16X16][DC_129_PRED] = ff_dc_129_16x16_rvv; - dsp->intra_pred[TX_32X32][TOP_DC_PRED] = ff_dc_top_32x32_rvv; - dsp->intra_pred[TX_16X16][TOP_DC_PRED] = ff_dc_top_16x16_rvv; - } - #endif + if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + dsp->intra_pred[TX_32X32][DC_PRED] = ff_dc_32x32_rvv; + dsp->intra_pred[TX_16X16][DC_PRED] = ff_dc_16x16_rvv; + dsp->intra_pred[TX_32X32][LEFT_DC_PRED] = ff_dc_left_32x32_rvv; + dsp->intra_pred[TX_16X16][LEFT_DC_PRED] = ff_dc_left_16x16_rvv; + dsp->intra_pred[TX_32X32][DC_127_PRED] = ff_dc_127_32x32_rvv; + dsp->intra_pred[TX_16X16][DC_127_PRED] = ff_dc_127_16x16_rvv; + dsp->intra_pred[TX_32X32][DC_128_PRED] = ff_dc_128_32x32_rvv; + dsp->intra_pred[TX_16X16][DC_128_PRED] = ff_dc_128_16x16_rvv; + dsp->intra_pred[TX_32X32][DC_129_PRED] = ff_dc_129_32x32_rvv; + dsp->intra_pred[TX_16X16][DC_129_PRED] = ff_dc_129_16x16_rvv; + dsp->intra_pred[TX_32X32][TOP_DC_PRED] = ff_dc_top_32x32_rvv; + dsp->intra_pred[TX_16X16][TOP_DC_PRED] = ff_dc_top_16x16_rvv; + } +#endif } av_cold void ff_vp9dsp_init_riscv(VP9DSPContext *dsp, int bpp, int bitexact) From patchwork Fri May 10 16:39:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 48701 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp709637pzb; Fri, 10 May 2024 09:40:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV7EMdladzUNhokFwuaetehJec/K84QpdjMo7H7NPZzlCVwokC6wAWoaL0N3UntpL8zHsSzl7V7y0wrekk43+RCc91NtwFZyaKvnw== X-Google-Smtp-Source: AGHT+IFy+wzT0AXIsJDAkjEoK4p6zE9fYxxv6uFS8xWougks1+1anTc5noi/MJlicVxsWfvl9tUX X-Received: by 2002:ac2:5598:0:b0:522:297f:cb06 with SMTP id 2adb3069b0e04-522298f0e12mr749671e87.32.1715359215459; Fri, 10 May 2024 09:40:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715359215; cv=none; d=google.com; s=arc-20160816; b=pbZS2o64b4Enci3NiCQrxvu9Yq1KUV1/gAZtAvnuiAzw0OhRvnrwsAGYclrSXJdGie nbEtpyFzxVpFHWGXBkMWcqSrnhMLl7TsLw2ZZ/lQugFo8ASmVf7ecmSKjCrUvRRcjHx7 9sze7zfRWMQCkVc0cG2q7YcFkvrb9yccMiZaOnbgzV8oQxaQiwNcrCA7PitaoZVsN2Si BNCbne2OcjvlBi96PRVQAv7W2tCdo0jcP94pKNosO4IbfIl4yiY3dglRKWRHik1wfrLA sk6UB5MzWtBbfTNX1KcSp7K4IEEwS8qZFpSfFPWe8ZqsoPcb2cI9/C8mU4qX5Oaq+IrK d9sA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=2l7T2H7G/uYpSdgJTDkeiMrqWcfy1sOAi+dupAPefdM=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=i919yUwBZnVDM/yLNxXssSU8u/sDclJczv5ZZkHvhquW5Ma/k+WuTY+tEGbq8b/XKY v/q8ayezPBnsw7/igEVwODMt9li34akeKqYB2efG3X3MXfgZGrtcBx0LzGcM4H4u++8f SUiskSVT3S5Gz/ak43kY6/8T4DKkYBdsukqQk74orim2Jonivtxu8lthh02ei9WvVntt JLAa9lVmag45s0wITX4r8n0mMx2XNguxUocl6TNOf06uAYIj9Db+jvq7LaNfH5DcOwo6 S3gpcOsyJlc6dK9SNqDXy7wXqc0+Z/AWTYjo63TIDCQoOOXZzPoyjYdD6Kq02Ui/RHxV 25bg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5733c2d551asi2269631a12.274.2024.05.10.09.40.14; Fri, 10 May 2024 09:40:15 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 488B168D55E; Fri, 10 May 2024 19:39:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6313868D4EC for ; Fri, 10 May 2024 19:39:45 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 11A25C018E for ; Fri, 10 May 2024 19:39:44 +0300 (EEST) From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 May 2024 19:39:42 +0300 Message-ID: <20240510163943.109471-2-remi@remlab.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240510163943.109471-1-remi@remlab.net> References: <20240510163943.109471-1-remi@remlab.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] lavu/riscv: add ff_rv_vlen_least() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: o44f9awWF2So This inline function checks that the vector length is at least a given value. With this, most run-time VLEN checks can be optimised away. --- libavutil/riscv/cpu.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libavutil/riscv/cpu.h b/libavutil/riscv/cpu.h index 56035f8556..af1440f626 100644 --- a/libavutil/riscv/cpu.h +++ b/libavutil/riscv/cpu.h @@ -22,6 +22,7 @@ #define AVUTIL_RISCV_CPU_H #include "config.h" +#include #include #include "libavutil/cpu.h" @@ -42,4 +43,24 @@ static inline size_t ff_get_rv_vlenb(void) return vlenb; } #endif + +/** + * Checks that the vector bit-size is at least the given value. + * This is potentially undefined behaviour if vectors are not implemented. + */ +static inline bool ff_rv_vlen_least(unsigned int bits) +{ +#ifdef __riscv_v_min_vlen + if (bits <= __riscv_min_vlen) + return true; +#else + /* + * Vector lengths smaller than 128 bits are only possible in embedded cases + * and cannot be run-time detected, so we can assume 128 bits at least. + */ + if (bits <= 128) + return true; +#endif + return bits <= (8 * ff_get_rv_vlenb()); +} #endif From patchwork Fri May 10 16:39:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 48702 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp709782pzb; Fri, 10 May 2024 09:40:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU74dkR4ZqgyEIpPh8JxNh34QWoQmshrawhuhvcwDdNMil8JMQ/lxsO2m5YF9WrHpLZOShYagTbzH3T4E3tEfjMg0zLeKPoPuiNYA== X-Google-Smtp-Source: AGHT+IFigBZPjEKwg4939uNYDzt4RHPqsJ/TQOPd6/alcSHqMb2trEnoHBnEkOXQpY2s1ECxeZC7 X-Received: by 2002:ac2:488d:0:b0:515:c9a5:6abe with SMTP id 2adb3069b0e04-5220fd79fe1mr1482553e87.40.1715359229039; Fri, 10 May 2024 09:40:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715359229; cv=none; d=google.com; s=arc-20160816; b=f8TdCKSaXtUDzJKLgSPXRb5tGLH1spqmEk6qrpXmgU27i+sDtOtJdafML5sfwZpNAl a3iKAEanweDtHaeLeKGlYVBm5Ndvq1SAY+R0TTrVCR65QdS6OpENtmTOo9eQmBRcFBH4 8TnZ/4EJ+5fFE/o1Abf6156THHurgsu6A9/xW/9aSh+byBsisXERCEioZ0gVrs20Bum8 WmO35C5QNLpkxa0aIGYJ2DCujj/CR2YVIqR3MEwTX9WF4S90NXuOGcC9DchUIBfykwDa kwBJAxxZKXYSNwgiP5Dt8l99yeHaQJOx4tJ7rxAYKfvGCUAL3Zmhb685/Ufq3Ih6+Smw d5cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=NNz2es6UG5+Wj/DmQUsqYaNlhY76i1guyW1UPWz1FQU=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=lYNqLWQlxln52Ek9PBlgjc2rfsW9iRGAJn3re6kHaCSs0yxEqXTuZiDY8uD4ys8UZS r8uQUPMMQHuTDuwj3TIjkfrD5Ee9P/EY/ue/wfOvBhpljPw8tHjDvbLTyajNQ/AxwgnH FBiy/1nW4M6F4z9tWYPYWyFM0OdEbe+qHGSxNHb5WDH/9AI4M9wHghA1O179nyTZu5kf cRZCKMBwFNRXCn0P9x2nsgnITNaBzmdXvdtRwVolCgMi/aGajuCx31h5oEwNSkgHZ4o0 FhSVJg576+L4Y3tvjz5FOOJ1vblfZyY1R8/zXzqFZR2K+f5dhBq7W2Bus4KsChLc+akp pYjQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5733beac8d8si2040402a12.109.2024.05.10.09.40.06; Fri, 10 May 2024 09:40:29 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4437068D535; Fri, 10 May 2024 19:39:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6005B68D4C6 for ; Fri, 10 May 2024 19:39:45 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 422A5C01A1 for ; Fri, 10 May 2024 19:39:44 +0300 (EEST) From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 May 2024 19:39:43 +0300 Message-ID: <20240510163943.109471-3-remi@remlab.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240510163943.109471-1-remi@remlab.net> References: <20240510163943.109471-1-remi@remlab.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] lavc/riscv: use ff_rv_vlen_least() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8CFaAr8MZmhK --- libavcodec/riscv/blockdsp_init.c | 2 +- libavcodec/riscv/g722dsp_init.c | 2 +- libavcodec/riscv/h264_chroma_init_riscv.c | 2 +- libavcodec/riscv/idctdsp_init.c | 2 +- libavcodec/riscv/me_cmp_init.c | 2 +- libavcodec/riscv/pixblockdsp_init.c | 2 +- libavcodec/riscv/rv34dsp_init.c | 2 +- libavcodec/riscv/rv40dsp_init.c | 2 +- libavcodec/riscv/sbrdsp_init.c | 2 +- libavcodec/riscv/vc1dsp_init.c | 2 +- libavcodec/riscv/vp8dsp_init.c | 4 ++-- libavcodec/riscv/vp9dsp_init.c | 4 ++-- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/libavcodec/riscv/blockdsp_init.c b/libavcodec/riscv/blockdsp_init.c index 42c8e87fa7..adde0b890b 100644 --- a/libavcodec/riscv/blockdsp_init.c +++ b/libavcodec/riscv/blockdsp_init.c @@ -37,7 +37,7 @@ av_cold void ff_blockdsp_init_riscv(BlockDSPContext *c) #if HAVE_RVV int flags = av_get_cpu_flags(); - if (flags & AV_CPU_FLAG_RVV_I64 && ff_get_rv_vlenb() >= 16) { + if (flags & AV_CPU_FLAG_RVV_I64 && ff_rv_vlen_least(128)) { c->clear_block = ff_clear_block_rvv; c->clear_blocks = ff_clear_blocks_rvv; c->fill_block_tab[0] = ff_fill_block16_rvv; diff --git a/libavcodec/riscv/g722dsp_init.c b/libavcodec/riscv/g722dsp_init.c index 77e29bfb56..0c7e7919e2 100644 --- a/libavcodec/riscv/g722dsp_init.c +++ b/libavcodec/riscv/g722dsp_init.c @@ -34,7 +34,7 @@ av_cold void ff_g722dsp_init_riscv(G722DSPContext *dsp) #if HAVE_RVV int flags = av_get_cpu_flags(); - if ((flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16) + if ((flags & AV_CPU_FLAG_RVV_I32) && ff_rv_vlen_least(128)) dsp->apply_qmf = ff_g722_apply_qmf_rvv; #endif } diff --git a/libavcodec/riscv/h264_chroma_init_riscv.c b/libavcodec/riscv/h264_chroma_init_riscv.c index e6fe5f6ed6..9802fa517f 100644 --- a/libavcodec/riscv/h264_chroma_init_riscv.c +++ b/libavcodec/riscv/h264_chroma_init_riscv.c @@ -38,7 +38,7 @@ av_cold void ff_h264chroma_init_riscv(H264ChromaContext *c, int bit_depth) int flags = av_get_cpu_flags(); if (bit_depth == 8 && (flags & AV_CPU_FLAG_RVV_I32) && - (flags & AV_CPU_FLAG_RVB_ADDR) && ff_get_rv_vlenb() >= 16) { + (flags & AV_CPU_FLAG_RVB_ADDR) && ff_rv_vlen_least(128)) { c->put_h264_chroma_pixels_tab[0] = h264_put_chroma_mc8_rvv; c->avg_h264_chroma_pixels_tab[0] = h264_avg_chroma_mc8_rvv; c->put_h264_chroma_pixels_tab[1] = h264_put_chroma_mc4_rvv; diff --git a/libavcodec/riscv/idctdsp_init.c b/libavcodec/riscv/idctdsp_init.c index 4106d90c55..0decc15955 100644 --- a/libavcodec/riscv/idctdsp_init.c +++ b/libavcodec/riscv/idctdsp_init.c @@ -39,7 +39,7 @@ av_cold void ff_idctdsp_init_riscv(IDCTDSPContext *c, AVCodecContext *avctx, #if HAVE_RVV int flags = av_get_cpu_flags(); - if ((flags & AV_CPU_FLAG_RVV_I64) && ff_get_rv_vlenb() >= 16) { + if ((flags & AV_CPU_FLAG_RVV_I64) && ff_rv_vlen_least(128)) { c->put_pixels_clamped = ff_put_pixels_clamped_rvv; c->put_signed_pixels_clamped = ff_put_signed_pixels_clamped_rvv; c->add_pixels_clamped = ff_add_pixels_clamped_rvv; diff --git a/libavcodec/riscv/me_cmp_init.c b/libavcodec/riscv/me_cmp_init.c index 858e2ccdb8..f246e55cb1 100644 --- a/libavcodec/riscv/me_cmp_init.c +++ b/libavcodec/riscv/me_cmp_init.c @@ -82,7 +82,7 @@ av_cold void ff_me_cmp_init_riscv(MECmpContext *c, AVCodecContext *avctx) #if HAVE_RVV int flags = av_get_cpu_flags(); - if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { c->pix_abs[0][0] = ff_pix_abs16_rvv; c->sad[0] = ff_pix_abs16_rvv; c->pix_abs[1][0] = ff_pix_abs8_rvv; diff --git a/libavcodec/riscv/pixblockdsp_init.c b/libavcodec/riscv/pixblockdsp_init.c index 0584100cfc..b205841101 100644 --- a/libavcodec/riscv/pixblockdsp_init.c +++ b/libavcodec/riscv/pixblockdsp_init.c @@ -56,7 +56,7 @@ av_cold void ff_pixblockdsp_init_riscv(PixblockDSPContext *c, } #if HAVE_RVV - if ((cpu_flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16) { + if ((cpu_flags & AV_CPU_FLAG_RVV_I32) && ff_rv_vlen_least(128)) { c->diff_pixels = ff_diff_pixels_unaligned_rvv; c->diff_pixels_unaligned = ff_diff_pixels_unaligned_rvv; } diff --git a/libavcodec/riscv/rv34dsp_init.c b/libavcodec/riscv/rv34dsp_init.c index 7dcadc7e43..051dc75653 100644 --- a/libavcodec/riscv/rv34dsp_init.c +++ b/libavcodec/riscv/rv34dsp_init.c @@ -33,7 +33,7 @@ av_cold void ff_rv34dsp_init_riscv(RV34DSPContext *c) #if HAVE_RVV int flags = av_get_cpu_flags(); - if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { c->rv34_inv_transform_dc = ff_rv34_inv_transform_dc_rvv; c->rv34_idct_dc_add = ff_rv34_idct_dc_add_rvv; } diff --git a/libavcodec/riscv/rv40dsp_init.c b/libavcodec/riscv/rv40dsp_init.c index f5a5510b28..47df0e98c5 100644 --- a/libavcodec/riscv/rv40dsp_init.c +++ b/libavcodec/riscv/rv40dsp_init.c @@ -40,7 +40,7 @@ av_cold void ff_rv40dsp_init_riscv(RV34DSPContext *c) #if HAVE_RVV int flags = av_get_cpu_flags(); - if ((flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16 && + if ((flags & AV_CPU_FLAG_RVV_I32) && ff_rv_vlen_least(128) && (flags & AV_CPU_FLAG_RVB_ADDR)) { c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_rvv; c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_rvv; diff --git a/libavcodec/riscv/sbrdsp_init.c b/libavcodec/riscv/sbrdsp_init.c index 2ed46153ea..f937c47e22 100644 --- a/libavcodec/riscv/sbrdsp_init.c +++ b/libavcodec/riscv/sbrdsp_init.c @@ -53,7 +53,7 @@ av_cold void ff_sbrdsp_init_riscv(SBRDSPContext *c) c->sum_square = ff_sbr_sum_square_rvv; c->hf_gen = ff_sbr_hf_gen_rvv; c->hf_g_filt = ff_sbr_hf_g_filt_rvv; - if (ff_get_rv_vlenb() <= 16) { + if (ff_rv_vlen_least(128)) { c->hf_apply_noise[0] = ff_sbr_hf_apply_noise_0_rvv; c->hf_apply_noise[2] = ff_sbr_hf_apply_noise_2_rvv; if (flags & AV_CPU_FLAG_RVB_BASIC) { diff --git a/libavcodec/riscv/vc1dsp_init.c b/libavcodec/riscv/vc1dsp_init.c index e47b644f80..eea389a1a1 100644 --- a/libavcodec/riscv/vc1dsp_init.c +++ b/libavcodec/riscv/vc1dsp_init.c @@ -35,7 +35,7 @@ av_cold void ff_vc1dsp_init_riscv(VC1DSPContext *dsp) #if HAVE_RVV int flags = av_get_cpu_flags(); - if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { dsp->vc1_inv_trans_4x8_dc = ff_vc1_inv_trans_4x8_dc_rvv; dsp->vc1_inv_trans_4x4_dc = ff_vc1_inv_trans_4x4_dc_rvv; if (flags & AV_CPU_FLAG_RVV_I64) { diff --git a/libavcodec/riscv/vp8dsp_init.c b/libavcodec/riscv/vp8dsp_init.c index dc3e087f01..39dc9a1b9d 100644 --- a/libavcodec/riscv/vp8dsp_init.c +++ b/libavcodec/riscv/vp8dsp_init.c @@ -56,7 +56,7 @@ av_cold void ff_vp78dsp_init_riscv(VP8DSPContext *c) c->put_vp8_bilinear_pixels_tab[2][0][0] = ff_put_vp8_pixels4_rvi; } #if HAVE_RVV - if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { c->put_vp8_bilinear_pixels_tab[0][0][1] = ff_put_vp8_bilin16_h_rvv; c->put_vp8_bilinear_pixels_tab[0][0][2] = ff_put_vp8_bilin16_h_rvv; c->put_vp8_bilinear_pixels_tab[1][0][1] = ff_put_vp8_bilin8_h_rvv; @@ -107,7 +107,7 @@ av_cold void ff_vp8dsp_init_riscv(VP8DSPContext *c) #if HAVE_RVV int flags = av_get_cpu_flags(); - if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { c->vp8_idct_dc_add = ff_vp8_idct_dc_add_rvv; c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_rvv; if (flags & AV_CPU_FLAG_RVB_ADDR) { diff --git a/libavcodec/riscv/vp9dsp_init.c b/libavcodec/riscv/vp9dsp_init.c index 6863c486c8..dd418bd5bf 100644 --- a/libavcodec/riscv/vp9dsp_init.c +++ b/libavcodec/riscv/vp9dsp_init.c @@ -29,7 +29,7 @@ static av_cold void vp9dsp_intrapred_init_rvv(VP9DSPContext *dsp, int bpp) #if HAVE_RVV int flags = av_get_cpu_flags(); - if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I64 && ff_get_rv_vlenb() >= 16) { + if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I64 && ff_rv_vlen_least(128)) { dsp->intra_pred[TX_8X8][DC_PRED] = ff_dc_8x8_rvv; dsp->intra_pred[TX_8X8][LEFT_DC_PRED] = ff_dc_left_8x8_rvv; dsp->intra_pred[TX_8X8][DC_127_PRED] = ff_dc_127_8x8_rvv; @@ -38,7 +38,7 @@ static av_cold void vp9dsp_intrapred_init_rvv(VP9DSPContext *dsp, int bpp) dsp->intra_pred[TX_8X8][TOP_DC_PRED] = ff_dc_top_8x8_rvv; } - if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) { + if (bpp == 8 && flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { dsp->intra_pred[TX_32X32][DC_PRED] = ff_dc_32x32_rvv; dsp->intra_pred[TX_16X16][DC_PRED] = ff_dc_16x16_rvv; dsp->intra_pred[TX_32X32][LEFT_DC_PRED] = ff_dc_left_32x32_rvv;