[FFmpeg-devel] [PATCH 2/5] lavc/vp8dsp: expand single use R-V macros

Rémi Denis-Courmont remi at remlab.net
Sat May 25 18:38:37 EEST 2024


---
 libavcodec/riscv/vp8dsp_rvv.S | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/libavcodec/riscv/vp8dsp_rvv.S b/libavcodec/riscv/vp8dsp_rvv.S
index cb9b0b8b5f..bb0c7bf02a 100644
--- a/libavcodec/riscv/vp8dsp_rvv.S
+++ b/libavcodec/riscv/vp8dsp_rvv.S
@@ -161,7 +161,8 @@ const subpel_filters
         .byte 0,  -1,  12, 123,  -6, 0
 endconst
 
-.macro epel_filter size type
+.macro epel len size type
+func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x
 .ifc \type,v
         addi            t0, a6, -1
 .else
@@ -177,9 +178,9 @@ endconst
         lb              t5, 5(t0)
         lb              t0, (t0)
 .endif
-.endm
-
-.macro epel_load dst len size type
+        vsetvlstatic8   \len
+1:
+        addi            a4, a4, -1
 .ifc \type,v
         mv              a5, a3
 .else
@@ -212,21 +213,8 @@ endconst
         vnsra.wi        v24, v24, 7
         vmax.vx         v24, v24, zero
         vsetvlstatic8   \len
-        vnclipu.wi      \dst, v24, 0
-.endm
-
-.macro epel_load_inc dst len size type
-        epel_load       \dst \len \size \type
+        vnclipu.wi      v30, v24, 0
         add             a2, a2, a3
-.endm
-
-.macro epel len size type
-func ff_put_vp8_epel\len\()_\type\()\size\()_rvv, zve32x
-        epel_filter     \size \type
-        vsetvlstatic8   \len
-1:
-        addi            a4, a4, -1
-        epel_load_inc   v30 \len \size \type
         vse8.v          v30, (a0)
         add             a0, a0, a1
         bnez            a4, 1b
-- 
2.45.1



More information about the ffmpeg-devel mailing list