[FFmpeg-devel] [PATCH] lavc/flacdsp: fix sign extension in R-V V wasted33

Rémi Denis-Courmont remi at remlab.net
Thu Jun 6 22:22:54 EEST 2024


We need to use either VWCVT.X.X.V or VSEXT.VF2. The later is preferable
to avoid changing VTYPE.
---
 libavcodec/riscv/flacdsp_rvv.S | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavcodec/riscv/flacdsp_rvv.S b/libavcodec/riscv/flacdsp_rvv.S
index ea42f8bea4..1724aee9d7 100644
--- a/libavcodec/riscv/flacdsp_rvv.S
+++ b/libavcodec/riscv/flacdsp_rvv.S
@@ -163,12 +163,11 @@ func ff_flac_wasted33_rvv, zve64x
         ret
 
 2:      // Pessimistic case: wasted >= 32
-        vsetvli      t0, a3, e32, m4, ta, ma
+        vsetvli      t0, a3, e64, m8, ta, ma
         vle32.v      v8, (a1)
         sub          a3, a3, t0
-        vwcvtu.x.x.v v16, v8
+        vsext.vf2    v16, v8
         sh2add       a1, t0, a1
-        vsetvli      zero, zero, e64, m8, ta, ma
         vsll.vx      v16, v16, a2
         vse64.v      v16, (a0)
         sh3add       a0, t0, a0
-- 
2.45.1



More information about the ffmpeg-devel mailing list