[FFmpeg-cvslog] lavc/riscv: don't set vxrm if unnecessary
Rémi Denis-Courmont
git at videolan.org
Sun Jul 28 17:41:02 EEST 2024
ffmpeg | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Jul 25 17:33:12 2024 +0300| [bbfc0ac9cacbfbddd94ffc92ef904b7854cb88ad] | committer: Rémi Denis-Courmont
lavc/riscv: don't set vxrm if unnecessary
While narrowing clip is nominally a rounding operation, the rounding mode
has no arithmetic consequence if the right shift is by zero bits.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bbfc0ac9cacbfbddd94ffc92ef904b7854cb88ad
---
libavcodec/riscv/h263dsp_rvv.S | 5 ++---
libavcodec/riscv/vp8dsp_rvv.S | 1 -
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/libavcodec/riscv/h263dsp_rvv.S b/libavcodec/riscv/h263dsp_rvv.S
index c78483926a..e9cb4ec07b 100644
--- a/libavcodec/riscv/h263dsp_rvv.S
+++ b/libavcodec/riscv/h263dsp_rvv.S
@@ -31,14 +31,13 @@ func ff_h263_h_loop_filter_rvv, zve32x
vssseg4e8.v v8, (a0), a1
ret
1:
- csrwi vxrm, 0
-2: auipc t1, %pcrel_hi(ff_h263_loop_filter_strength)
+ auipc t1, %pcrel_hi(ff_h263_loop_filter_strength)
vwsubu.vv v14, v10, v9 # p2 - p1
add t1, t1, a2
vwsubu.vv v12, v8, v11 # p0 - p3
vsetvli zero, zero, e16, m1, ta, mu
vsll.vi v14, v14, 2
- lbu t1, %pcrel_lo(2b)(t1) # strength
+ lbu t1, %pcrel_lo(1b)(t1) # strength
vadd.vv v16, v12, v14
# Divide by 8 toward 0. v16 is a signed 10-bit value at this point.
vsrl.vi v18, v16, 16 - 3 # v18 = (v16 < 0) ? 7 : 0
diff --git a/libavcodec/riscv/vp8dsp_rvv.S b/libavcodec/riscv/vp8dsp_rvv.S
index 839d228b0f..6ff443fbe6 100644
--- a/libavcodec/riscv/vp8dsp_rvv.S
+++ b/libavcodec/riscv/vp8dsp_rvv.S
@@ -169,7 +169,6 @@ endfunc
# a3 = DC
func ff_vp78_idct_dc_add_rvv, zve32x
- csrwi vxrm, 0
vsetivli zero, 4, e8, mf4, ta, ma
sh zero, (a1)
vlse32.v v8, (a0), a2
More information about the ffmpeg-cvslog
mailing list