[FFmpeg-devel] [PATCH] lavc/vc1dsp: match C block layout in inv_trans_4x8_rvv
Rémi Denis-Courmont
remi at remlab.net
Tue Jun 11 17:53:04 EEST 2024
Le tiistaina 11. kesäkuuta 2024, 15.23.11 EEST James Almer a écrit :
> On 6/11/2024 9:19 AM, Rémi Denis-Courmont wrote:
> > Le 11 juin 2024 15:09:42 GMT+03:00, "Ronald S. Bultje"
<rsbultje at gmail.com> a écrit :
> >> Hi,
> >>
> >> On Mon, Jun 10, 2024 at 3:20 PM Rémi Denis-Courmont <remi at remlab.net>
wrote:
> >>> Although checkasm does not verify this, the decoder requires that the
> >>> transform updates the input block exactly like the C code does.
> >>
> >> Would it be possible to update the checkasm test to verify this?
> >
> > In theory, it has to be possible. I can't do it for lack of knowledge
> > about VC-1 though. James tried to make such a patch but it ended up
> > failing both AArch64 and RVV 8x4 transforms. I don't know if this points
> > to a latent bug or is a false positive.
> My patch added a memcmp of the block buffer. If it fails, then the asm
> implementation is probably writing more than it should.
The patch has two bugs that end up cancelling one another.
> Can you see what bytes don't match? It might give you an idea of what
> store instruction is touching the wrong bytes.
The RVV transform is failing because it stores different values in the right
places. I will attach patches here, but it is entirely unclear to me if this
is necessary at all; at least, it does not seem to fix anything in FATE, and it
causes the pre-existing AArch64 functions to fail checkasm.
--
レミ・デニ-クールモン
http://www.remlab.net/
More information about the ffmpeg-devel
mailing list