X-Video Bitstream Acceleration (XvBA), designed by
AMD Graphics for its
Radeon GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
and
APU
APU or Apu may refer to:
Film and television
* ''The Apu Trilogy'', a series of three Bengali films, directed by Satyajit Ray, with the fictional character Apu Roy, comprising:
** ''Pather Panchali'' (''Song of the Little Road'') (1955), the first ...
, is an arbitrary extension of the
X video extension (Xv) for the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
operating-systems.
XvBA
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
allows video programs to offload portions of the
video decoding
A video decoder is an electronic circuit, often contained within a single integrated circuit chip, that converts base-band analog video signals to digital video. Video decoders commonly allow programmable control over video characteristics such ...
process to the
GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
video-hardware. Currently, the portions designed to be offloaded by XvBA onto the GPU are currently
motion compensation
Motion compensation in computing, is an algorithmic technique used to predict a frame in a video, given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video d ...
(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
Windows Media Video (WMV) is a series of video codecs and their corresponding video coding formats developed by Microsoft. It is part of the Windows Media framework. WMV consists of three distinct codecs: The original video compression technology ...
, and
VC-1
SMPTE 421, informally known as VC-1, is a video coding format. Most of it was initially developed as Microsoft's proprietary video format Windows Media Video 9 in 2003. With some enhancements including the development of a new Advanced Profile, ...
encoded video.
XvBA is a direct competitor to
NVIDIA
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
's
Video Decode and Presentation API for Unix (VDPAU) and
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
's
Video Acceleration API (VA API).
In November 2009 an XvBA backend for
Video Acceleration API (VA API) was released,
which means any software that supports VA API will also support XvBA.
On 24 February 2011, an official XvBA
SDK (Software Development Kit) was publicly released alongside a suite of open source tools by AMD.
Device drivers
Each hardware video
GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
capable of XvBA video acceleration requires a
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
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
AMD Radeon Software is a device driver and utility software package for AMD's List of AMD graphics processing units, graphics cards and List of AMD accelerated processing units, APUs. Its graphical user interface is built with Electron (softwar ...
device driver.
Software supporting XvBA natively
*
XBMC Media Center
Kodi (formerly XBMC) is a free and open-source media player software application developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 1 ...
*
OpenELEC
*
MPlayer
MPlayer is a free and open-source media player software application. It is available for Linux, OS X and Microsoft Windows. Versions for OS/2, Syllable, AmigaOS, MorphOS and AROS Research Operating System are also available. A port for DOS using ...
can be compiled to support XvBA
See also
*
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
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
) decode
*
Nvidia PureVideo
PureVideo is Nvidia's hardware SIP core that performs video decoding. PureVideo is integrated into some of the Nvidia GPUs, and it supports hardware decoding of multiple video codec standards: MPEG-2, VC-1, H.264, HEVC, and AV1. PureVideo occ ...
- the
bit-stream technology from
NVIDIA
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
used in their graphics chips to accelerate video decoding on hardware
GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
.
*
VDPAU (Video Decode and Presentation API for Unix) - competing API by
NVIDIA
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
*
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
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computation ...
*
X-Video Motion Compensation (XvMC)
*
Distributed Codec Engine () is a
Texas Instruments
Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globa ...
API for the video codec esystem'sn
OMAP based embedded systems
References
External links
AMD's open source page, containing a link to their XvBA SDK and ToolsXvBA Tools open source library, tools, and example code for accessing XvBA
{{XWinSys
Application programming interfaces
Video acceleration APIs available on Linux
Video acceleration
X Window extensions
Application layer protocols