Difference between revisions of "XvMC"

From ArchWiki
Jump to: navigation, search
(small improvements)
m (Supported hardware: nvidia-304xx-utils)
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
{{Article summary text|Explains XvMC support in various hardware and software components.}}
 
{{Article summary text|Explains XvMC support in various hardware and software components.}}
 
{{Article summary heading|Related}}
 
{{Article summary heading|Related}}
 +
{{Article summary wiki|VA-API}}
 
{{Article summary wiki|MPlayer}}
 
{{Article summary wiki|MPlayer}}
 
{{Article summary end}}
 
{{Article summary end}}
  
{{Note|
 
*XvMC is obsoleted by [[VA-API]] nowadays, which have better support for recent GPUs.
 
*The current XvMC implementations are buggy and prone to cause issues under various circumstances.}}
 
 
'''X-Video Motion Compensation (XvMC)''' is an extension for the X.Org Server. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware. Particularly, features that have the tendency of heavily depending on the processor. Since XvMC acceleration takes the load off the CPU, thereby reducing processor requirements for video playback, it is an ideal solution for HDTV video playback scenarios.
 
'''X-Video Motion Compensation (XvMC)''' is an extension for the X.Org Server. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware. Particularly, features that have the tendency of heavily depending on the processor. Since XvMC acceleration takes the load off the CPU, thereby reducing processor requirements for video playback, it is an ideal solution for HDTV video playback scenarios.
 +
{{Note|XvMC is obsoleted by [[VA-API]] nowadays, which have better support for recent GPUs.}}
  
 
== Supported hardware ==
 
== Supported hardware ==
  
 
Only MPEG-1 and MPEG-2 videos are supported by all driver.
 
Only MPEG-1 and MPEG-2 videos are supported by all driver.
*[[NVIDIA]] GeForce 6 and GeForce 7 series cards are supported by the proprietary {{pkg|nvidia-utils}} package, available in the [[official repositories]].
+
*[[NVIDIA]] GeForce 6 and GeForce 7 series cards are supported by the proprietary {{pkg|nvidia-304xx-utils}} package, available in the [[official repositories]].
 
*NVIDIA GeForce 5 FX series cards are supported by the proprietary {{AUR|nvidia-173xx-utils}} package, available in the [[Arch User Repository]].
 
*NVIDIA GeForce 5 FX series cards are supported by the proprietary {{AUR|nvidia-173xx-utils}} package, available in the [[Arch User Repository]].
 
*NVIDIA GeForce4 series cards are supported by the proprietary {{AUR|nvidia-96xx-utils}} package, available in the [[Arch User Repository]].
 
*NVIDIA GeForce4 series cards are supported by the proprietary {{AUR|nvidia-96xx-utils}} package, available in the [[Arch User Repository]].
*[[Intel]] i810, GMA 950, GMA 3100, GMA 3000, GMA 4500 series and Ironlake GPUs are supported by the open source {{pkg|xf86-video-intel}} package, available in the [[official repositories]].
+
*[[Intel]] 810, GMA 950, GMA 3100, GMA 3000, GMA 4500 series and Ironlake GPUs are supported by the open source {{pkg|xf86-video-intel}} package, available in the [[official repositories]].
*[[ATI Catalyst|AMD]] Radeon HD 5000 series and newer GPUs are supported by the proprietary {{AUR|catalyst-utils}} package, available in the [[Arch User Repository]].
+
*[[ATI Catalyst|AMD]] Radeon HD 5000 series and newer GPUs are supported by the proprietary {{pkg|catalyst-utils}} package, available in the [[official repositories]].
*AMD Radeon HD 4000 series GPUs are supported by the proprietary {{AUR|catalyst-legacy-utils}} package, available in the [[Arch User Repository]].
+
*AMD Radeon HD 4000 series GPUs are supported by the proprietary {{AUR|catalyst-legacy-utils}} package, available in the [[Arch User Repository]].
 
