@@ -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