It seems this whole situation is starting to get a little bit more complex.
VDPAU hasn’t been updated for a while, and is now missing HEVC 10-bit and VP8/VP9 support. It seems this is never going to be updated given that NVIDIA now have nvdec.
The libva-vdpau-driver project gave us a VA-API implementation on-top of VDPAU. However, the GLX part of libva has seemingly been deprecated, with the new EGL/dma-buf method for passing buffers being the preferred method. EGL can’t be supported with the NVIDIA driver yet.
nvdec works great, but since it’s a proprietary API, not everything supports it.
Now, with Chrome and Firefox looking to (finally) use VA-API for hardware video decoding, it would be nice to have it take advantage of the GPU (esp. for laptop users). I’ve tried (somewhat successfully) to implement a VA-API backend for nvdec, however I fall over at the getting the decoded image to the screen.
Without support for EGL_EXT_image_dma_buf_import, and some way to export the handle from within nvdec/cuda, it doesn’t seem like there is any way to implement this.
Will there be a new version of VDPAU?
Is there a plan to implement EGL_EXT_image_dma_buf_import?, or is it tied up with the whole EGLStreams/allocator situation?
Will nvdec/cuda gain the ability to export one of these handles? Or would that need to be bounced through OpenGL? (I believe you can already share a buffer between the 2 APIs).
Thanks & Regards