20:15 chikuwad[d]: question unrelated to nouveau but still related to nvidia:
20:16 chikuwad[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1417604967229030490/image.png?ex=68cb1702&is=68c9c582&hm=81b877bbf35729e5dd0fb6b7eecab6b720f810676d22c757f073dda728377b1c&
20:16 chikuwad[d]: if a VP8 video is being decoded, and it's outputting garbage frames like these:
20:16 chikuwad[d]: what could be going wrong 🤔
20:16 chikuwad[d]: vaapi btw
20:25 karolherbst[d]: mhh CPU decoding works I presume?
20:27 chikuwad[d]: yup
20:27 chikuwad[d]: trying to fix a bug here: https://github.com/elFarto/nvidia-vaapi-driver/blob/master/src/vp8.c
20:28 chikuwad[d]: didn't really have many other places I could ask
20:30 karolherbst[d]: airlied[d]: might know?
20:30 karolherbst[d]: but could be many things
20:38 airlied[d]: Green is zeros, but nearly all broken decompression looks like that sort of garbage so it's hard to use the output to tell
20:38 chikuwad[d]: I do have a logspam that corresponds to the vaapi driver not handling VAIQMatrixBuffer and VAProbabilityBuffer
20:39 chikuwad[d]: but I don't think that really makes much of a difference when using nvdec as the backend
20:47 chikuwad[d]: okay playing the same video in the same app with nvdec directly works fine, so it _is_ the va-api/nvdec layer that breaks something
20:47 chikuwad[d]: that's a start, I'll probably investigate more tomorrow
21:42 avhe[d]: chikuwad[d]: is it just with this sample or is vp8 just completely broken?
21:42 avhe[d]: vaapi doesn't pass the slice header, but nvdec ingests it
21:43 avhe[d]: if i'm reading ffmpeg correctly
21:49 esdrastarsis[d]: avhe[d]: vp8 is completely broken
21:57 avhe[d]: well that might be why
21:59 avhe[d]: the hw block doesn't actually need it and it is not event sent (<https://github.com/averne/FFmpeg/blob/envideo/libavcodec/envideo_vp8.c#L344>) chikuwad[d] a possible fix would just be to add 10:3 null bytes for i-/other frames, and hope the cuvid library doesn't actually do some parsing of those
21:59 avhe[d]: otherwise you'd need to somehow reconstruct the slice header. there was a certain switch emulator that did this, you can probably find the code