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

Rémi Denis-Courmont git at videolan.org
Fri Jun 7 17:54:39 EEST 2024


ffmpeg | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Jun  6 22:21:30 2024 +0300| [c3dbbb316ee44b1685b6437756a23a545fb31fb1] | committer: Rémi Denis-Courmont

lavc/flacdsp: fix sign extension in R-V V wasted33

We need to use either VWCVT.X.X.V or VSEXT.VF2. The later is preferable
to avoid changing VTYPE.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c3dbbb316ee44b1685b6437756a23a545fb31fb1
---

 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



More information about the ffmpeg-cvslog mailing list