[FFmpeg-devel] [PATCH 3/5] lavc/vvc_mc: R-V V put_uni_pixels
Rémi Denis-Courmont
remi at remlab.net
Sat Oct 19 14:00:13 EEST 2024
Le lauantaina 19. lokakuuta 2024, 13.55.46 EEST Rémi Denis-Courmont a écrit :
> Le perjantaina 11. lokakuuta 2024, 13.40.20 EEST uk7b at foxmail.com a écrit :
> > From: sunyuechi <sunyuechi at iscas.ac.cn>
> > +.macro put_uni_pixels w, vlen, id
> > +\id\w\vlen:
> > +.if \w == 128 && \vlen == 128
> > + li t0, \w
> > + vsetvli zero, t0, e8, m8, ta, ma
> > +.else
> > + vsetvlstatic8 \w, \vlen
> > +.endif
> > +1:
> > + vle8.v v0, (a2)
> > + addi a4, a4, -1
> > + vse8.v v0, (a0)
> > + add a2, a2, a3
> > + add a0, a0, a1
> > + bnez a4, 1b
> > + ret
>
> Up to 64-bit rows, you can use strided loads and stores here.
Or perhaps not if the vectors are not aligned but vectors should not be
necessary here. This is especially true on the BPi whose memory bus is rather
slow, so even scalar copy can saturate it.
--
Rémi Denis-Courmont
http://www.remlab.net/
More information about the ffmpeg-devel
mailing list