VDPAU is the Video Decode and Presentation API for UNIX. It provides an interface to video decode acceleration and presentation hardware present in modern GPUs.


  • Hardware decoding of MPEG-1, MPEG-2, MPEG-4 part 2, H.264, VC-1, and DivX 4 and 5 bitstreams on supported hardware, with a bitstream (VLD) level API.
  • Video post-processing including advanced deinterlacing algorithms, inverse telecine, noise reduction, configurable color space conversion, and procamp adjustments.
  • Sub-picture, on-screen display, and UI element compositing.
  • Direct rendering timestamp-based presentation of final video frames, with detailed frame delivery reports.


Documentation for the API is stored in Doxygen comments in the VDPAU header files. You can also read the generated HTML version.


The library used by applications that wish to use VDPAU is libvdpau. This is a wrapper library that loads the appropriate implementation backend. There is also a tracing library that can be used to debug VDPAU applications.

vdpauinfo, a tool to query the capabilities of a VDPAU implementation, is also available.