Check out my first novel, midnight's simulacra!

Video Acceleration: Difference between revisions

From dankwiki
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 14: Line 14:
       depth 24, visualID 0x25
       depth 24, visualID 0x25
       depth 24, visualID 0x26...</pre>
       depth 24, visualID 0x26...</pre>
==XvMC==
===XvMC===
MPEG-2 and MPEG-4 offloading (NVIDIA's closed driver only supports MPEG-2, prefering VDPAU) via motion compensation and iDCT offload. Extends the Xv extension, using XvPorts. The [http://www.xfree86.org/~mvojkovi/XvMC_API.txt 1.0 API specification] was introduced in 2000.
MPEG-2 and MPEG-4 offloading (NVIDIA's closed driver only supports MPEG-2, prefering VDPAU) via motion compensation and iDCT offload. Extends the Xv extension, using XvPorts. The [http://www.xfree86.org/~mvojkovi/XvMC_API.txt 1.0 API specification] was introduced in 2000.
==VAAPI==
===VAAPI===
The Video Acceleration API, a vendor-independent replacement for XvMC.
The Video Acceleration API, a vendor-independent replacement for XvMC. It has backends for both VDPAU and XvBA.
==VDPAU==
==VDPAU==
NVIDIA's proprietary [[Xorg hell|X.org]] video acceleration API, comparable to Microsoft's [http://en.wikipedia.org/wiki/DirectX_Video_Acceleration DXVA]. It is independent from [[CUDA]].
NVIDIA's proprietary [[Xorg hell|X.org]] video acceleration API, comparable to Microsoft's [http://en.wikipedia.org/wiki/DirectX_Video_Acceleration DXVA]. It is independent from [[CUDA]]. Builds atop NVIDIA's [http://en.wikipedia.org/wiki/Nvidia_PureVideo PureVideo]. On [[Debian]], I have to manually link libvdpau. From <tt>/usr/lib</tt>:
<pre>sudo ln -s vdpau/libvdpau_nvidia.so.260.19.29 libvdpau_nvidia.so
sudo ln -s vdpau/libvdpau_trace.so.260.19.29 libvdpau_trace.so</pre>
 
==XvBA==
ATI's answer to VDPAU, built atop ATI's [http://en.wikipedia.org/wiki/UVD2 Unified Video Decoder].
==See Also==
==See Also==
* [[Xorg hell]] page
* [[Xorg hell]] page
* "[http://wiki.archlinux.org/index.php/Enable_XvMC_for_NVIDIA_video_cards Enable XvMC for NVIDIA]" at the ArchLinux wiki

Latest revision as of 01:23, 26 December 2010

Linux offers access to video accelerators through programs like mplayer, VAAPI and vlc.

X-Video

Offloads 2D scaling and YUV colorspace conversions. Use xvinfo to determine Xv support:

X-Video Extension version 2.2
screen #0
  Adaptor #0: "NV17 Video Texture"
    number of ports: 32
    port base: 313
    operations supported: PutImage 
    supported visuals:
      depth 24, visualID 0x21
      depth 24, visualID 0x24
      depth 24, visualID 0x25
      depth 24, visualID 0x26...

XvMC

MPEG-2 and MPEG-4 offloading (NVIDIA's closed driver only supports MPEG-2, prefering VDPAU) via motion compensation and iDCT offload. Extends the Xv extension, using XvPorts. The 1.0 API specification was introduced in 2000.

VAAPI

The Video Acceleration API, a vendor-independent replacement for XvMC. It has backends for both VDPAU and XvBA.

VDPAU

NVIDIA's proprietary X.org video acceleration API, comparable to Microsoft's DXVA. It is independent from CUDA. Builds atop NVIDIA's PureVideo. On Debian, I have to manually link libvdpau. From /usr/lib:

sudo ln -s vdpau/libvdpau_nvidia.so.260.19.29 libvdpau_nvidia.so
sudo ln -s vdpau/libvdpau_trace.so.260.19.29 libvdpau_trace.so

XvBA

ATI's answer to VDPAU, built atop ATI's Unified Video Decoder.

See Also