*[[Via Unichrome|S3 Graphics]] UniChrome GPUs are supported by the open source {{pkg|xf86-video-openchrome}} or {{pkg|xf86-video-unichrome}} packages, available in the [[official repositories]].
 
*[[Via Unichrome|S3 Graphics]] UniChrome GPUs are supported by the open source {{pkg|xf86-video-openchrome}} or {{pkg|xf86-video-unichrome}} packages, available in the [[official repositories]].
  
Line 36: Line 35:
 
=== [[MPlayer]] ===
 
=== [[MPlayer]] ===
 
Install {{pkg|mplayer}} package, available in the [[official repositories]].
 
Install {{pkg|mplayer}} package, available in the [[official repositories]].
{{bc|mplayer -vo xvmc -fs ''foobar.mpeg''}}
+
{{bc|$ mplayer -vo xvmc -fs ''foobar.mpeg''}}
 
*'''-vo''' - Select xvmc video output driver
 
*'''-vo''' - Select xvmc video output driver
 
*'''-fs''' - Fullscreen playback (optional)
 
*'''-fs''' - Fullscreen playback (optional)
 +
 +
MPlayer based players:
 +
* {{pkg|gnome-mplayer}}: open preferences and set the video output to "xvmc", and select "Enable Video Hardware Support".
 +
* {{pkg|smplayer}}: open preferences and set the video driver to "xvmc", and deselect "Enable screenshots".
  
 
=== xine ===
 
=== xine ===
 
Install {{pkg|xine-ui}} package, available in the [[official repositories]].
 
Install {{pkg|xine-ui}} package, available in the [[official repositories]].
{{bc|xine -V xxmc -f -g --no-splash ''foobar.mpeg''}}
+
{{bc|$ xine -V xvmc -f -g --no-splash ''foobar.mpeg''}}
*'''-V''' - Select the xvmc video driver
+
or
 +
{{bc|$ xine -V xxmc -f -g --no-splash ''foobar.mpeg''}}
 +
*'''-V''' - Select the xvmc or xxmc video driver
 
*'''-f''' - Start in fullscreen mode (optional)
 
*'''-f''' - Start in fullscreen mode (optional)
 
*'''-g''' - Hide GUI (optional)
 
*'''-g''' - Hide GUI (optional)

Revision as of 11:58, 17 November 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

X-Video Motion Compensation (XvMC) is an extension for the X.Org Server. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware. Particularly, features that have the tendency of heavily depending on the processor. Since XvMC acceleration takes the load off the CPU, thereby reducing processor requirements for video playback, it is an ideal solution for HDTV video playback scenarios.

Note: XvMC is obsoleted by VA-API nowadays, which have better support for recent GPUs.

Supported hardware

Only MPEG-1 and MPEG-2 videos are supported by all driver.

Configuration

The open source drivers should work without any configuration. For the proprietary drivers create a new file /etc/X11/XvMCConfig and add:

  • For NVIDIA GPUs:
libXvMCNVIDIA_dynamic.so.1
  • For AMD GPUs:
libAMDXvBA.so.1

Supported software

Tip: Using full screen mode and disabling GUI elements may prevent flickering while playing the video.

MPlayer

Install mplayer package, available in the official repositories.

$ mplayer -vo xvmc -fs foobar.mpeg
  • -vo - Select xvmc video output driver
  • -fs - Fullscreen playback (optional)

MPlayer based players:

  • gnome-mplayer: open preferences and set the video output to "xvmc", and select "Enable Video Hardware Support".
  • smplayer: open preferences and set the video driver to "xvmc", and deselect "Enable screenshots".

xine

Install xine-ui package, available in the official repositories.

$ xine -V xvmc -f -g --no-splash foobar.mpeg

or

$ xine -V xxmc -f -g --no-splash foobar.mpeg
  • -V - Select the xvmc or xxmc video driver
  • -f - Start in fullscreen mode (optional)
  • -g - Hide GUI (optional)
  • --no-splash - Don't display the splash screen (optional)

References