mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-11 17:30:00 +01:00
lavc/vp8dsp: factor R-V V bilin functions
For a given type, only the first VSETVLI instruction varies depending on the size.
This commit is contained in:
@@ -108,9 +108,10 @@ endfunc
|
|||||||
vnsra.wi \dst, v24, 3
|
vnsra.wi \dst, v24, 3
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro put_vp8_bilin_h_v len type mn
|
.macro put_vp8_bilin_h_v type mn
|
||||||
func ff_put_vp8_bilin\len\()_\type\()_rvv, zve32x
|
func ff_put_vp8_bilin4_\type\()_rvv, zve32x
|
||||||
vsetvlstatic8 \len
|
vsetvlstatic8 4
|
||||||
|
.Lbilin_\type:
|
||||||
li t1, 8
|
li t1, 8
|
||||||
li t4, 4
|
li t4, 4
|
||||||
sub t1, t1, \mn
|
sub t1, t1, \mn
|
||||||
@@ -126,9 +127,12 @@ func ff_put_vp8_bilin\len\()_\type\()_rvv, zve32x
|
|||||||
endfunc
|
endfunc
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro put_vp8_bilin_hv len
|
put_vp8_bilin_h_v h a5
|
||||||
func ff_put_vp8_bilin\len\()_hv_rvv, zve32x
|
put_vp8_bilin_h_v v a6
|
||||||
vsetvlstatic8 \len
|
|
||||||
|
func ff_put_vp8_bilin4_hv_rvv, zve32x
|
||||||
|
vsetvlstatic8 4
|
||||||
|
.Lbilin_hv:
|
||||||
li t3, 8
|
li t3, 8
|
||||||
sub t1, t3, a5
|
sub t1, t3, a5
|
||||||
sub t2, t3, a6
|
sub t2, t3, a6
|
||||||
@@ -149,7 +153,23 @@ func ff_put_vp8_bilin\len\()_hv_rvv, zve32x
|
|||||||
|
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
.endm
|
|
||||||
|
.irp len,16,8
|
||||||
|
func ff_put_vp8_bilin\len\()_h_rvv, zve32x
|
||||||
|
vsetvlstatic8 \len
|
||||||
|
j .Lbilin_h
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func ff_put_vp8_bilin\len\()_v_rvv, zve32x
|
||||||
|
vsetvlstatic8 \len
|
||||||
|
j .Lbilin_v
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func ff_put_vp8_bilin\len\()_hv_rvv, zve32x
|
||||||
|
vsetvlstatic8 \len
|
||||||
|
j .Lbilin_hv
|
||||||
|
endfunc
|
||||||
|
.endr
|
||||||
|
|
||||||
const subpel_filters
|
const subpel_filters
|
||||||
.byte 0, -6, 123, 12, -1, 0
|
.byte 0, -6, 123, 12, -1, 0
|
||||||
@@ -314,9 +334,6 @@ endfunc
|
|||||||
.endm
|
.endm
|
||||||
|
|
||||||
.irp len,16,8,4
|
.irp len,16,8,4
|
||||||
put_vp8_bilin_h_v \len h a5
|
|
||||||
put_vp8_bilin_h_v \len v a6
|
|
||||||
put_vp8_bilin_hv \len
|
|
||||||
epel \len 6 h
|
epel \len 6 h
|
||||||
epel \len 4 h
|
epel \len 4 h
|
||||||
epel \len 6 v
|
epel \len 6 v
|
||||||
|
|||||||
Reference in New Issue
Block a user