X-Video Bitstream Acceleration
X-Video Bitstream Acceleration (XvBA), designed by AMD Graphics for its Radeon GPU and Fusion APU, is an arbitrary extension of the X video extension (Xv) for the X Window System on Linux operating-systems. 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.
XvBA is a Linux equivalent of Microsoft's DirectX Video Acceleration (DxVA) API for Windows and a direct competitor to NVIDIA's Video Decode and Presentation API for Unix (VDPAU) and Intel's Video Acceleration API (VAAPI).
Each 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.
Software supporting XvBA natively
- XBMC Media Center
- OpenELEC (Open Embedded Linux Entertainment Center)
- Fluendo GStreamer codecs
- MPlayer can be compiled to support XvBA
- Video Acceleration API (VA API) - is an open source software library with XvBA backend support
- OpenVideo Decode (OVD) – an new open cross-platform video acceleration API from AMD.
- 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 equivalent to XvBA
- 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 engine in OMAP based embedded systems
- Video Decode Acceleration Framework is Apple Inc.s API for hardware-accelerated decoding of H.264 on Mac OS X
- VideoToolBox is an undocumented API from Apple Inc. for hardware-accelerated decoding on Apple TV and Mac OS X 10.5 or later.
- AMD's X-Video Bitstream Acceleration
- https://events.linuxfoundation.org/images/stories/pdf/lceu2012_debski.pdf Video4Linux2 - Path to a Standardized Video Codec API
- A NVIDIA VDPAU Back-End For Intel's VA-API
- AMD's UVD2-based XvBA Finally Does Something On Linux
- http://developer.amd.com/zones/opensource/Pages/default.aspx XvBA SDK and Tools
- Catalyst 8.10 Is Out There
- UVD Is Enabled For Linux In Catalyst 8.10
- AMD's UVD2 & XvMC For Linux
- http://www.phoronix.com/scan.php?page=news_item&px=MTAyODU XBMC Project Implements AMD XvBA Interface
- http://developer.amd.com/gpu/AMDAPPSDK/assets/OpenVideo_Decode_API.PDF OpenVideo Decode (OVD) API
- http://www.tuaw.com/2011/01/20/xbmc-for-ios-and-atv2-now-available/ XBMC for iOS and Apple TV now available
- AMD's open source page, containing a link to their XvBA SDK and Tools
- XvBA Tools open source library, tools, and example code for accessing XvBA
- Splitted-Desktop Systems Open Source Code for XvBA (for GStreamer-VAAPI, MPlayer, VDPAU-Video, and XvBA-Video driver for VAAPI)