NVidia have announce a new API for hardware accelerated decode of video on Linux and Unix called VDPAU. This is awesome news for the Linux MythTV and Video community as the partial subset of NVidia’s PureVideo functionality provides a dramatic drop in CPU usage when handling complex video codecs like H.264 and VC1.
Linux and Unix news site Phoronix was amongst the first to break the announcement, and has already benchmarked the new api showing some quite startling results when compared with existing software based decoders.
The current API documentation is here:
Some highlights of VDPAU:
- Defines an API for GPU-accelerated decode of MPEG-1, MPEG-2, H.264, and VC-1 bitstreams.
- Defines an API for post-processing of decoded video, including temporal and spatial deinterlacing, inverse telecine, and noise reduction.
- Defines an API for timestamp-based presentation of final video frames.
- Defines an API for compositing sub-picture, on-screen display, and other UI elements.
Sadly this new API doesn’t support some of the older 6xxx and 7xxx series graphics cards, and VC1 support will require a 9xxx or newer card. The code is still relatively new so don’t expect it to be part of your favourite distribution for a while.
This announcement now means that all of the three major graphics chipset companies, Intel, AMD and NVidia, have all announced methods to hardware accelerate complex video codecs like H.264. We can only hope that freedesktop.org manages to come up with unified API, such as VAAPI, that works across all chipsets.