[FFmpeg-devel] [PATCH v5] lavc/vvc_mc: R-V V avg w_avg

Rémi Denis-Courmont remi at remlab.net
Mon Jul 1 17:28:10 EEST 2024


Le maanantaina 1. heinäkuuta 2024, 16.40.29 EEST flow gg a écrit :
> > I am not sure what is_w means or serves here. If you need special cases,
> > this feels a bit out of place for this macro.
> 
> It is a special case added to merge the vset of avg and w_avg, how about
> giving it a default value so that it doesn't affect the use of other
> functions?

The original idea of having macros around vset(i)vli was to abstract away 
calculating LMUL from VL, SEW and VLEN, and by extension, calculate VTYPE from 
VL, SEW, TA, MA and VLEN. I just don't really see room for an extra parameter 
here and it is unclear what it does.

If there is a sound design reason why it's there, it should be commented 
better IMO. Otherwise it should not be there.

> > t0 is a link register, so the branch predictor will treat this a return,
> > but it seems to be a tail call instead.
> 
> Will this cause any issues? It will execute at a label, and after
> executing, there is a ret at the label.

Yes. Tail calls should incur no Return Address Stack action. But this incurs a 
pop, as per the "Unconditional Jumps" terminology in the RV32I spec.

-- 
Rémi Denis-Courmont
http://www.remlab.net/





More information about the ffmpeg-devel mailing list