XvMC

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Installation)
(Links)
 
(47 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== In Arbeit ==
 
 
<br>
 
; Diese Seite befindet sich momentan im Aufbau
 
; Danke
 
<br>
 
 
 
== Was ist XvMC ==
 
== Was ist XvMC ==
( "XVideo Motion Compensation Extension" )
+
("XVideo Motion Compensation Extension")
  
XVideo Motion Compensation ( XvMC ) ist eine Erweiterung ( Extension ) für den X-Server X.org Ver. ?? und XFree86 Ver. ??. Sie ermöglicht es grafischen Anwendungen einen Teil der MPEG2 Dekodierung auf die Hardware ( der Grafikkarte oder des Chipsets ) auszulagern und so die CPU-Last des Systems zu senken. Die entsprechende Teile der
+
'''XVideo Motion Compensation''' ('''XvMC''') ist eine Erweiterung (Extension) für den X-Server X.org und XFree86. Sie ermöglicht es grafischen Anwendungen, bestimmte Teile (und zwar [[Motion Compensation]] und [[IDCT]]) der MPEG2-Dekodierung auf die GPU-Hardware (der Grafikkarte oder des Chipsets) auszulagern und somit die hardwarebeschleunigte MPEG2-Decodierung zu realisieren. Die entsprechende Teile der
MPEG-Dekodierung werden dann in der Hardware ( GraKa / Chipset ) ausgeführt und entlasten damit die CPU(s).
+
MPEG2-Dekodierung werden dann in der Hardware (Grafikkarte/Chipset) ausgeführt und entlasten damit die System-CPU(s). Bekannte Video-Anwendungen, die XvMC verwenden (können), sind MPlayer, MythTV und xine.
  
NVIDIA closed source Treiber bringt eine Lib mit, die Hardwarebeschleunigung XvMC den Anwendungen beim Videodekodieren mit Grafikkarten von NVidia ermöglicht.
+
== Bestandteile ==
    Xine kann die verwenden, wenn man xine mit den optionen "--with-xvmc-lib=XvMCNVIDIA   
+
    --with-xxmc-lib=XvMCNVIDIA" neu compiliert. Allerdings ist die CPU Entlastung (noch) nicht
+
    dramatisch, geht bei mir z.B. von 20% auf 8% zurück (mit top "gemessen").
+
  
    Das ganze klappt auch analog mit dem mplayer, wobei der mplayer noch ein bisschen mehr CPU
+
# XvMC-fähige Hardware/Grafikkarte
    "spart" (geht auf 6% zurück).
+
# XvMC-fähige Module/Treiber für X-Server
 +
# Hardware-spezifische Bibliothek für den Zugriff auf XvMC
 +
# (optional) XvMC-Wrapper (Hersteller-Grafikkarten-unabhängig). Der Wrapper bestimmt zur Laufzeit, welche Hardware-spezifische Library (aus dem Punkt 3.) geladen werden muss.
 +
# Video-Anwendung, die XvMC verwenden kann
  
== Bestandteile ==
+
== Unterstützte Hardware/Treiber ==
 +
* Nvidia Grafikkarten ab GeForce 4 mit dem NVIDIA Closed-Source-Treiber ([http://download.nvidia.com/XFree86/Linux-x86/1.0-8178/README/appendix-n.html README]): (es wird u.a. eine statische Bibliothek /usr/X11R6/lib/libXvMCNVIDIA.a und eine dynamische Bibliothek /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so installiert)
  
# XvMC Module des X-Servers
+
; NVIDIA closed source : Treiber bringt eine Bibliothek mit, die Hardwarebeschleunigung XvMC den Anwendungen beim Videodekodieren mit Grafikkarten von NVidia ermöglicht. Xine kann die verwenden, wenn man xine mit den Optionen "--with-xvmc-lib=XvMCNVIDIA --with-xxmc-lib=XvMCNVIDIA" neu compiliert. Allerdings ist die CPU Entlastung (noch) nicht dramatisch, geht bei mir z.B. von 20% auf 8% zurück (mit top "gemessen"). Das ganze klappt auch analog mit dem mplayer, wobei der mplayer noch ein bisschen mehr CPU "spart" (geht auf 6% zurück).
# Hersteller- bzw. Hardware-spezifische Library für den Zugriff auf XvMC
+
# ( optional ) XvMC-Wrapper ( Hersteller- GraKa-unabhängig ). Der Wraper bestimmt zur Laufzeit, welche Hardware-spezifische Library ( aus dem Punkt 2. ) geladen werden muss.
+
  
== Unterstützte Hardware / Treiber ==
+
The image quality might improve if you let XvMC use the 3d engine of your GPU instead of Xv. Add the line Option "XvmcUsesTextures" to the screen/device section of your X config file. Perhaps it helps
* Nvidia Grafikkarten ab GeForce 4 mit dem NVIDIA Closed Binary Treiber:
+
( es wird u.a. eine statische Library /usr/X11R6/lib/libXvMCNVIDIA.a und eine dynamische  /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so installiert )
+
  
* S3 Unichrome (u.a. auf VIA Epia Boards)
 
  
* bitte ergänzen
+
* S3 Unichrome (u.a. auf VIA Epia Boards) mit X.org "via" driver
 +
 
 +
* Intel 810/815 mit "i810" driver
  
 
== Installation ==
 
== Installation ==
  
* ohne XvMC-Wrapper ( geeignet für XFree86 und X.org )
+
* ohne XvMC-Wrapper (geeignet für XFree86 und X.org)
** Compile
+
** Compile: Die entsprechende Anwendung (xine/mplayer) wird direkt gegen die hardware-spezifische XvMC-Bibliothek gelinkt...
Die entsprechende Bibliotheken werden direkt gegen die Anwendung ( xine/mplayer ) gelinkt...
+
  
* mit XvMC-Wrapper ( mit '''X.org''' ab Version ? )
+
* mit XvMC-Wrapper (mit '''X.org''' ab Version ?)
** Compile
+
** Compile: Beim Kompilieren wird die Anwendung (z.B. xine oder mplayer) gegen den Wrapper gelinkt
Beim Kompilieren wird die Anwendung ( z.B. xine oder mplayer ) gegen den Wrapper gelinkt
+
  
  -- in /etc/XvMCConfig  die richtige libXVMC eingestellt? Bei NVIDIA z.B.  
+
== Konfiguration ==
    /usr/lib/libXvMCNVIDIA_dynamic.so
+
* Xorg 7.x
 +
Wenn in xorg.conf der "via" Treiber geladen wird, so registriert dieser automatisch die passende XvMC Bibliothek und es ist keine weitere Konfiguration nötig.
 +
 
 +
Man benötigt eine "libxine1" bei der das vdr-plugin-xine registriert ist. Die erkennt man am "VDR" Knopf in der GUI von xine (Paket xine-ui)
 +
 
 +
In der xine Oberfläche stellt man dann den GUI-Level auf "Expert"
 +
Bei Video stellt man den Treiber auf xxmc (s.U.) und kann zusätzlich mit den "unichrome" Optionen herumprobieren.
 +
 
 +
Als erster Test genügt eine [[Knoppix]] CD, Aufruf am Prompt mit:
 +
knoppix xmodule="via"
 +
Wenn man den DVB-Button probieren will muss man nur eine [[channels.conf]] z.B. von /var/lib/vdr nach ~/.xine/channels.conf kopieren und dann in xine auf DVB drücken. Anderen Falls genügt auch eine mpeg Video um die Ausgabegeschwindigkeit zu testen. Bei mir hat ein selbst kompilierter Kernel mit dem passenden CPU-Typ ("VIA Samuel") das ganze noch etwas ruckelfreier gemacht. Der Kernel ist ein "linux 2.6.20" mit der Knoppix config-2.6.19 als /usr/src/linux-2.6.20/.config
 +
 
 +
* X-Server    : laden über Option "XvMC" in XF86config, testen mit $ xdpyinfo und $ xvinfo
 +
 
 +
* XvMC-Wrapper: In /etc/X11/XvMCConfig den Pfad zur hardware-spezifischen XvMC-Library eintragen (bei Nvidia z.B. /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so)
 +
*
 
   -- I got xvmc working by using the info from Dr. Tyrell info from nvnews forum
 
   -- I got xvmc working by using the info from Dr. Tyrell info from nvnews forum
 
     1. Make a file in /etc/X11 named XvMCConfig containing only one line, the path to your nvidia xvmc lib.
 
     1. Make a file in /etc/X11 named XvMCConfig containing only one line, the path to your nvidia xvmc lib.
 
     [ Mine is /usr/X11R6/lib/libXvMCNVIDIA.so.1.0.8756 ]
 
     [ Mine is /usr/X11R6/lib/libXvMCNVIDIA.so.1.0.8756 ]
     do a searh for libxvmcnvidia*.* and change your path and version
+
     do a search for libxvmcnvidia*.* and change your path and version
 
     2. Use "xine -V xxmc" to start the playback program my cpu usage went down about 50% as well as the quailty inproved
 
     2. Use "xine -V xxmc" to start the playback program my cpu usage went down about 50% as well as the quailty inproved
 
 
* Konfiguration
 
** X-Server    : laden über option "XvMC" in XF86config
 
** XvMC-Wrapper: In /etc/X11/XvMCConfig den Pfad zur hardware-spezifischen XvMC-Library eintragen (bei Nvidia z.B. /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so )
 
 
== Keywords ==
 
XvMC MPEG-2 Hardwarebeschleunigung Nvidia budget Beschleuniger  xine xxmc  mplayer HDTV
 
  
 
== Links ==
 
== Links ==
 
# [http://sourceforge.net/project/showfiles.php?group_id=102048 XvMC Wrapper von Unichrome Projekt]
 
# [http://sourceforge.net/project/showfiles.php?group_id=102048 XvMC Wrapper von Unichrome Projekt]
# [http://en.wikipedia.org/wiki/XvMC XvMC auf Wikipedia]
+
# [[wikipedia:XvMC|XvMC]]
 
# [http://www.mythtv.org/wiki/index.php/XvMC XvMC auf MythTV-Wiki]
 
# [http://www.mythtv.org/wiki/index.php/XvMC XvMC auf MythTV-Wiki]
 
# [http://xine.cvs.sourceforge.net/*checkout*/xine/xine-lib/doc/README_xxmc.html xine mit XvMC]
 
# [http://xine.cvs.sourceforge.net/*checkout*/xine/xine-lib/doc/README_xxmc.html xine mit XvMC]
 +
# [http://en.wikipedia.org/wiki/X_video_extension X video extension]
 +
# VDR [[Xine-plugin]] | [[Softdevice-plugin]] | [[Xineliboutput-plugin]]
 +
# [[Kanotix - VDR Live CD]]
  
 
+
[[Kategorie:Begriffserklärungen]]
[[Kategorie:Hardware]]
+
[[Kategorie:Budget-Only_Systeme]]
[[Kategorie:Software]]
+

Aktuelle Version vom 1. September 2013, 10:22 Uhr

Inhaltsverzeichnis

[Bearbeiten] Was ist XvMC

("XVideo Motion Compensation Extension")

XVideo Motion Compensation (XvMC) ist eine Erweiterung (Extension) für den X-Server X.org und XFree86. Sie ermöglicht es grafischen Anwendungen, bestimmte Teile (und zwar Motion Compensation und IDCT) der MPEG2-Dekodierung auf die GPU-Hardware (der Grafikkarte oder des Chipsets) auszulagern und somit die hardwarebeschleunigte MPEG2-Decodierung zu realisieren. Die entsprechende Teile der MPEG2-Dekodierung werden dann in der Hardware (Grafikkarte/Chipset) ausgeführt und entlasten damit die System-CPU(s). Bekannte Video-Anwendungen, die XvMC verwenden (können), sind MPlayer, MythTV und xine.

[Bearbeiten] Bestandteile

  1. XvMC-fähige Hardware/Grafikkarte
  2. XvMC-fähige Module/Treiber für X-Server
  3. Hardware-spezifische Bibliothek für den Zugriff auf XvMC
  4. (optional) XvMC-Wrapper (Hersteller-Grafikkarten-unabhängig). Der Wrapper bestimmt zur Laufzeit, welche Hardware-spezifische Library (aus dem Punkt 3.) geladen werden muss.
  5. Video-Anwendung, die XvMC verwenden kann

[Bearbeiten] Unterstützte Hardware/Treiber

  • Nvidia Grafikkarten ab GeForce 4 mit dem NVIDIA Closed-Source-Treiber (README): (es wird u.a. eine statische Bibliothek /usr/X11R6/lib/libXvMCNVIDIA.a und eine dynamische Bibliothek /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so installiert)
NVIDIA closed source 
Treiber bringt eine Bibliothek mit, die Hardwarebeschleunigung XvMC den Anwendungen beim Videodekodieren mit Grafikkarten von NVidia ermöglicht. Xine kann die verwenden, wenn man xine mit den Optionen "--with-xvmc-lib=XvMCNVIDIA --with-xxmc-lib=XvMCNVIDIA" neu compiliert. Allerdings ist die CPU Entlastung (noch) nicht dramatisch, geht bei mir z.B. von 20% auf 8% zurück (mit top "gemessen"). Das ganze klappt auch analog mit dem mplayer, wobei der mplayer noch ein bisschen mehr CPU "spart" (geht auf 6% zurück).

The image quality might improve if you let XvMC use the 3d engine of your GPU instead of Xv. Add the line Option "XvmcUsesTextures" to the screen/device section of your X config file. Perhaps it helps


  • S3 Unichrome (u.a. auf VIA Epia Boards) mit X.org "via" driver
  • Intel 810/815 mit "i810" driver

[Bearbeiten] Installation

  • ohne XvMC-Wrapper (geeignet für XFree86 und X.org)
    • Compile: Die entsprechende Anwendung (xine/mplayer) wird direkt gegen die hardware-spezifische XvMC-Bibliothek gelinkt...
  • mit XvMC-Wrapper (mit X.org ab Version ?)
    • Compile: Beim Kompilieren wird die Anwendung (z.B. xine oder mplayer) gegen den Wrapper gelinkt

[Bearbeiten] Konfiguration

  • Xorg 7.x

Wenn in xorg.conf der "via" Treiber geladen wird, so registriert dieser automatisch die passende XvMC Bibliothek und es ist keine weitere Konfiguration nötig.

Man benötigt eine "libxine1" bei der das vdr-plugin-xine registriert ist. Die erkennt man am "VDR" Knopf in der GUI von xine (Paket xine-ui)

In der xine Oberfläche stellt man dann den GUI-Level auf "Expert" Bei Video stellt man den Treiber auf xxmc (s.U.) und kann zusätzlich mit den "unichrome" Optionen herumprobieren.

Als erster Test genügt eine Knoppix CD, Aufruf am Prompt mit:

knoppix xmodule="via"

Wenn man den DVB-Button probieren will muss man nur eine channels.conf z.B. von /var/lib/vdr nach ~/.xine/channels.conf kopieren und dann in xine auf DVB drücken. Anderen Falls genügt auch eine mpeg Video um die Ausgabegeschwindigkeit zu testen. Bei mir hat ein selbst kompilierter Kernel mit dem passenden CPU-Typ ("VIA Samuel") das ganze noch etwas ruckelfreier gemacht. Der Kernel ist ein "linux 2.6.20" mit der Knoppix config-2.6.19 als /usr/src/linux-2.6.20/.config

  • X-Server  : laden über Option "XvMC" in XF86config, testen mit $ xdpyinfo und $ xvinfo
  • XvMC-Wrapper: In /etc/X11/XvMCConfig den Pfad zur hardware-spezifischen XvMC-Library eintragen (bei Nvidia z.B. /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so)
 -- I got xvmc working by using the info from Dr. Tyrell info from nvnews forum
    1. Make a file in /etc/X11 named XvMCConfig containing only one line, the path to your nvidia xvmc lib.
    [ Mine is /usr/X11R6/lib/libXvMCNVIDIA.so.1.0.8756 ]
    do a search for libxvmcnvidia*.* and change your path and version
    2. Use "xine -V xxmc" to start the playback program my cpu usage went down about 50% as well as the quailty inproved

[Bearbeiten] Links

  1. XvMC Wrapper von Unichrome Projekt
  2. XvMC
  3. XvMC auf MythTV-Wiki
  4. xine mit XvMC
  5. X video extension
  6. VDR Xine-plugin | Softdevice-plugin | Xineliboutput-plugin
  7. Kanotix - VDR Live CD