mirror of https://git.ffmpeg.org/ffmpeg.git
swscale/rgb2rgb: R-V V deinterleaveBytes
This commit is contained in:
parent
ede3215115
commit
19baf4e009
|
@ -100,6 +100,32 @@ func ff_interleave_bytes_rvv, zve32x
|
||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func ff_deinterleave_bytes_rvv, zve32x
|
||||||
|
1:
|
||||||
|
mv t0, a0
|
||||||
|
mv t1, a1
|
||||||
|
mv t2, a2
|
||||||
|
mv t3, a3
|
||||||
|
addi a4, a4, -1
|
||||||
|
2:
|
||||||
|
vsetvli t4, t3, e8, m4, ta, ma
|
||||||
|
sub t3, t3, t4
|
||||||
|
vlseg2e8.v v8, (t0)
|
||||||
|
sh1add t0, t4, t0
|
||||||
|
vse8.v v8, (t1)
|
||||||
|
add t1, t4, t1
|
||||||
|
vse8.v v12, (t2)
|
||||||
|
add t2, t4, t2
|
||||||
|
bnez t3, 2b
|
||||||
|
|
||||||
|
add a0, a0, a5
|
||||||
|
add a1, a1, a6
|
||||||
|
add a2, a2, a7
|
||||||
|
bnez a4, 1b
|
||||||
|
|
||||||
|
ret
|
||||||
|
endfunc
|
||||||
|
|
||||||
.macro yuy2_to_i422p y_shift
|
.macro yuy2_to_i422p y_shift
|
||||||
addi a4, a4, 1
|
addi a4, a4, 1
|
||||||
lw t6, (sp)
|
lw t6, (sp)
|
||||||
|
|
Loading…
Reference in New Issue