X-Video Bitstream Acceleration (XvBA), designed by AMD Graphics for its Radeon GPU and APU, is an arbitrary extension of the X video extension (Xv) for the X Window System on Linux operating-systems.[1] XvBA API allows video programs to offload portions of the video decoding process to the GPU video-hardware. Currently, the portions designed to be offloaded by XvBA onto the GPU are currently motion compensation (MC) and inverse discrete cosine transform (IDCT), and variable-length decoding (VLD) for MPEG-2, MPEG-4 ASP (MPEG-4 Part 2, including Xvid, and older DivX and Nero Digital), MPEG-4 AVC (H.264), WMV3, and VC-1 encoded video.[2]
XvBA is a direct competitor to NVIDIA's Video Decode and Presentation API for Unix (VDPAU) and Intel's Video Acceleration API (VA API).[3]
In November 2009 an XvBA backend for Video Acceleration API (VA API) was released,[4] which means any software that supports VA API will also support XvBA.[3]
On 24 February 2011, an official XvBA SDK (Software Development Kit) was publicly released alongside a suite of open source tools by AMD.[5]
Device drivers
editEach hardware video GPU capable of XvBA video acceleration requires a X11 software device driver to enable these features. Currently only AMD's ATI Radeon graphics cards hardware that have support for Unified Video Decoder version 2.0 or later (primarily the Radeon HD 4000 series or later) are supported by the proprietary ATI Catalyst device driver.[6][7][8]
Software supporting XvBA natively
editSee also
edit- Video Acceleration API (VA API) - is an open source software library with XvBA backend support
- UVD (Unified Video Decoder) - is the video decoding unit from ATI Technologies to support hardware (GPU) decode
- Nvidia PureVideo - the bit-stream technology from NVIDIA used in their graphics chips to accelerate video decoding on hardware GPU.
- VDPAU (Video Decode and Presentation API for Unix) - competing API by NVIDIA
- DirectX Video Acceleration (DxVA) API - Microsoft Windows's accelerated video decoding API
- OpenMAX IL (Open Media Acceleration Integration Layer) - a royalty-free cross-platform media abstraction API from the Khronos Group
- X-Video Motion Compensation (XvMC)
- Distributed Codec Engine (
libcde
) is a Texas Instruments API for the video codec esystem'sn OMAP based embedded systems
References
edit- ^ a b Michael Larabel (28 October 2008). "AMD's X-Video Bitstream Acceleration". Phoronix.
- ^ Kamil Dębski (2012). "Video4Linux2: Path to a Standardized Video Codec API" (PDF).
- ^ a b Michael Larabel (3 February 2009). "A NVIDIA VDPAU Back-End For Intel's VA-API". Phoronix.
- ^ Michael Larabel (3 November 2009). "AMD's UVD2-based XvBA Finally Does Something On Linux". Phoronix.
- ^ Michael Larabel (25 February 2011). "AMD Opens Up XvBA! Their Catalyst Linux Video API". Phoronix.
- ^ Michael Larabel (16 October 2008). "Yes, Catalyst 8.10 Is Out There". Phoronix.
- ^ Michael Larabel (15 October 2008). "UVD Is Enabled For Linux In Catalyst 8.10". Phoronix.
- ^ Michael Larabel (4 September 2008). "AMD's UVD2 & XvMC For Linux?". Phoronix.
- ^ Michael Larabel (14 December 2011). "XBMC Project Implements AMD XvBA Interface". Phoronix.
- ^ "Progress on the Fusion project - XVBA support". OpenELEC. 12 December 2011. Archived from the original on 16 March 2012.