[FFmpeg-devel] [PATCH v2 3/5] lavc/vp9dsp: R-V V mc tap h v

Rémi Denis-Courmont remi at remlab.net
Sat May 25 20:36:03 EEST 2024


Le lauantaina 25. toukokuuta 2024, 13.38.39 EEST flow gg a écrit :
> > Is there a reason that you cannot use the tables from C code?
> 
> Similar to VP8, to adjust the positive and negative data and prevent small
> probability overflow during calculations.
> 
> > AFAICT, regular and sharp are identical, except for the base address of
> > the filter table, so it should be possible to share the byte code
> 
> Initially, they used the same code, but after testing hundreds of times,
> there were always a few failures...

AFAICT, the C reference and the AArch64 assembler are exactly the same for all 
3 filters, except for the offset in the filter table.  So logically, it ought toe 
be possible to merge regular and sharp with almost no changes, and merge 
smooth with a few fixes.

As for the tables themselves, it seems the "problem" is that C uses 16-bit 
values for no apparent reasons. We should probably change the C code to use 8-
bit on all platforms - except AArch64, because the NEON code probably relies 
on 16-bit format.

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





More information about the ffmpeg-devel mailing list