mpv/DOCS/German/video.html

1032 lines
52 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<P><B><A NAME=2.3.1>2.3.1. Video Ausgabe-Ger<65>te</A></B></P>
<P><B><A NAME=2.3.1.1>2.3.1.1. MTRR</A></B></P>
<P>Es ist SEHR zu empfehlen, dass man die MTRR Register aktiviert, denn sie
k<EFBFBD>nnen eine gro<72>en Geschwindigkeits-Schub bringen.</P>
<P>Mache ein '<CODE>cat /proc/mtrr</CODE>':</P>
<P><CODE>--($:~)-- cat /proc/mtrr<BR>
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1</CODE></P>
<P>Dies ist richtig, es zeigt meine Matrox G400 mit 16MB Speicher. Ich habe die Einstellung
von XFree 4.x.x, was die MTRR Register automatisch einstellt.</P>
<P>Wenn nichts funktioniert, muss du es manuell setzen. Als erstes musst du die
Base-Adresse finden. Du hast 3 M<>glichkeiten um sie zu finden:</P>
<UL>
<LI>durch die X11 Start-Meldungen, zum Beispiel:
<P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
(--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI>
<LI>durch /proc/pci (verwende lspci -v Befehl):
<P><CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE>
<CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></P></LI>
<LI>durch die mga_vid Kerneltreiber-Meldungen (verwende dmesg):
<P><CODE>mga_mem_base = d8000000</CODE></P></LI>
</UL>
<P>So, nun gilt es die Speichergr<67><72>e finden. Dies ist sehr einfach, rechne
einfach die Video-RAM-Gr<47><72>e ins Hexdezimal oder verwende diese Tabelle:</P>
<TABLE BORDER=0>
<TR><TD>&nbsp;&nbsp;</TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD></TR>
<TR><TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD></TR>
<TR><TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD></TR>
<TR><TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD></TR>
<TR><TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD></TR>
<TR><TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD></TR>
</TABLE>
<P>Du weisst die Base-Adresse und die Speichergr<67><72>e? Lass uns die MTRR Register einstellen!
Zum Beispiel f<>r die Matrox Karte von oben (base=0xd8000000) mit 32MB RAM
(size=0x2000000) f<>hre einfach das Folgende aus:</P>
<P><CODE>&nbsp;&nbsp;echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr</CODE></P>
<P>Nicht alle CPUs unterst<73>tzen MTRRs. Zum Beispiel <20>ltere K6-2's [z.B. 266MHz,
stepping 0] unterst<73>tzen kein MTRR, aber stepping 12 CPUs tuen es
('<CODE>cat /proc/cpuinfo</CODE>' um zu <20>berpr<70>fen').</P>
<P><B><A NAME=2.3.1.2>2.3.1.2. Xv</A></B></P>
<P>Bei XFree86 4.0.2 oder neuer kannst du die Hardware-YUV-Routinen deiner
Grafikkarte verwenden, mit Hilfe der XVideo Erweiterung. Diese Routinen verwendet
die Option '-vo xv'. Dieser Treiber unterst<73>tzt auch eine Helligkeits/Kontrast/Farbton/etc
Anpassung (Es sei den du verwendest den alten, langsamen DirectShow DivX Codec,
welcher es <20>berall unterst<73>tzt), lies in der Manpage.</P>
<P>Das es funktioniert, pr<70>fe folgendes:</P>
<UL>
<LI>Du verwendest XFree86 4.0.2 oder neuer (fr<66>here Versionen haben kein XVideo)</LI>
<LI>Deine Karte unterst<73>tzt Hardwarebeschleunigung (die meisten aktuellen tuen dies)</LI>
<LI>X l<>dt die XVideo Erweiterung, das sieht etwa so aus:
<P><CODE>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
<P>in /var/log/XFree86.0.log</P>
<P>HINWEIS: dies l<>dt nur die XFree86 Erweiterung. In einer guten Installation
ist sie immer geladen, aber das bedeutet nicht, dass der Support mit _deiner_
Karte funktioniert!</P></LI>
<LI>Deine Karte hat Xv Unterst<73>tzung unter Linux. Um es zu <20>berpr<70>fen, tippe
'xvinfo', es ist ein Teil der XFree86 Distribution. Es sollte einen langen Text
anzeigen, vergleichbar mit diesem:
<PRE>
X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
(...)
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
(...usw...)
</PRE>
<P>Es muss YUY2 gepackte und YV12 planar Pixelformate unterst<73>tzen, um
hilfreich f<>r <B>MPlayer</B> zu sein.</P></LI>
<LI>Zum Schluss pr<70>fe, ob <B>MPlayer</B> mit 'xv' Unterst<73>tzung kompiliert wurde.
./configure zeigt an, ob es eingebaut wurde.</LI>
</UL>
<P><B><A NAME=2.3.1.2.1>2.3.1.2.1. 3dfx Karten</A></B></P>
<P>Bei <20>lteren 3dfx Treibern sind bekannt, dass sie Probleme mit der XVideo Beschleunigung
machen und dass der Treiber unterst<73>tzt weder YUY2 noch YV12. Pr<50>fe ob du XFree86
Version 4.2.0 oder neuer hast, es funktioniert mit YV12 und YUY2. Fr<46>here Versionen, auch 4.1.0
<B>st<EFBFBD>rzten mit YV12 ab</B>!
Wenn du seltsame Effekte bei der Benutzung mit -vo xv bemerkst, probier SDL (es unterst<73>tzt auch XVideo)
und pr<70>fe ob es funkioniert. Siehe <A HREF="#2.3.1.4">SDL Sektion</A> f<>r Details.</P>
<P><B>Oder</B> versuche den NEUEN -vo tdfxfb -Treiber! Siehe <A HREF="#2.3.1.9">Sektion 2.3.1.9</A>!</P>
<P><B><A NAME=2.3.1.2.2>2.3.1.2.2. S3 Karten</A></B></P>
<P>S3 Savage3Ds sollten gut funktionieren, jedoch bei einer Savage4 verwende XFree86
Version 4.0.3 oder neuer (bei Bildproblemen versuche 16bpp). Und f<>r S3 Virge.. existiert
xv Unterst<73>tzung, die Karte selbst ist jedoch sehr langsam, du solltest sie also besser verkaufen.</P>
<P><B>HINWEIS</B>: Savage Karten haben eine langsame YV12 Bildwiedergabe F<>higkeit (es muss eine
YV12->YUY2 Konversion durchf<68>hren, weil die Savage Hardware YV12 nicht darstellen kann).
Wenn also diese Dokumentation an einem gewissen Punkt sagt "dies hat YV12 Ausgabe. Benutze Sie,
es ist schneller", ist es nicht sicher. Versuche es mit
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/Savage-driver/savage_drv.o.mmx2.bz2">diesem Treiber</A>,
, er benutzt MMX2 f<>r diese Aufgabe und ist schneller als der eingebaute X-Treiber.</P>
<P><B><A NAME=2.3.1.2.3>2.3.1.2.3. nVidia Karten</A></B></P>
<P>nVidia ist keine gute Wahl f<>r Linux (nach nVidia, ist dies
<A HREF="users_against_developers.html#nvidia">nicht wahr</A>). Du musst dazu den bin<69>ren nVidia-
Treiber, verf<72>gbar auf der nVidia Website, verwenden. Der Standard X-Treiber
unterst<EFBFBD>tzt kein XVideo f<>r diese Karten, aufgrund der von nVidia geschlossenen
Sources/Spezifikationen.</P>
<P>Soweit ich weiss enth<74>lt der neuste XFree86 Treiber XVideo Unterst<73>tzung f<>r GeForce 2 und 3.</P>
<P>Riva128 Karten haben keine XVideo Unterst<73>tzung, auch nicht mit dem
nVidia-Treiber :(
Wende dich an nVidia.</P>
<P><B><A NAME=2.3.1.2.4>2.3.1.2.4. ATI Karten</A></B></P>
<UL>
<LI>Beim <A HREF="http://www.linuxvideo.org/gatos">GATOS Treiber</A> (den du
verwenden solltest) ist VSYNC standardgem<65><6D> eingeschaltet. Das bedeutet, dass
die Dekodierungsgeschwindigkeit (!) synchron mit der Monitor-Refeshrate ist.
Wenn die Wiedergabe langsam zu sein scheint, versuche irgendwie VSYNC auszuschalten
oder setze die Refreshrate auf n*(fps des Films) Hz.</LI>
<LI>Radeon VE - zur Zeit hat nur die CVS-Versionen von XFree86 einen Treiber f<>r
diese Karte, Version 4.1.0 hat keinen. Nat<61>rlich kannst du mit <B>MPlayer</B> gut
eine <B>beschleunigte</B> Anzeige erhalten, mit oder ohne <B>TV Ausgabe</B>. Es
werden auch keine Bibliotheken oder X ben<65>tigt. Lies in der <A HREF="#2.3.1.15">Vidix</A>
Abteilung.</LI>
</UL>
<P><B><A NAME=2.3.1.2.5>2.3.1.2.5. NeoMagic Karten</A></B></P>
<P>Diese Karten findet man in vielen Laptops. Ungl<67>cklicherweise unterst<73>tzt der Treiber
in X 4.2.0 kein Xv. Wir bieten jedoch einen modifizierten,
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">Xv-f<>higen Treiber</A>
an. Der Treiber wurde von Stefan Seyfried zur Verf<72>gung gestellt.</P>
<P>Um die Wiedergabe von Inhalt mit DVD-Gr<47>sse zu erlauben sollte die XF86Config
wie folgt aussehen:</P>
<P><CODE>Section "Device"<BR>
&nbsp; &nbsp; <I>[...]</I><BR>
&nbsp; &nbsp; Driver "neomagic"<BR>
&nbsp; &nbsp; <B>Option "OverlayMem" "829440"</B><BR>
&nbsp; &nbsp; <I>[...]</I><BR>
EndSection</CODE></P>
<P><B><A NAME=2.3.1.2.6>2.3.1.2.6. Trident Karten</A></B></P>
<P>Wenn du xv mit einer Trident Karte benutzen willst, vorausgesetzt, dass es nicht
mit 4.1.0 l<>uft, probier die neuste cvs von XFree oder warte auf XFree 4.2.0.
Das neuste cvs enth<74>lt Unterst<73>tzung f<>r Fullscreen xv mit der Cyberblade XP card.</P>
<P><B><A NAME=2.3.1.3>2.3.1.3. DGA</A></B></P>
<P><B><A NAME=2.3.1.3.1>2.3.1.3.1. Zusammenfassung</A></B></P>
<P>Dieses Dokument versucht mit einigen Worten zu beschreiben, was DGA allgemein
ist und was man mit dem DGA Video-Ausgabetreiber f<>r <B>MPlayer</B> alles machen kann
(und was es nicht kann).</P>
<P><B><A NAME=2.3.1.3.2>2.3.1.3.2. Was ist DGA</A></B></P>
<P>DGA ist die Abk<62>rzung f<>r Direct Graphics Access (Direkter Grafik-Zugriff)
und bedeutet f<>r ein Programm, das es den X-Server <20>berbr<62>ckt und direkt den
Framebuffer-Speicher <20>ndert. Technisch gesprochen passiert dies durch
Verschieben des Framebuffer-Speichers in den Speicherbereich des Prozesses.
Dies wird vom Kernel nur erlaubt, wenn der Anwender Superuser-Rechte besitzt. Man
kann diese bekommen duch Einloggen als Root oder durch das Setzen des Suid-Bits
f<EFBFBD>r das MPlayer-Programm (NICHT empfohlen!).</P>
<P>Es gibt zwei Versionen von DGA: DGA1 wird verwendet unter XFree 3.x.x und DGA2
wurde zu XFree 4.0.1 entwickelt.</P>
<P>DGA1 unterst<73>tzt nur den direkten Framebuffer-Zugriff, wie oben beschrieben.
F<EFBFBD>r das <20>ndern der Farbtiefe eines Video-Signals muss man auf die XVidMode
Erweiterung zur<75>ckgeifen.</P>
<P>DGA2 arbeitet mit dem Feature der XVidMode Erweiterung zusammen und erlaubt
auch das <20>ndern der Farbtiefe. So kannst du dem X Server allgemein auf einer
32 Bit Aufl<66>sung betreiben und die Farbtiefe damit auf 15 Bits verringern.</P>
<P>Wie auch immer, DGA hat auch einige Nachteile. Es scheint, als ob es irgendwie
abh<EFBFBD>ngig vom Grafik-Chip ist und von der Implementation des X Server Video-Treibers,
welcher den Chip kontrolliert. Also funktioniert es nicht auf jedem System ...</P>
<P><B><A NAME=2.3.1.3.3>2.3.1.3.3. Installation der DGA Unterst<73>tzung f<>r MPlayer</A></B></P>
<P>Als erstes pr<70>fe, ob X die DGA Erweiterung l<>dt, siehe /var/log/XFree86.0.log:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
<P>XFree86 4.0.x oder neuer sind STARK EMPFOHLEN! <B>MPlayers</B> DGA-Treiber wird
automatisch von ./configure erkannt, oder du kannst es mit --enable-dga erzwingen.</P>
<P>Wenn der Treiber nicht zu einer kleineren Aufl<66>sung wechseln kann, versuche
mit den Optionen -vm (nur unter X 3.3.x), -fs, -bpp, -zoom um ein Video-Modus zu
finden, dass das Video passt. Es gibt noch keinen Konverter.. :(</P>
<P>Werde ROOT. DGA braucht Root-Rechte um direkt in den Video-Speicher zu
schreiben. Wenn du es auch also Anwender starten willst, installiere bei
<B>MPlayer</B> die SUID root:</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;chown root /usr/local/bin/mplayer<BR>
&nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR>
&nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>
<P>Nun funktioniert es auch als einfacher Anwender.</P>
<P><B>!!!! ABER SEIT GEWARNT !!!!</B><BR>
Dies ist ein <B>GROSSES</B> Sicherheitsrisiko! Mache das nie auf einem Server oder
einem Computer, der von mehreren Personen verwendet wird, da sie durch das
Root SUID von <B>MPlayer</B> Root-Rechte erhalten k<>nnten!<BR>
<B>!!!! DU WURDEST ALSO GEWARNT ... !!!!</B></P>
<P>Verwende nun die '-vo dga' Option und es sollte funktionieren! (hoffe es:)
Du solltest auch probieren, ob die '-vo sdl:dga' Option bei dir funktioniert!
Es ist um einiges schneller!!!</P>
<P><B><A NAME=2.3.1.3.4>2.3.1.3.4. <20>nderung der Aufl<66>sung</A></B></P>
<P>Der DGA Treiber erlaubt das <20>ndern der Aufl<66>sung des Ausgabe-Signals. Es erspart
die Verwendung von (langsamem) softwarem<65><6D>igem Scaling und erm<72>glicht zur
selben Zeit Vollbild-Grafiken. Ideal w<>re es, wenn man auf die genaue Aufl<66>sung
des Videos (w<>rde die richtige Rate voraussetzen) schalten k<>nnte, aber der X Server
erlaubt nur das <20>nderen in eine Aufl<66>sung, die in <CODE>/etc/X11/XF86Config</CODE>
(<CODE>/etc/X11/XF86Config-4</CODE> bei XFree 4.0.X) vordefiniert ist.
Dies sind so genannte "Modelines" und sind von den F<>higkeiten deiner
Video-Hardware abh<62>ngig. Der X Server scannt die Konfigurationsdatei beim Starten und
schaltet die Modelines aus, die nicht zu der Hardware passen. Du kannst die
funktionierenden Modelines mithilfe der X11-Logdatei herausfinden. Sie kann
unter <CODE>/var/log/XFree86.0.log</CODE> gefunden werden.</P>
<P>Siehe Anhang A f<>r einige Beispiele f<>r Modeline-Einstellungen.</P>
<P><B><A NAME=2.3.1.3.5>2.3.1.3.5. DGA &amp; MPlayer</A></B></P>
<P>DGA wird in zwei Pl<50>tzen von <B>MPlayer</B> verwendet: Der SDL Treiber kann
es verwenden (-vo sdl:dga) und der DGA-Treiber (-vo dga). Das oben
genannte trifft f<>r beide zu; in der folgenden Sektion werde ich erkl<6B>ren, wie
der DGA-Treiber f<>r <B>MPlayer</B> funktioniert.</P>
<P><B><A NAME=2.3.1.3.6>2.3.1.3.6. Features des DGA-Treibers</A></B></P>
<P>Der DGA Treiber wird durch die -vo dga Option auf der Komandozeile ausgew<65>hlt.
Das normale Verhalten ist, dass der DGA-Treiber die Aufl<66>sung so weit
wie m<>glich an das Video anzupassen. Es ignoriert die -vm und -fs Optionen (f<>r
Videomodus-<2D>nderung und Vollbild) - es versucht immer so viel Fl<46>che wie m<>glich
durch <20>ndern des Videomodus zu nutzen, dies erspartet eine zus<75>tzliche Verwendung
der CPU um das Bild zu vergr<67><72>ern/verkleinern.
Wenn dir der Modus, den der Treiber gew<65>hlt hat, nicht gef<65>llt, kannst du mit -x
und -y Option einen ausw<73>hlen, der besser passt.
Mit der -v Option wird der DGA Treiber - neben vielen anderen Dingen - eine
Liste der Aufl<66>sungen, die von deiner aktuellen XF86-Config Datei unterst<73>tzt
werden ausgeben. Unter DGA2 kannst du auch die Farbtiefe mit der -bpp Option
einstellen. G<>ltige Farbtiefen sind 15, 16, 24 und 32bpps. Es h<>ngt von deiner
Hardware ab, ob diese Tiefen grundlegend unterst<73>tzt werden oder ob sie (was
m<EFBFBD>glichweise langsam ist) konvertiert werden m<>ssen.</P>
<P>Wenn du genug Gl<47>ck hast und genug Offscreen-Speicher <20>brig ist um eine
ganzes Bild darin zu speichern, wird der DGA Treiber "Doublebuffering" verwenden,
was ein fl<66>ssigeres Bild erm<72>glicht. Es wird ausgeben, ob Doublebuffering
eingeschaltet ist oder nicht.</P>
<P>Doublebuffering bedeutet, dass der n<>chste Frame des Videos bereits in den
Offscreen-Speicher schrieben wird, w<>hrend der aktuelle Frame angezeigt wird.
Wenn der n<>chste Frame fertig ist, wird dem Grafik-Chip nur die Position im
Speicher mitgeteilet, wo sich der n<>chste Frame befindet und die Grafik ververwendet
das Bild einfach von dort. In der Zwischenzeit wird der anderer Buffer wieder
mit Video-Daten aufgef<65>llt.</P>
<P>Doublebuffering kann man mit der Option -double ein- und mit der Option
-nodouble ausschalten. Zur Zeit ist die Standard-Option, dass der zus<75>tzliche Buffer
ausschaltet ist. Wenn der DGA-Treiber verwendet wird, funktioniert das Onscreen
Display (OSD) nur mit eingeschaltetem Doublebuffering. Wie auch immer, das Einschalten
von Doublebuffering kann einen gro<72>er Geschwindigkeitsnachteil sein (auf meinem
K6-II+ 525 verwerdet es zus<75>tzliche 20% der CPU-Zeit!), abh<62>ngig von der
Implementation von DGA f<>r eine Hardware.</P>
<P><B><A NAME=2.3.1.3.7>2.3.1.3.7. Geschwindigkeit</A></B></P>
<P>Allgemein gesprochen sollte der DGA-Framebuffer Zugriff mindestens so
schnell sein wie Verwendung des X11-Treibers, jedoch mit den zus<75>tzlichen Vorteils des
m<EFBFBD>glichen Vollbildes. Die prozentuelle Geschwindigkeitsangaben von MPlayer
sollten aber mit Vorsicht genossen werden, denn zum Beispiel wird beim X11-Treiber
die Zeit, die vom X-Server ben<65>tigt wird um das Bild aufzubauen, nicht eingerechnet.
Logge dich via ein Terminal <20>ber eine serielle Verbindung in deine Box ein und
starte <B>MPlayer</B> damit du wirklich siehst, was los ist ...</P>
<P>Allgemein gesprochen ist der Geschwindigkeitsvorteil von DGA im Vergleich
zur normalen Verwendung von X11 stark abh<62>ngig von der Grafikkarte und wie gut
das X-Server Modul daf<61>r optimiert ist.</P>
<P>Wenn du ein langsames System besitztst, verwende lieber 15 oder 16 Bit Farbtiefen,
denn es verwendet nur halbe Speicherbandbreiten im Vergleich zu 32 bit.</P>
<P>Die Verwendung von 24bit ist eine gute Idee, wenn deine Karte 32 Bit Tiefe
unterst<EFBFBD>tzt, denn es sind 25% weniger Daten im Vergleich zu einem 32/32 Modus.</P>
<P>Ich habe einige AVI-Dateien schon auf einem Pentium MMX 266 wiedergegeben.
Bei AMD K6-2 CPUs funktioniert es vielleicht ab 400 MHZ oder mehr.</P>
<P><B><A NAME=2.3.1.3.8>2.3.1.3.8. Bekannte Probleme</A></B></P>
<P>Nun, nach der Aussage von einigen Entwicklern von XFree ist DGA immer noch "ein
wildes Tier". Sie sagen es ist besser, wenn man es nicht verwendet. Die Implementierung
ist noch nicht immer fehlerfrei mit jedem Chipset-Treiber von XFree.</P>
<UL>
<LI>mit XFree 4.0.3 und nv.o gibt es einen Bug, zu erkennen in eigenartigen Farben</LI>
<LI>ATI-Treiber erfordern mehrmaliges zur<75>ckschalten nach dem Abspielen mit DGA</LI>
<LI>einige Treiber schlagen Fehl bei dem Versuch zur<75>ck zur normalen Aufl<66>sung
zu schalten (verwende STRG-ALT-Keypad +, - um manuell zu schalten)</LI>
<LI>einige Treiber weisen kleine Farbfehler auf</LI>
<LI>einige Treiber l<>gen, im Bezug auf die Speichergr<67><72>e f<>r die Anwendung, dieses
DGA wird kein Doublebuffering verwenden (SIS?)</LI>
<LI>einige Treiber scheinen einen Fehler zu berichten, sie zeigen nur eine g<>ltige
Aufl<66>sung an. In diesem Fall wird der DGA-Treiber abst<73>tzen, wenn er von einer
unsinnigen Aufl<66>sungung von 100000x100000 oder <20>hnlich berichtet...</LI>
<LI>OSD funktioniert nur mit eingeschaltetem Doublebuffering</LI>
</UL>
<P><B><A NAME=2.3.1.3.9>2.3.1.3.9. Zuk<75>nftige Arbeiten</A></B></P>
<UL>
<LI>Verwendung des neuen X11 Rendering-Interfaces f<>r OSD</LI>
<LI>Wo ist meine TODO Liste ???? :-(((</LI>
</UL>
<P><B><A NAME=2.3.1.3.A>2.3.1.3.A. Einige Modus-Einstellungen</A></B></P>
<PRE>
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
EndSection
</PRE>
<P>Diese Einstellungen funktionieren sehr gut mit meinem Riva128 Chip unter Verwendung
des nv.o X Server Treibermodules.</P>
<P><B><A NAME=2.3.1.3.B>2.3.1.3.B. Fehlerberichte</A></B></P>
<P>Wenn du Probleme mit dem DGA-Treibers hast, sende einen Fehlerbericht
(e-Mail Adresse siehe untern). Bitte starte <B>MPlayer</B> mit der -v Option und
sende alle Zeilen beginnend mit vo_dga: in dem Fehlerbericht.</P>
<P>Bitte schreibe auch, welche Version von X11 du verwendest, die Grafikkarte
und die Art von CPU. Das X11-Treiber Modul (definiert in der XFree86-Config) hilft
auch m<>glicherweise. Danke!</P>
<P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P>
<P><B><A NAME=2.3.1.4>2.3.1.4. SDL</A></B></P>
<P>SDL (Simple Directmedia Layer) ist grunds<64>tzlich ein vereinheitlichtes Video/Audio
Interface. Programme, die es benutzen, wissen nur um SDL und nichts dar<61>ber, was f<>r
Video- oder Audio-Treiber SDL eigentlich benutzt. So kann z.B. eine Doom Portierung
auf SDL <20>ber die svgalib, aalib, X, fbdev und andere laufen. Du musst bluss z.B. bloss
<EFBFBD>ber die Variable SDL_VIDEODRIVER angeben, welcher Video-Treiber benutzt werden soll.
Nun ja, in der Theorie.</P>
<P>Mit <B>MPlayer</B> benutzen wir dessen Software Skalier-F<>higkeit des X11-Treibers
f<EFBFBD>r Karten, welche kein XVideo unterst<73>tzen, bis wir unseren eigenen (schnelleren, besseren)
Software-Skalierer haben. Wir benutzen auch dessen aalib-Ausgabe, haben nun aber einen
eigenen, welcher komfortabler ist. Dessen DGA-Mode war besser als unsere, bis neulich. :)</P>
<P>Es hilft auch bei einigen anf<6E>lligen Treibern/Karten, wenn der Video ruckartig ist
(kein Problem der Systemgeschwindigkeit) oder wenn der Ton verz<72>gert ist.</P>
<P>Die SDL Videoausgabe unterst<73>tzt die Darstellung von Untertitel unter dem Film, auf dem
schwarzen Streifen (falls vorhanden).</P>
<P>Hier findest du einige Hinweise <20>ber die SDL-Ausgabe in <B>MPlayer</B>.</P>
<TABLE BORDER=0>
<TR><TD COLSPAN=4><P><B>Es gibt einige Commandline-Optionen f<>r SDL:</B></P></TD></TR>
<TR><TD>&nbsp;&nbsp;</TD><TD>-vo sdl:name</TD><TD>&nbsp;&nbsp;</TD>
<TD>w<EFBFBD>hlt den zu verwendenden Video Treiber aus (z.B. aalib, dga, x11)</TD></TR>
<TR><TD></TD><TD>-ao sdl:name</TD><TD></TD><TD>w<EFBFBD>hlt den zu verwendenden Audio Treiber aus
(z.B. dsp, esd, arts)</TD></TR>
<TR><TD></TD><TD>-noxv</TD><TD></TD><TD>schaltet die Xvideo Hardwarebeschleunigung aus</TD></TR>
<TR><TD></TD><TD>-forcexv</TD><TD></TD><TD>versucht die Xvideo-Beschleunigung zu erzwingen</TD></TR>
<TR><TD COLSPAN=4><P><B>SDL-Tasten:</B></P></TD></TR>
<TR><TD></TD><TD>F</TD><TD></TD><TD>w<EFBFBD>hlt Vollbild-/Fenster-Modus</TD></TR>
<TR><TD></TD><TD>C</TD><TD></TD><TD>verf<EFBFBD>gbare Zyklen beim Vollbild-Modus</TD></TR>
<TR><TD></TD><TD>W/S</TD><TD></TD><TD>zusammenh<EFBFBD>ngend mit * und / (Mixer-Kontrolle)</TD></TR>
</TABLE>
<P><B>BEKANNTE FEHLER:</B></P>
<UL>
<LI>Wenn diese Tasten unter dem sdl:aalib Konsolentreiber verwendet werden,
wiederholen sie sich f<>r immer. (verwende -vo aa!)
Es ist ein Bug in SDL, ich kann es nicht <20>ndern (getestet mit SDL 1.2.1).</LI>
</UL>
<P><B><A NAME=2.3.1.5>2.3.1.5. SVGAlib</A></B></P>
<P><B><U>Installation</U></B><BR>
Das svgalib Packet und dessen Entwicklungs-Packet m<>ssen installiert sein, um
den SVGAlib Treiber in <B>MPlayer</B> einzubauen (wird automatisch erkannt, kann jedoch
auch erzwungen werden). Es sollte auch nicht vergessen werden, die
<CODE>/etc/vga/libvga.config</CODE> auf die entsprechende Karte &amp; Monitor anzupassen.</P>
<P><B><U>Hinweise</U></B><BR>
Die -fs Option sollte nicht verwendet werden, da dadurch der Gebrauch des
Softwareskalierers aktiviert wird, der sehr langsam ist. Wenn dies trotzdem
ben<EFBFBD>tigt wird, sollte die <CODE>-sws 4</CODE> Option verwendet werden, die
zwar eine schlechtere Qualit<69>t liefert, jedoch viel schneller ist.</P>
<P><B><U>EGA (4bpp) Unterst<73>tzung</U></B><BR>
SVGAlib beinhaltet auch EGAlib. <B>MPlayer</B> hat also auch die F<>higkeit, Filme mit
16 Farben widerzugeben, welche durch folgende Einstellungen brauchbar wird:</P>
<UL>
<LI>EGA Karte mit EGA Bildschirm: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp</LI>
<LI>EGA Karte mit CGA Bildschirm: 320x200x4bpp, 640x200x4bpp</LI>
</UL>
<P>Der bpp (Bits pro Pixel) Wert muss mit der Hand auf 4 gesetzt werden:<BR>
&nbsp;&nbsp;<CODE>-bpp 4</CODE><BR>
Wahrscheinlich muss der Film dabei verkleinert (skaliert) werden, um dem EGA
Modus gerecht zu werden:<BR>
&nbsp;&nbsp;<CODE>-vop scale=640:350</CODE> oder<BR>
&nbsp;&nbsp;<CODE>-vop scale=320:200</CODE><BR>
Dazu wird eine schnelle Skalierungsroutine mit schlechte Qualit<69>t ben<65>tigt:<BR>
&nbsp;&nbsp;<CODE>-sws 4</CODE><BR>
Vielleicht muss die automatische Verh<72>ltniskorrektur deaktiviert werden:<BR>
&nbsp;&nbsp;<CODE>-noaspect</CODE></P>
<P><B><A NAME=2.3.1.6>2.3.1.6. Framebuffer Ausgabe (FBdev)</A></B></P>
<P>Ob die FBdev Unterst<73>tzung eingebaut wird w<>hrend des ./configure
Scripts entschieden. Lese die Framebuffer Dokumentation von den Kernel Sourcen
(Documentation/fb/*) um zu erfahren wie man es einschaltet, usw..!</P>
<P>M<EFBFBD>glicherweise unterst<73>tzt deine Karte den VBE 2.0 Standard nicht (<28>ltere ISA/PCI
Karten wie S3 Trio64), nur VBE 1.2 (oder <20>lter?): Nun, VESAfb ist auch verf<72>gbar, aber
du musst den SciTech Display Doctor (genannt UniVBE) vor Linux laden. Verwende eine
DOS-Startdiskette oder was auch immer. Und vergiss nicht dein UniVBE zu registrieren ;))</P>
<P>Bei der FBdev Ausgabe k<>nnen einige zus<75>tzliche Parameter verwendet werden:</P>
<TABLE BORDER=0>
<TR><TD>&nbsp;&nbsp;</TD><TD>-fb</TD><TD>&nbsp;&nbsp;</TD>
<TD>spezifiziert den zu verwendenden Framebuffer (/dev/fb0)</TD></TR>
<TR><TD></TD><TD>-fbmode</TD><TD></TD><TD>Modus das verwendet werden soll (siehe /etc/fb.modes)</TD></TR>
<TR><TD></TD><TD>-fbmodeconfig</TD><TD></TD><TD>Konfigurationsdatei f<>r das Modus (standard ist /etc/fb.modes)</TD></TR>
<TR><TD></TD><TD>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3>WICHTIGE Werte, siehe example.conf</TD></TR>
<TR><TD></TD><TD>-monitor_vfreq</TD><TD></TD></TR>
<TR><TD></TD><TD>-monitor_dotclock</TD><TD></TD></TR>
</TABLE>
<P>Wenn du zu einem speziellen Modus wechseln willst, verwende</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (Name_des_Modus) Dateiname</CODE></P>
<UL>
<LI><B>-vm</B> alleine wird den am ehesten passenden Modus von
/etc/fb.modes verwenden. Kann auch mit der -x und -y Option verwendet werden.
Die -flip Option wird nur unterst<73>tzt, wenn das Pixel-Format des Videos mit dem
Video-Modus <20>bereinstimmt.
Unter Beobachtung des bpp-Wertes, versucht der fbdev-Treiber den aktuellen oder
den mit der -bpp Option eingestellten Wert zu verwenden.</LI>
<LI><B>-zoom</B> Option wird nicht unterst<73>tzt (Software-Scaling ist langsam).
-fs Option wird nicht unterst<73>tzt. Du kannst keine Moduse mit 8bpp (oder weniger)
verwenden.</LI>
<LI>Wenn du deinen Curser ausschalten willst:: <CODE>echo -e '\033[?25l'</CODE>
oder <CODE>setterm -cursor off</CODE><BR>
und den Bildschirmschoner: <CODE>setterm -blank 0</CODE><BR>
Um den Curser wieder anzuzeigen: <CODE>echo -e '\033[?25h'</CODE>
oder <CODE>setterm -cursor on</CODE></LI>
</UL>
<P>HINWEIS: FBdev Video-Modus-<2D>nderungen _funktionieren nicht_ mit dem VESA
Framebuffer, also frage nicht danach, denn es ist keine <B>MPlayer</B> Beschr<68>nkung.</P>
<P><B><A NAME=2.3.1.7>2.3.1.7. Matrox Framebuffer (mga_vid)</A></B></P>
<P>Diese Abschnitt handelt <20>ber Matrox G200/G400/G450/G550 BES (Back-End Scaler)
Unterst<EFBFBD>tzung, dem mga_vid Kernel-Treiber. Er wird von mir (A'rpi) aktiv entwickelt
und besitzt Hardware-VSYNC-Unterst<73>tzung mit dreifach-Buffering. Er funktioniert auf
Konsole oder auch unter X.</P>
<P><B>WARNUNG</B>: benutze <A HREF="#2.3.1.15">Vidix</A> auf nicht-Linux Systemen f<>r mga_vid!!!</P>
<P>Um es zu verwenden, kompiliere als erstes mga_vid.o:</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;cd drivers<BR>
&nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>
<P>Dann erstelle das /dev/mga_vid Ger<65>t:</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mknod /dev/mga_vid c 178 0</CODE></P>
<P>und laden den Treiber mit</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o</CODE></P>
<P>Du sollst die erkannte Videospeichergr<67><72>e pr<70>fen, dazu verwende den 'dmesg'
Befehl. Wenn es nicht stimmt, verwende die mga_ram_size Option (rmmod mga_vid
als erstes) und gib die Speichergr<67><72>e der Karte in MB an:</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o mga_ram_size=16</CODE></P>
<P>Um den Treiber automatisch zu laden / unzuladen wenn er braucht wird, f<>ge
die folgende Zeile an Ende der /etc/modules.conf Datei ein:</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;alias char-major-178 mga_vid</CODE></P>
<P>Installiere dann das Module <CODE>mga_vid.o</CODE> mit <CODE>make install</CODE> oder kopiere es
an den entsprechenden Platz unter <CODE>/lib/modules/&lt;Kernel Version&gt;/irgendwo</CODE>.</P>
<P>Dann starte</P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;depmod -a</CODE></P>
<P>Jetzt musst du <B>MPlayer</B> (neu)kompilieren, ./configure wird automatisch
/dev/mga_vid erkannen und den 'mga' Treiber einbauen. Die Verwendung mit
<B>MPlayer</B> wird wenn man eine matroxfb Konsole hat mit '-vo mga' oder mit
'-vo xmga' unter XFree86 3.x.x oder 4.x.x realisiert.</P>
<P>Der mga_vid Treiber arbeitet nun auch mit dem Xv zusammen.
<P><B><A NAME=2.3.1.8>2.3.1.8. SiS 6326 Framebuffer (sis_vid)</A></B></P>
<P>SiS 6326 YUV Framebuffer Treiber -> sis_vid Kerneltreiber</P>
<P>Das Interface sollte kompatibel mit dem von the mga_vid sein, aber das Trei-
ber wurde nicht aktualisiert, als mga_vid ge<67>ndert wurde, also ist es nicht mehr
aktuell. Es sollte getestet und der Code auf den letzten Stand gebracht werden.</P>
<P><B><A NAME=2.3.1.9>2.3.1.9. 3dfx YUV Unterst<73>tzung (tdfxfb)</A></B></P>
<P>Dieser Treiber verwendet den Kernel-tdfx Framebuffer-Treiber um Filme mit
YUV-Beschleunigung zu spielen. Du brauchst einen Kernel mit tdfxfb Support und
kompiliere <B>MPlayer</B> mit <CODE>./configure --enable-tdfxfb</CODE> neu.</P>
<P><B><A NAME=2.3.1.10>2.3.1.10. OpenGL Ausgabe</A></B></P>
<P><B>MPlayer</B> unterst<73>tzt die Ausgabe von Videos <20>ber OpenGL. Wenn die
Plattform / der Treiber jedoch xv unterst<73>tzt, was f<>r ein PC mit Linux der
Fall sein sollte, sollte besser xv verwendet werden, da die Leistung von OpenGL
betr<EFBFBD>chtlich schlechter ist. Wenn man eine X11 Implementierung ohne xv besitzt,
ist OpenGL trotzdem eine funktionsf<73>hige Alternative.</P>
<P>Ungl<EFBFBD>cklicherweise unterst<73>tzten nicht alle Treiber diese Feature. Die
Utah-GLX Treiber (f<>r XFree86 3.3.6) unterst<73>tzen es f<>r alle Karten. Siehe
<A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
f<EFBFBD>r Details zur Installation.</P>
<P>XFree86(DRI) >= 4.0.3 unterst<73>tzt OpenGL mit Matrox- und Radeon-Karten, >= 4.2
unterst<EFBFBD>tzt auch Rage128. Siehe
<A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> f<>r Download-
und Installations-Anweisungen.</P>
<P><B><A NAME=2.3.1.11>2.3.1.11. AAlib - Textmodus-Ausgabe</A></B></P>
<P><B>AAlib</B> ist eine Bibliothek f<>r die Anzeige im Textmodus, unter Verwendung
des ASCII Renderer. Es gibt EINE GROSSE ANZAHL von Programmen die es bereits
unterst<EFBFBD>tzen, wie Doom, Quake, usw. <B>MPlayer</B> enth<74>lt einen sehr gut brauchbaren
Treiber daf<61>r.
Wenn ./configure erkennt, dass aalib installiert ist, wird der aalib libvo
Treiber eingebaut.</P>
<TABLE BORDER=0>
<TR><TD COLSPAN=4><P><B>Du kannst einige Tasten verwenden im AA Fenster, um Rendering-Optionen zu <20>ndern:</B></P></TD></TR>
<TR><TD>&nbsp;&nbsp;</TD><TD>1</TD><TD>&nbsp;&nbsp;</TD><TD>verringert Kontrast</TD></TR>
<TR><TD></TD><TD>2</TD><TD></TD><TD>erh<EFBFBD>ht Kontrast</TD></TR>
<TR><TD></TD><TD>3</TD><TD></TD><TD>verringert Sch<63>rfe</TD></TR>
<TR><TD></TD><TD>4</TD><TD></TD><TD>erh<EFBFBD>ht Sch<63>rfe</TD></TR>
<TR><TD></TD><TD>5</TD><TD></TD><TD>schaltet schnelles Rendern ein/aus</TD></TR>
<TR><TD></TD><TD>6</TD><TD></TD><TD>w<EFBFBD>hlt das Farbmischungs-Modus (keine, error dithering, Floyd Steinberg)</TD></TR>
<TR><TD></TD><TD>7</TD><TD></TD><TD>invertiert Bild</TD></TR>
<TR><TD></TD><TD>a</TD><TD></TD><TD>wechselt zwischen AA und <B>MPlayer</B> Kontrolle)</TD></TR>
<TR><TD COLSPAN=4><P><B>Die folgenden Kommandozeilen-Optionen k<>nnen verwendet werden:</B></P></TD></TR>
<TR><TD></TD><TD>-aaosdcolor=V</TD><TD></TD><TD><EFBFBD>ndert OSD-Farbe</TD></TR>
<TR><TD></TD><TD>-aasubcolor=V</TD><TD></TD><TD><EFBFBD>ndert Untertitel-Farbe</TD></TR>
<TR><TD COLSPAN=3></TD><TD><P><I>wobei V sein kann: (0/Normal, 1/Dunkel, 2/Fett, 3/Fettschift, 4/R<>ckw<6B>rts, 5/Spezial)</P></TD></TR>
<TR><TD COLSPAN=4><P><B>AAlib selbst unterst<73>tzt eine gr<67><72>e Summe von Optionen.
Hier einige wichtige:</P></B></TD></TR>
<TR><TD></TD><TD>-aadriver</TD><TD></TD><TD>setzt erforderlichen AA Treiber (X11, curses, Linux)</TD></TR>
<TR><TD></TD><TD>-aaextended</TD><TD></TD><TD>verwende alle 256 Zeichen</TD></TR>
<TR><TD></TD><TD>-aaeight</TD><TD></TD><TD>verwendet acht-bit ASCII</TD></TR>
<TR><TD></TD><TD>-aahelp</TD><TD></TD><TD>gibt alle AAlib-Optionen aus</TD></TR>
</TABLE>
<P>HINWEIS: Das Rendering ist sehr CPU-Intersiv, besonders bei AA-on-X (AAlib
unter X) und ben<65>tigt am wenigsten CPU-Leistung auf einer standard,
nicht-Framebuffer Konsole. Verwende SVGATextMode im ein gro<72>es Textmodus einzustellen
und geniese es! (Dual Head Hercules Karten rocks :)) (kann vielleicht jemand
bdev erweiteren f<>r Konventierung/Farbmischung bei hgafb? W<>re nett :)</P>
<P>Verwende die -framedrop Option wenn dein Computer nicht schnell genug ist,
um alle Frames zu Verarbeiten!</P>
<P>Beim Abspielen auf einem Terminal wirst du eine bessere Geschwindigkeit und
Qualit<EFBFBD>t bekommen, wenn du den Linux-Treiber (-aadriver linux) und nicht den
Curses-Teiber verwendest. Aber dazu brauchst du Scheibzugriff auf/dev/vcsa&lt;terminal&gt;!
Dies wird nicht automatisch erkannt von aalib, aber vo_aa versucht die beste
M<EFBFBD>glichkeit zu finden. Siehe
<A HREF="http://aa-project.sourceforge.net/tune">http://aa-project.sourceforge.net/tune/</A>
f<EFBFBD>r zus<75>tzliche Tuning-M<>glichkeiten.</P>
<P><B><A NAME=2.3.1.12>2.3.1.12. VESA - output to VESA BIOS</A></B></P>
<P>Dieser Treiber wurde <B>als allgemeiner Treiber</B>entworfen und eingef<65>hrt, f<>r jede
Grafikkarte, die ein VESA VBE 2.0 kompatibles BIOS besitzt. Ein weiterer Vorteil dieses
Treibers ist, dass er versucht, die TV Ausgabe zu erzwingen.<BR>
<B>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998</B> (Seite 70) sagt:</P>
<BLOCKQUOTE>
<B>Dual-Controller Aufbau</B><BR>
VBE 3.0 unterst<73>tzt Grafikkarten mit Dual-Controller Aufbau. Unter der Annahme, dass beide
Kontroller die gleiche OEM, unter der Kontrolle eines einzigen BIOS-ROMs auf der Grafikkarte
besitzen, ist es m<>glich, der Anwendung zu verbergen, dass die in wirklichkeit zwei
Kontroller verhanden sind. Es hat jedoch die Beschr<68>nkung, dass die gleichzeitige Verwendung
der unterschiedlichen Kontroller verhindert wird, aber erlaubt Anwendungen, die vor VBE 3.0
herausgekommen sind, normal zu arbeiten. Die VBE Funktion 00h (Return Controller Information)
gibt die gemeinsamen Informationen beider Kontroller zur<75>ck, inklusive einer Liste der
verf<72>gbaren Modusse. Wenn eine Anwendungen einen Modus ausw<73>hlt wird der entsprechende
Kontroller aktiviert. Alle verbleibenden VBE-Funktionen werden dann auf dem aktuellen Kontroller
ausgef<65>hrt.
</BLOCKQUOTE>
<P>Also hast du damit gute Chancen deinen TV-OUT mit diesem Treiber zu aktivieren.<BR>
(Ich danke das die TV-Funktion sie nur auf Single-Head oder Standalone-Ausgabe besch<63>nkt.)</P>
<P><B>Was sind die Vorteile:</B></P>
<UL>
<LI>Du hast Chance Videos zu sehen, <B>auch wenn Linux nicht mal weiss</B>, welche Grafikkarte du hast.</LI>
<LI>Du brauchst dazu auf deinem Linux keine anderen grafikabh<62>ngenden Sachen (wie X11 (XFree86),
fbdev usw.). Dieser Treiber kann vom <B>Textmodus</B> aus betrieben werden.</LI>
<LI>Du hast Chancen den <B>TV-Out einzuschalten</B>. (Bis jetzt nur von ATI-Karten bekannt).</LI>
<LI>Dieser Treiber verwendet <B>int 10h</B> Handler, das heisst es ist kein Emulator - es ruft
<B>echte</B> Befehle des <B>echten</B> BIOS im <B>Real</B>-Mode aus. (im vm86 Modus).</LI>
<LI>Du kannst Vidix damit verwenden und dadurch eine beschleunigte Videowiedergabe
<B>UND</B> den TV Ausgang gleichzeitig verwenden! (empfohlen f<>r ATI Karten)</LI>
</UL>
<P><B>Was sind die Nachteile:</B></P>
<UL>
<LI>Es funktioniert nut auf <B>x86 Systemen</B>.</LI>
<LI>Es kann nur als <B>ROOT</B> verwendet werden.</LI>
<LI>Zur Zeit ist es nur f<>r <B>Linux</B> verf<72>gbar.</LI>
</UL>
<P>Verwende diesen Treiber nicht mit <B>GCC 2.96</B>! Es wird nicht funktionieren!</P>
<TABLE BORDER=0>
<TR><TD COLSPAN=4><P><B>Diese Commandline-Parameter sind zur Zeit verf<72>gbar f<>r VESA:</B></P></TD></TR>
<TR><TD>&nbsp;&nbsp;</TD><TD>-vo vesa:opts</TD>
<TD>&nbsp;&nbsp;</TD><TD>erkennt momentan: <B>dga</B> um den DGA-Modus zu erzwingen und <B>nodga</B> um ihn zu deaktivieren. Hinweis: Du kannst diese
Parameter auslassen um den DGA-Modus <B>automatisch</B> erkennen zu k<>nnen. (In Zukunft wirst du Parameter wie Wiederholrate,
Interlacing, Doublescan und so weiter einstellen. Beispiele: i43, 85, d100)</TD></TR>
<TR><TD></TD><TD>-screenw, -screenh, -bpp</TD><TD></TD><TD>verwendet von Anwender definierte Modie</TD></TR>
<TR><TD></TD><TD>-x, -y</TD><TD></TD><TD>setzt Prescaling-Aufl<66>sung</TD></TR>
<TR><TD></TD><TD>-zoom</TD><TD></TD><TD>aktiviert Prescaling</TD></TR>
<TR><TD></TD><TD>-fs</TD><TD></TD><TD>Vollbild-Scaling</TD></TR>
<TR><TD></TD><TD>-fs -zoom</TD><TD></TD><TD>Vollbild-Scaling des prescalten Bildes</TD></TR>
<TR><TD></TD><TD>-double</TD><TD></TD><TD>aktiviert den Doppelpuffer-Modus (double buffering).
(Nur im DGA Modus m<>glich). Sollte langsamer sein als single buffering, hat jedoch keine Flimmereffekte.</TD></TR>
</TABLE>
<P><B>Bekannte Probleme und Workarounds:</B></P>
<UL>
<LI>Wenn die <B>NLS</B> Schrift auf deinem Linux Rechner installiert hast und den VESA-Treiber
auf einer Textmode-Konsole verwendst wird nach dem Beenden von <B>MPlayer<B> die <B>ROM-Schrift</B>
erscheinen anstatt der nationalen. Du kannst die nationale Schrift wieder durch das z.B.
<B><I>setsysfont</I></B>-Tool bei einer Mandrake Distribution laden.<BR>
(<B>Hinweis</B>: Das selbe Tool wird zum Lokalisieren von fbdev verwendet).</LI>
<LI>Einige <B>Grafikkartentreiber f<>r Linux</B> aktivieren den <B>BIOS Modus</B> im DOS-Speicher
nicht. Wenn du solche Probleme hast - verwende den VESA-Treiber im <B>Textmodus</B>. Andernfalls
wird der Textmodus (#03) einfach aktiviert und du musst deinen Computer neu starten.</LI>
<LI>Oftmals bekommt man nach dem Beenden des VESA-Treiber einen <B>schwarzen Bildschirm</B>. Um
zur<75>ck zum normalen Modues zu kommen - wechsle einfach auf auf eine andere Konsole (durch das
Dr<44>cken von <B>Alt-Fx</B>) und das Anschlie<69>ende zur<75>ckschalten auf die vorherige Konsole auf die
gleiche Art.</LI>
<LI>Um einen <B>funktionierenden TV-out</B> zu bekommen musst du deine TV vor dem Starten des
PCs anschlie<69>den, denn das Video-BIOS inizialisiert es w<>hrend des POST-Vorganges.</LI>
</UL>
<P><B><A NAME=2.3.1.13>2.3.1.13. X11</A></B></P>
<P>Vermeide es, wenn m<>glich. <20>bergibt die Ausgabe X11 (es benutzt die shared memory Erweiterung)
jedoch ohne jeglicher Hardware Beschleunigung. Es unterst<73>tzt (MMX/3DNow/SSE beschleunigt, aber immer noch
langsam) Software-Skalierung. Benutze die Option <CODE>-fs -zoom</CODE>. Die meisten Karten haben
Hardware-Skalierung Unterst<73>tzung. Benutze die <CODE>-vo xv</CODE> Ausgabe f<>r diese oder
<CODE>-vo xmga</CODE> f<>r Matrox Karten.</P>
<P>Das Problem ist, dass die meisten Karten keine Hardware Beschleunigung f<>r eine zweite
Ausgabe/TV unterst<73>tzen. In diesen F<>llen, sieht man ein gr<67>nfarbiges/blaufarbiges Fenster
anstelle des Filmes. In diesen F<>llen ist dieser Treiber n<>tzlich. Du ben<65>tigst jedoch eine
leistungsf<EFBFBD>hige CPU um die software-Skalierung zu benutzen. Verwende nicht die Software Ausgabe+Skalierer
von SDL, er hat eine noch sclimmere Bildqualit<69>t!</P>
<P>Software-Skalierung ist sehr langsam. Du solltest besser versuchen den Videomodus zu <20>ndern.
Es ist sehr einfach. Lies in der Sektion <A HREF="#2.3.1.3.A">DGA Modus-Einstellungen</A> und f<>ge diese
deiner XF86Config an.</P>
<UL>
<LI>Wenn du XFree86 4.x.x hast - benutze die <CODE>-vm</CODE> Option. Sie <20>ndert
die Aufl<66>sung, so dass zu deinem Film passt. Wenn nicht:</LI>
<LI>Mit XFree86 3.x.x - du musst mit den Tasten <B>CTRL-ALT-plus</B> und <B>minus</B> durch
alle m<>glichen Aufl<66>sungen durchgehen.</LI>
</UL>
<P>Wenn du den Modus, den du eingef<65>gt hast nicht findest, betrachte die XFree86 Ausgaben. Einige Treiber
k<EFBFBD>nnen keine tiefen pixelclocks verwenden, welche ben<65>tigt werden um einen tiefen Aufl<66>sungs-Modus zu verwenden.</P>
<P><B><A NAME=2.3.1.15>2.3.1.15. Vidix</A></B></P>
<P><B>WAS IST VIDIX?</B></P>
<P>VIDIX ist di abk<62>rzung f<>r <B>VID</B>eo <B>I</B>nterface f<>r
*ni<B>X</B>.<BR>
VIDIX wurde entworfen und eingef<65>hrt als ein Interface f<>r schnelle user-space Treiber,
welches Videoleistungen wie mga_vid von Matrox Karten zur Verf<72>gung stellt. Die Treiber sind
auch sehr portierbar.</P>
<P>Dieses Interface wurde als Versuch entworfen, die existierenden Videobeschleunigungs-Interfaces
(bekannt als mga_vid, rage128_vid, radeon_vid, pm3_vid) in ein festest Schema zu bringen.
Es stellt ein Interface auf hohem Level (highlevel) f<>r Chips zur Verf<72>gung, welche als
BES (BackEnd scalers) oder OV (Video Overlays) bekannt sind. Es stellt kein lowlevel
Interface zur Verf<72>gung f<>r Dinge, welche als Grafikserver bekannt sind (Ich will nicht mit
dem X11 Team im Grafikmodus-Wechsel konkurrieren). Das Hauptziel dieses Interface ist es,
eine maximale Wiedergabe-Geschwindigkeit zur Verf<72>gung zu stellen.</P>
<P><B>VERWENDUNG</B></P>
<UL>
<LI>Du kannst den selbst<73>ndigen Videoausgabe-Treiber verwenden: <CODE>-vo xvidix</CODE><BR>
Dieser Treiber wurde als ein X11 Frontend zu der VIDIX Technologie entwickelt. Er ben<65>tigt
einen X Server und kann nur unter diesem arbeiten.</LI>
<LI>Du kannst das VIDIX dem Vidix unterstellte Ger<65>t (subdevice) verwenden, welches zu vielen
Videoausgabe-Treibern hinzugef<65>gt wurde, wie z.B.:<BR>
<CODE>-vo vesa:vidix</CODE> (<B>NUR LINUX</B>) und <CODE>-vo fbdev:vidix</CODE></LI>
</UL>
<P>Allerdings spielt es keine Rolle, welche Videoausgabe-Treiber mit <B>VIDIX</B> verwendet werden.</P>
<P><B>VORAUSSETZUNGEN</B></P>
<UL>
<LI>Die Videokarte sollte sich im Grafikmodus befinden (Ich schreibe einfach <B>sollte</B>,
weil ich es im Textmodus getestet habe - es l<>uft, hat aber eine h<>ssliche Ausgabe ;) Benutze
AAlib f<>r das).<BR>
<I>Hinweis: Jederman kann dies ausprobieren, indem er den Moduswechsel im vo_vesa Treiber
auskommentiert.</I></LI>
<LI><B>MPlayer</B>'s Videoausgabe-Treiber sollte den aktiven Videomodus kennen und f<>hig sein,
dem VIDIX subdevice einige Videocharakteristiken des Servers mitzuteilen.</LI>
</UL>
<P>Ich hoffe, dass praktisch jeder Videoausgabetreiber von <B>MPlayer</B> das <CODE>:vidix</CODE>
subdevice erkennen wird.</P>
<P><B><I>GEBRAUCHSMETHODEN</I></B></P>
<P>Wenn VIDIX als ein <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) verwendet
wird, dann wird die Videomodus-Konfiguration vom Videoausgabe-Ger<65>t erledigt werden
(kurz gesagt: <B>vo_server</B>). Du kannst desshalb in der Kommandozeile von
<B>MPlayer</B> die gleichen Optionen wie f<>r den vo_server verwenden. Zus<75>tzlich
versteht es die Option <CODE>-double</CODE> als einen global sichtbaren Parameter.
(Ich empfehle diese Option mit VIDIX wenigstens f<>r ATI's Karten zu verwenden).<BR>
<CODE>-vo xvidix</CODE> betreffend: Es erkennt momentan die folgenden Optionen:
<CODE>-fs -zoom -x -y -double</CODE>.<BR></P>
<P>Du kannst auch den Treiber von VIDIX direkt als ein drittes Unterargument
in der Kommandozeile angeben:<BR><BR>
&nbsp;&nbsp;<CODE>mplayer -vo xvidix:mga_vid.so -fs -zoom -double datei.avi</CODE><BR>
oder<BR>
&nbsp;&nbsp;<CODE>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 datei.avi</CODE><BR><BR>
Aber dies ist gef<65>hrlich und du solltest es nicht tun. In diesem Falle wird der gegebene
Treiber erzwungen und das Ergebnis ist unvorhersehbar (es k<>nnte deinen Computer <B>einfrieren</B>).
Du solltest dies NUR tun, wenn du absolut sicher bist, dass es funktioniert und <B>MPlayer</B> es nicht
automatisch tut. Bitte informiere die Entwickler dar<61>ber. Der richtige Weg ist, VIDIX ohne
irgendwelche Argumente zu verwenden um die automatische Erkennung des Treibers zu aktivieren.</P>
<P>VIDIX ist eine sehr neue Technologie und es ist h<>chstwahrscheinlich, dass es
auf deinem System (OS=abc CPU=xyz) nicht funktioniert. In diesem Fall liegt die
einzige f<>r dich darin, es zu portieren (haupts<74>chlich libdha). Aber es besteht
die Hoffnung, dass es auf den Systemen laufen wird, auf denen X11 l<>uft.</P>
<P>Und die letzte <B>WARNUNG</B>: (un)gl<67>cklicherweise <B>MUST</B> du aufgrund des
direkten Hardwarezugriffs <B>ROOT</B> Privilegien besitzen um VIDIX zu ben<65>tzen.
Setze wenigstens das <B>SUID</B> bit auf den <B>MPlayer</B>.</P>
<P><B>VIDEO EQUALIZER</B></P>
<P>Dies ist ein Video-Equalizer, speziell f<>r Vidix implementiert. Du kannst ihn <20>ber entweder
mit den Tasten <B>1-8</B> verwenden wie in der Manpage beschrieben oder mit Kommandozeilenargumenten.
<B>MPlayer</B> erkennt folgende Optionen:</P>
<P>&nbsp;&nbsp;<CODE>-brightness</CODE> - verstellt die <B>HELLIGKEIT</B> der Videoausgabe.
Es ist nicht dasselbe, wie die Helligkeit an den Monitorschaltern oder am TV zu verstellen.
Es <20>ndert die Intensit<69>t der RGB-Komponenten des Videosignals von einem schwarzen bis zu
einem weissen Bildschirm.<BR>
&nbsp;&nbsp;<CODE>-contrast</CODE> - verstellt den <B>KONTRAST</B> der Videoausgabe.
Funktioniert <20>hnlich wie bei der Helligkeit.<BR>
&nbsp;&nbsp;<CODE>-saturation</CODE> - verstellt die <B>S<EFBFBD>TTIGUNG</B> der Videoausgabe.
Du kannst mit dieser Option eine Graustuffen-Ausgabe erhalten.<BR>
&nbsp;&nbsp;<CODE>-hue</CODE> - verstellt den <B>FARBTON</B> des Videosignals. Du kannst
mit dieser Option ein negatives Abbild der Farben der Bilder erhalten.<BR>
&nbsp;&nbsp;<CODE>-red_intensity</CODE> - verstellt die Intensit<69>t der <B>ROTEN</B>
Komponenten des Videosignals.<BR>
&nbsp;&nbsp;<CODE>-green_intensity</CODE> - verstellt die Intensit<69>t der <B>GR<EFBFBD>NEN</B>
Komponenten des Videosignals.<BR>
&nbsp;&nbsp;<CODE>-blue_intensity</CODE> - verstellt die Intensit<69>t der <B>BLAUEN</B>
Komponenten des Videosignals.</P>
<P>Jeder Parameter akzeptiert Werte von <B>-1000</B> bis <B>+1000</B>.<BR>
Die normale einstellung jedes Parameters ist <B>0</B>.</P>
<P><B>Hinweis:</B> Nicht jeder Treiber stellt eine Unterst<73>tzung f<>r jede dieser Funktionen zu Verf<72>gung.
Momentan unterst<73>tzt bloss <B>radeon_vid.so</B> vollst<73>ndiges Video-Equalizing.
Andere Treiber unterst<73>tzen nur diese Optionen nur teilweise.</P>
<P><B>Beispiele:</B><BR>
<CODE>mplayer -vo vesa:vidix -brightness -300 -contrast 200 dateiname.avi</CODE><BR>
oder<BR>
<CODE>mplayer -vo xvidix -red_intensity -50 -saturation 400 -hue 300 dateiname.vob</CODE></P>
<P><B><A NAME=2.3.1.16>2.3.1.16. Zr</A></B></P>
<P>Dies ist ein Ausgabetreiber (<CODE>-vo zr</CODE>) f<>r eine Anzahl von MJPEG
Aufnahme/Wiedergabe karten (getestet f<>r die DC10+ und Buz und es sollte f<>r die
LML33 und die DC10 gehen). Der Treiber l<>uft durch eine Enkodierung der Frames zu jpeg
und einer folgenden Sendung an die Karte. F<>r die jpeg Enkodierung wird die <B>libavcodec</B>
ben<EFBFBD>tzt und vorausgesetzt.</P>
<P>Dieser Treiber spricht zu den Kerneltreibern, welche auf
<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A> erh<72>ltlich sind.
Du must diese also erst zum Laufen bringen. Kompiliere <B>MPlayer</B> danach neu mit der Option
<CODE>--enable-zr</CODE>.</P>
<P>Einige Bemerkungen:</P>
<UL>
<LI>Starte oder Stope XawTV nicht w<>hrend der Wiedergabe,
es wird deinen Computer zum Absturz bringen. Es ist jedoch i.O. XawTV <B>ZUERST</B>
und <B>DANN</B> <B>MPlayer</B> zu starten. Warte danach bis <B>MPlayer</B> fertig ist und
stoppe <B>DANN</B> XawTV.</LI>
<LI>Dieser Treiber f<>gt <CODE>-zr*</CODE> zu den Kommandozeilen-Optionen. Die Erkl<6B>rung
dieser Optionen kann mit <CODE>-zrhelp</CODE> angezeigt werden. Es ist m<>glich, das
Eingangsframe zurechtzuschneiden (Die R<>nder abzuschneiden um die Geschwindigkeit zu erh<72>hen)
und andere Dinge zu tun.</LI>
<LI>Der Treiber nimmt die Daten im YV12 und YUY2 Format an. Das heisst, dass einige Codecs
nicht gehen. Einige alte VfW (Video f<>r Windows) Codecs, zum Beispiel,
sind inkompatibel mit diesem Treiber. Die Fehlermeldung, die du sehen wirst ist:
<CODE>Sorry, das angew<65>hlte video_out Ger<65>t ist inkompatibel mit diesem Codec.
</CODE></LI>
<LI>OSD ist momentan nicht unterst<73>tzt. Du kannst also keine Untertitel sehen.</LI>
</UL>
<P><B><A NAME=2.3.1.A>2.3.1.A. TV-Out Unterst<73>tzung</A></B></P>
<P><B><A NAME=2.3.1.A.1>2.3.1.A.1. Matrox G400 Karten</A></B></P>
<P>Unter Linux hast du 2 Methoden den G400 TV Ausgang zum Laufen zu bringen:</P>
<P><B>WICHTIG:</B> Nur Matrox G400DH/G400MAX hat TV-out Unterst<73>tzung unter Linux, andere
(G450, G550) haben dies <B>NICHT!</B></P>
<UL>
<LI><B>XFree86</B>: Verwende dazu den Treiber und das HAL-Module von <A HREF="http://www.matrox.com">Matrox</A>,
so wirst du Dual-Head-Unterst<73>tzung erhalten und es wird m<>glich sein den 2. Ausgang am TV zu nutzen.<BR>
<B>Diese Methode gibt dir keine beschleunigte Wiedergabe</B> wie unter Windows!
Der 2. Ausgang hat bloss YUV framebuffer, der <I>BES</I> (Back End Scaler, den YUV Skalierer auf den
G200/G400/G450/G550 Karten) funktioniert nicht mit ihm! Die Windows-Treiber k<>nnen das Problem irgendwie <20>bergehen,
wahrscheinlich durch die Benutzung des 3D-Engines zum zoomen und dem YUV framebuffer zum darstellen
des gezoomten Bildes. Wenn du wirklich X verwenden m<>chtest, benutze die <CODE>-vo x11 -fs -zoom</CODE> Option.
Es wird jedoch <B>LANGSAM</B> sein und hat einen <B>Macrovision</B> Kopierschutz aktiviert. Also wird
es nur bei einem direkt verbunden TV funkionieren, nicht bei einem VCR.
(Du kannst den Macrovision umgehen indem du <A HREF="http://avifile.sourceforge.net/mgamacro.pl">dieses</A> Perl
Skript verwendest.)</LI>
<LI><B>Framebuffer</B>: ben<65>tzt das <B>matroxfb Module</B> in den 2.4 Kernels.
2.2 Kernels haben dieses TVout Feature nicht integriert, sind also unbrauchbar f<>r dies.
Du musst dazu ALLE matroxfb-spezifischen Features aktiviert haben (ausser MultiHead)
und als <B>Module</B> kompilieren! I2C muss auch aktiviert sein.
<UL>
<LI>
Gehe ins Verzeichnis <CODE>TVout/matroxset</CODE> und gib <CODE>make</CODE> ein. Installiere
<CODE>matroxset</CODE> irgendwo in deinem PATH.</LI>
<LI>
Wenn du kein <CODE>fbset</CODE> installiert hast, gehe ins Verzeichnis
<CODE>TVout/fbset</CODE> and gib <CODE>make</CODE> ein. Installiere
<CODE>fbset</CODE> irgendwo in deinem PATH.</LI>
<LI>
Gehe danach ins <CODE>TVout/</CODE> Verzeichniss im <B>MPlayer</B>
Source, und f<>hre <CODE>./modules</CODE> als root aus. Deine Textmode-Konsole geht in den
Framebuffer-Modus <20>ber (kein weg zur<75>ck!).</LI>
<LI>Als n<>chstes, f<>hre das <CODE>./matroxtv</CODE> Script aus. Dies wird dir ein sehr einfaches
Menu pr<70>sentieren. Dr<44>cke <B>2</B> und <B>ENTER</B>. Nun solltest du dasselbe Bild auf deinem Monitor
und TV haben. Die <B>3.</B> Option aktiviert eine unabh<62>ngige Ausgabe. Aber dann <B>kannst du X nicht benutzen</B>!
Wenn das TV (PAL!) Bild einige seltsame Streifen darauf hat, war das Script nicht f<>hig die Aufl<66>sung
richtig zu setzen (zu 640x512 als Standard). Benutze zuf<75>llig irgendwelche andere Optionen und es wird wieder OK :)</LI>
</UL>
<P>Die n<>chste Aufgabe ist den Cursor auf tty1 (oder wo auch immer) zum verschwinden zu bringen und
das blinken zu deaktivieren. F<>hre folgendes Kommando aus:</P>
<P><CODE>echo -e '\033[?25l'</CODE> oder <CODE>setterm -cursor off<BR>
setterm -blank 0</CODE></P>
<P>Du willst wahrscheinlich das obrige in ein Skript tun und auch den Bildschirm l<>schen...
Um den Cursor schwarz zu machen: <BR><CODE>echo -e '\033[?25h'</CODE>
oder <CODE>setterm -cursor on</CODE></P>
<P>Starte nun einen Film mit <CODE>mplayer -vo mga -fs -screenw 640
-screenh 512 &lt;dateiname&gt;</CODE><BR>
(wenn du X verwendest, <20>ndere zu matroxfb mit z.B. CTRL-ALT-F1!)<BR>
<20>ndere die Aufl<66>sung zu 640x512.<BR>
<B>Geniesse die ultra-schnelle ultra-bef<65>higte Matrox TV-Ausgabe (besser als Xv)!</B></P>
</LI>
</UL>
<P><B><A NAME=2.3.1.A.2>2.3.1.A.2. ATI Karten</A></B></P>
<P><B><U>EINLEITUNG</U></B><BR>
ATI will momentan keine ihrer TV-out Chips unter Linux unterst<73>tzen, auf Grund
ihrer lizenzierten Macrovision Technologie.</P>
<P><B><U>STATUS DER ATI TV-OUT KARTEN UNTER LINUX</U></B></P>
<UL>
<LI><B>ATI Mach64</B>: unterst<73>tzt von <A HREF="http://gatos.sf.net">gatos</A>.</LI>
<LI><B>ASIC Radeon VIVO</B>: unterst<73>tz von <A HREF="http://gatos.sf.net">gatos</A>.</LI>
<LI><B>Radeon</B> und <B>Rage128</B>: unterst<73>tzt von <B>MPlayer</B>!
Es sollte die <a href="#2.3.1.12">VESA Treiber</a> und <A HREF="#2.3.1.15">Vidix</A>
Sektion <20>berpr<70>ft werden.</LI>
</UL>
<P>Auf anderen Karten sollten bloss die <A HREF="#2.3.1.12">VESA Treiber</A>, ohne
Vidix verwendet werden. Es wird jedoch eine leistungsf<73>hige CPU ben<65>tigt.</P>
<P>Das einzige, was zu tun ist - <B>den TV Stecker eingesteckt haben, bevor man
den PC bootet</B>, da das Video BIOS sich nur einmal w<>hrend der POST Prozedur
initialisiert.</P>
<P><B><A NAME=2.3.1.A.3>2.3.1.A.3. Voodoo 3</A></B></P>
<P><EFBFBD>berpr<EFBFBD>fe <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">diese URL</A>.</P>
</BODY>
</HTML>