view DOCS/German/video.html @ 2258:160c61537d95

i've to less time in school to fix all in one
author jaf
date Thu, 18 Oct 2001 17:48:43 +0000
parents 156cb1809d72
children 69157262ca34
line wrap: on
line source

<HTML>
<BODY BGCOLOR=white>

<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>

<P><B><A NAME=2.2.1>2.2.1. Video Ausgabe-Geräte</A></B></P>

<TABLE BORDER=0>

<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Allgemein:</B></P></TD><TR>

<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>x11</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>X11 mit optionaler SHM Erweiterung</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>xv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>X11, unter Verwendung oder Overlays mit der Xvideo Erweiterung (hardwarehäßiges YUV & Scaling)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>gl</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OpenGL Renderer, funktioniert nur mit:
<UL><LI>allen Karten mit Utah-GLX
<LI>Matrox Karten mit X/DRI >=4.0.3
<LI>Radeon mit X/DRI CVS</UL></TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>dga</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>X11 DGA Erweiterung</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>fbdev</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Ausgabe zu allgemeinen Framebuffern</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>svga</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Ausgabe zu SVGAlib</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>sdl</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
&nbsp;&nbsp;<CODE>1.1.7:</CODE> unterstützt Software-Scaling<BR>
&nbsp;&nbsp;<CODE>1.1.8:</CODE> unterstützt Xvideo (hardaremäßiges Scaling/Vollbild)<BR>
&nbsp;&nbsp;<CODE>1.2.0:</CODE> unterstützt AAlib (-vo aa ist sehr empfohlen, siehe unten!)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ggi</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>vergleichbar mit SDL</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aa</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Textmodus-Rendering mit AAlib</TD><TR>

<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Kartenspezifisch:</B></P></TD><TR>

<TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>mga</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Matrox G200/G400 Hardware-YUV-Overlay via mga_vid-Device</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>xmga</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Matrox G200/G400 Overlay (mga_vid) in X11 Fenster<BR>
(<I>Xv Emulation auf X 3.3.x !</I>)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>syncfb</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Matrox G400 YUV Unterstützung auf Framebuffer (verwende besser mga/xmga)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>3dfx</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Voodoo 3 / Banshee Hardware YUV (/dev/3dfx) Unterstützung (noch nicht getestet, möglicherweise keine Funktion)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>tdfxfb</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Voodoo 3 / Banshee Hardware YUV auf tdfx-Framebuffer (funkioniert!)
</TD><TR>

<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Speziell:</B></P></TD><TR>

<TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>png</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>PNG-Datei Ausgabe (-z Parameter um die Kompression einzustellen)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>pgm</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>PGM-Datei Ausgabe (für Testzwecke oder ffmpeg-Encoding)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>md5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>MD5sum Ausgabe (für MPEG Tests)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>odivx</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OpenDivX AVI-Datei Ausgabe (-br um die Bitrate einzustellen) (<B>OHNE SOUND</B>)</TD><TR>
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>null</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Null Ausgabe (für Geschwindigkeitsmessungen/Benchmark)</TD><TR>
</TABLE>

<P>HINWEIS: <I>prüfe die folgende Untersektion für Details und Voraussetzungen!</I></P>


<P><B><A NAME=2.2.1.1>2.2.1.1. MTRR</A></B></P>

<P>Es ist SEHR zu empfehlen, dass man die MTRR Register aktiviert, denn sie
können eine großen Geschwindigkeits-Schub bringen.

<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<BR>
</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>

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>

<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>durch /proc/pci (verwende lspci -v Befehl):
<P><CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525<BR>
Memory at d8000000 (32-bit, prefetchable)</CODE></P></CODE>
<LI>durch die mga_vid Kerneltreiber-Meldungen (verwende dmesg):
<P><CODE>mga_mem_base = d8000000</CODE></P>
</UL></P>

<P>So, nun gilt es die Speichergröße finden. Dies ist sehr einfach, rechne
einfach die Video-RAM-Größe ins Hexdezimal oder verwende diese Tabelle:</P>

<TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD><TR>
<TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD><TR>
<TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD><TR>
<TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD><TR>
<TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD><TR>
<TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD><TR>
</TABLE>


<P>Du weisst die Base-Adresse und die Speichergröß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ützen MTRRs. Zum Beispiel ältere K6-2's [z.B. 266Mhz,
stepping 0] unterstützen kein MTRR, aber stepping 12 CPUs tuen es
('<CODE>cat /proc/cpuinfo</CODE>' um zu überprüfen').</P>

<P><B><A NAME=2.2.1.2>2.2.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'. Das es funktioniert, prüfe folgendes:</P>
<P><UL>
<LI>Du verwendest XFree86 4.0.2 oder neuer (frühere Versionen haben kein
XVideo)
<LI>Deine Karte unterstützt Hardwarebeschleunigung (die meisten aktuellen
tuen dies)
<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>Deine Karte hat Xv Unterstützung unter Linux. Um es zu überprüfen, tippe
'xvinfo', es ist ein Teil der XFree86 Distribution. Es sollte einen langen Text
anzeigen, vergleichbar mit diesem:
<PRE><CODE>
&nbsp;&nbsp;X-Video Extension version 2.2
&nbsp;&nbsp;screen #0
&nbsp;&nbsp;Adaptor #0: "Savage Streams Engine"
&nbsp;&nbsp;  number of ports: 1
&nbsp;&nbsp;  port base: 43
&nbsp;&nbsp;  operations supported: PutImage 
&nbsp;&nbsp;  supported visuals:
&nbsp;&nbsp;    depth 16, visualID 0x22
&nbsp;&nbsp;    depth 16, visualID 0x23
&nbsp;&nbsp;  number of attributes: 5
&nbsp;&nbsp;(...)
&nbsp;&nbsp;  Number of image formats: 7
&nbsp;&nbsp;    id: 0x32595559 (YUY2)
&nbsp;&nbsp;      guid: 59555932-0000-0010-8000-00aa00389b71
&nbsp;&nbsp;      bits per pixel: 16
&nbsp;&nbsp;      number of planes: 1
&nbsp;&nbsp;      type: YUV (packed)
&nbsp;&nbsp;    id: 0x32315659 (YV12)
&nbsp;&nbsp;      guid: 59563132-0000-0010-8000-00aa00389b71
&nbsp;&nbsp;      bits per pixel: 12
&nbsp;&nbsp;      number of planes: 3
&nbsp;&nbsp;      type: YUV (planar)
&nbsp;&nbsp;(...usw...)
</PRE>

<P>Es muss YUY2 gepackte und YV12 planar Pixelformate unterstützen, um
hilfreich für <B>MPlayer</B> zu sein.</P>

<LI>Zum Schluss prüfe, ob <B>MPlayer</B> mit 'xv' Unterstützung kompiliert wurde.
./configure zeigt an, ob es eingebaut wurde.

</UL></P>

<P><B><A NAME=2.2.1.2.1>2.2.1.2.1. 3dfx Karten</A></B></P>

<P>Bei älteren 3dfx Treibern sind bekannt, dass sie Probleme mit der XVideo Beschleunigung
machen und dass der Treiber unterstützt weder YUY2 noch YV12. Prüfe ob du XFree86
Version 4.1.0 oder neuer hast, da funktioniert es. Alternativ kannst auch auch 
<A HREF="http://dri.sourceforge.net">DRI</A> CVS verwenden.
Wenn du eigenartige Effekte bei der Verwendung von -vo xv siehst, versuche SDL (es
unterstützt auch XVideo) und prüfe ob es funkioniert. Siehe <A HREF="#2.2.1.4">SDL Sektion</A>
für Details.</P>

<P><B>Oder</B> versuche den NEUEN -vo tdfxfb -Treiber! Siehe <A HREF="#2.2.1.9">Sektion
2.2.1.9</A>!</P>

<P><B><A NAME=2.2.1.2.2>2.2.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 bei S3 Virge.. verkaufe sie.</P>

<P><B><A NAME=2.2.1.2.3>2.2.1.2.3. nVidia Karten</A></B></P>

<P>nVidia ist keine gute Wahl für Linux.. Du musst dazu den binären nVidia-
Treiber, verfügbar auf der nVidia Website, verwenden. Der Standard X-Treiber
unterstützt kein XVideo für diese Karten, aufgrund der von nVidia geschlossenen
Sources/Spezifikationen.</P>

<P><UL><LI>Riva128 Karten haben keine XVideo Unterstützung, auch nicht mit dem
nVidia-Treiber :(
Wende dich an NVidia.</UL></P>


<P><B><A NAME=2.2.1.2.4>2.2.1.2.4. ATI Karten</A></B></P>

<P>
<LI>Beim GATOS Treiber (den du verwenden solltest)
ist VSYNC standardgemäß 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. Keine TV-Out Unterstützung.</LI>
</P>


<P><B><A NAME=2.2.1.2.5>2.2.1.2.5. NeoMagic Karten</A></B></P>

<P>
Diese Karte kann man in vielen Laptops finden. Unter Linux ist deren
Höchstleistung leider nur DGA. Unglücklichweise funktioniert der DGA-Treiber in
X 4.1.0 nicht, also musst du auf 4.2.0 warten oder den modifizierten Treiber für
4.0.3 oder 4.1.0 von hier downloaden: <A HREF="http://www.mplayerhq.hu/MPlayer/incoming/NeoMagic-driver">http://www.mplayerhq.hu/MPlayer/incoming/NeoMagic-driver</A>
(hier findet man auch einen Patch für die Treiber-Sourcen).<BR>
Treiber wurden bereitgestellet von <A HREF="mailto:tomee@cpi.pl">Tomek Jarzynka</A>.
<P>


<P><B><A NAME=2.2.1.3>2.2.1.3. DGA</A></B></P>

<P><B><A NAME=2.2.1.3.1>2.2.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 MPlayer alles machen kann
(und was es nicht kann).</P>


<P><B><A NAME=2.2.1.3.2>2.2.1.3.2. Was ist DGA</A></B></P>

<P>DGA ist die Abkürzung für Direct Graphics Access (Direkter Grafik-Zugriff)
und bedeutet für ein Programm, das es den X-Server überbrückt und direkt den
Framebuffer-Speicher ä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ü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ützt nur den direkten Framebuffer-Zugriff, wie oben beschrieben.
Für das Ändern der Farbtiefe eines Video-Signals muss man auf die XVidMode
Erweiterung zurückgeifen.</P>

<P>DGA2 arbeitet mit dem Feature der XVidMode Erweiterung zusammen und erlaubt
auch das Ändern der Farbtiefe. So kannst du dem XServer allgemein auf einer
32 Bit Auflö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ängig vom Grafik-Chip ist und von der Implementation des XServer Video-Treibers,
welcher den Chip kontrolliert. Also funktioniert es nicht auf jedem System ...</P>


<P><B><A NAME=2.2.1.3.3>2.2.1.3.3. Installation der DGA Unterstützung für MPlayer</A></B></P>

<P>Als erstes prü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ö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;<CODE>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.2.1.3.4>2.2.1.3.4. Änderung der Auflösung</A></B></P>

<P>Der DGA Treiber erlaubt das Ändern der Auflösung des Ausgabe-Signals. Es erspart
die Verwendung von (langsamem) softwaremäßigem Scaling und ermöglicht zur
selben Zeit Vollbild-Grafiken. Ideal wäre es, wenn man auf die genaue Auflösung
des Videos (würde die richtige Rate voraussetzen) schalten könnte, aber der XServer
erlaubt nur das Änderen in eine Auflö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ängig. Der XServer 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.2.1.3.5>2.2.1.3.5. DGA &amp; MPlayer</A></B></P>

<P>DGA wird in zwei Plä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ären, wie
der DGA-Treiber für <B>MPlayer</B> funktioniert.</P>

<P><B><A NAME=2.2.1.3.6>2.2.1.3.6. Features des DGA-Treibers</A></B></P>
 
<P>Der DGA Treiber wird durch die -vo dga Option auf der Komandozeile ausgewählt.
Das normale Verhalten ist, dass der DGA-Treiber die Auflösung so weit
wie möglich an das Video anzupassen. Es ignoriert die -vm und -fs Optionen (für
Videomodus-Änderung und Vollbild) - es versucht immer so viel Fläche wie möglich
durch Ändern des Videomodus zu nutzen, dies erspartet eine zusätzliche Verwendung
der CPU um das Bild zu vergrößern/verkleinern.
Wenn dir der Modus, den der Treiber gewählt hat, nicht gefällt, kannst du mit -x
und -y Option einen auswählen, der besser passt. 
Mit der -v Option wird der DGA Treiber - neben vielen anderen Dingen - eine
Liste der Auflösungen, die von deiner aktuellen XF86-Config Datei unterstü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ützt werden oder ob sie (was
möglichweise langsam ist) konvertiert werden müssen.</P>
 
<P>Wenn du genug Glück hast und genug Offscreen-Speicher übrig ist um eine
ganzes Bild darin zu speichern, wird der DGA Treiber "Doublebuffering" verwenden,
was ein flüssigeres Bild ermö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üllt.</P>

Doublebuffering kann man mit der Option -double ein- und mit der Option
-nodouble ausschalten. Zur Zeit ist die Standard-Option, dass der zusä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ßer Geschwindigkeitsnachteil sein (auf meinem
K6-II+ 525 verwerdet es zusätzliche 20% der CPU-Zeit!), abhängig von der
Implementation von DGA für eine Hardware.</P>
 
<P><B><A NAME=2.2.1.3.7>2.2.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ätzlichen Vorteils des
mö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ötigt wird um das Bild aufzubauen, nicht eingerechnet.
Logge dich via ein Terminal über eine serielle Verbindung in deine Box ein und
starte MPlayer 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ängig von der Grafikkarte und wie gut
das X-Server Modul dafü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ü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.2.1.3.8>2.2.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>

<P><UL>
<LI>mit XFree 4.0.3 und nv.o gibt es einen Bug, zu erkennen in eigenartigen Farben
<LI>ATI-Treiber erfordern mehrmaliges zurückschalten nach dem Abspielen mit DGA
<LI>einige Treiber schlagen Fehl bei dem Versuch zurück zur normalen Auflösung
zu schalten (verwende STRG-ALT-Keypad +, - um manuell zu schalten)
<LI>einige Treiber weisen kleine Farbfehler auf
<LI>einige Treiber lügen, im Bezug auf die Speichergröße für die Anwendung, dieses
DGA wird kein Doublebuffering verwenden (SIS?)
<LI>einige Treiber scheinen einen Fehler zu berichten, sie zeigen nur eine gültige
Auflösung an. In diesem Fall wird der DGA-Treiber abstützen, wenn er von einer
unsinnigen Auflösungung von 100000x100000 oder ähnlich berichtet ...
<LI>OSD funktioniert nur mit eingeschaltetem Doublebuffering
</UL></P>

<P><B><A NAME=2.2.1.3.9>2.2.1.3.9. Zukünftige Arbeiten</A></B></P>

<P><UL><LI>Verwendung des neuen X11 Rendering-Interfaces für OSD
<LI>Wo ist meine TODO Liste ???? :-(((</UL></P>


<P><B><A NAME=2.2.1.3.A>2.2.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 XServer Treibermodules.</P>


<P><B><A NAME=2.2.1.3.B>2.2.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 MPlayer 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.2.1.4>2.2.1.4. SDL</A></B></P>

<P>Hier findest du einige Hinweise über die SDL-Ausgabe in <B>MPlayer</B>.</P>

<P><TABLE BORDER=0>
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Es gibt einige Commandline-Optionen für SDL:</B></P></TD><TR>
<TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo sdl:name</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
wählt den zu verwendenden Video Treiber aus (z.B. aalib, dga, x11)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-ao sdl:name</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>wählt den zu verwendenden Audio Treiber aus (z.B. dsp,
esd, arts)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-noxv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>schaltet die Xvideo Hardwarebeschleunigung aus</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-forcexv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>versucht die Xvideo-Beschleunigung zu erzwingen</TD><TR>

<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>SDL-Tasten:</B></P></TD><TR>

<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>F</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>wählt Vollbild-/Fenster-Modus</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>C</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verfügbare Zyklen beim Vollbild-Modus</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>W/S</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>zusammenhängend mit * und / (Mixer-Kontrolle)</TD><TR>

</TABLE></P>

<P><B>BEKANNTE FEHLER:</B></P>
<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 ändern (getestet mit SDL 1.2.1).
</UL></P>

<P><B><A NAME=2.2.1.5>2.2.1.5. SVGAlib</A></B></P>

<P>Wenn du kein X hast, kannst du SVGAlib verwenden! Stelle sicher, dass du
nicht die -fs Option verwendest, da es Software-Scaling unterstützt, das nur 
sehr LANGSAM ist, ausser wenn du eine echt schnelle CPU (und/oder MTRR?) hast. :(</P>

<P>Natürlich musst du die svgalib und das Development-Paket installieren, damit
<B>MPlayer</B> seinen SVGAlib Treiber einbauen kann (wird automatisch erkannt, kann aber
erzwungen werden) und vergiss nicht die /etc/vga/libvga.config passend zu deiner
Karte und deinem Monitor zu editieren.</P>

<P><B><A NAME=2.2.1.6>2.2.1.6. Framebuffer Ausgabe (FBdev)</A></B></P>

<P>Ob die FBdev Unterstü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öglicherweise unterstützt deine Karte den VBE 2.0 Standard nicht (ältere ISA/PCI
Karten wie S3 Trio64), nur VBE 1.2 (oder älter?): Nun, VESAfb ist auch verfü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ätzliche Parameter verwendet werden:</P>

<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fb</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
spezifiziert den zu verwendenden Framebuffer (/dev/fd0)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmode</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Modus das verwendet werden soll (siehe /etc/fb.modes)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmodeconfig</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Konfigurationsdatei für das Modus (standard ist /etc/fb.modes)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>WICHTIGE Werte, siehe example.conf</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_vfreq</TD><TD></TD><TR>		
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_dotclock</TD><TD></TD><TR>
</TABLE></P>

<P>Wenn du zu einem speziellen Modus wechseln willst, verwende</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (NamedesModus) Dateiname</CODE></P>

<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ützt, wenn das Pixel-Format des Videos mit dem
Video-Modus übereinstimmt. 
Unter Beobachtung des bpp-Wertes, versucht der fbdev-Treiber den aktuellen oder
den mit der -bpp Option eingestellten Wert zu verwenden.
<LI><B>-zoom</B> Option wird nicht unterstützt (Software-Scaling ist langsam).
-fs Option wird nicht unterstützt. Du kannst keine Moduse mit 8bpp (oder weniger) 
verwenden.</UL></P>

<P>HINWEIS: FBdev Video-Modus-Änderungen _funktionieren nicht_ mit dem VESA
Framebuffer, also frage nicht danach, denn es ist keine <B>MPlayer</B> Beschränkung.</P>

<P><B><A NAME=2.2.1.7>2.2.1.7. Matrox Framebuffer (mga_vid)</A></B></P>

<P>Diese Abschnitt handelt über Matrox G200/G400/G450/G550 BES (Back-End Scaler)
Unterstützung, dem mga_vid Kernel-Treiber. Er wird von mir (A'rpi) aktiv entwickelt
und besitzt Hardware-VSYNC-Unterstützung mit dreifach-Buffering. Er funktioniert auf
Konsole oder auch unter X.</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ä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öße prü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öß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>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.2.1.8>2.2.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ä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.2.1.9>2.2.1.9. 3dfx YUV Unterstü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.2.1.10>2.2.1.10. OpenGL Ausgabe</A></B></P>

<P><B>MPlayer</B> unterstützt die Ausgabe von Videos über OpenGL. Unglücklicherweise
unterstützten nicht alle Treiber diese Fähigkeit. Zum Beispiel
haben es allen Karte mit Utah-GLX Treibern (für XFree86 3.3.6) Unterstützung.
Siehe <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
für Details für die Installation.</P>

<P>XFree86(DRI) >= 4.0.3 unterstützt nur Matrox und Radeon Karten.
Siehe <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> für Downloads
und Installtionsanweisungen.</P>

<P><B><A NAME=2.2.1.11>2.2.1.11. AAlib - Textmodus-Ausgabe</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ützen, wie Doom, Quake, usw. MPlayer enthält einen sehr gut brauchbaren
Treiber dafür.
Wenn ./configure erkennt, dass aalib installiert ist, wird der aalib libvo
Treiber eingebaut.</P>

<P><TABLE BORDER=0>
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Du kannst einige Tasten verwenden im AA Fenster, um Rendering-Optionen zu ändern:</B></P></TD><TR>
<TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>1</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verringert Kontrast</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>2</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>erhöht Kontrast</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>3</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verringert Schärfe</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>4</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>erhöht Schärfe</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>schaltet schnelles Rendern ein/aus</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>6</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>wählt das Farbmischungs-Modus (keine, error dithering, floyd steinberg)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>7</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>invertiert Bild</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>a</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>wechselt zwischen AA und MPlayer Kontrolle)</TD><TR>

<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Die folgenden Kommandozeilen-Optionen können verwendet werden:</B></P></TD><TR>

<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaosdcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ändert OSD-Farbe</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aasubcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ändert Untertitel-Farbe</TD><TR>
<TD COLSPAN=3></TD><TD><P><I><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>wobei V sein kann: (0/Normal, 1/Dunkel, 2/Fett, 3/Fettschift, 4/Rückwärts, 5/Spezial)</P></TD><TR>
	      
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>AAlib selbst unterstützt eine größe Summe von Optionen.
Hier einige wichtige:</P></B></TD><TR>

<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aadriver</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>setzt erforderlichen AA Treiber (X11, curses, linux)</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaextended</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verwende alle 256 Zeichen</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaeight</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verwendet acht-bit ASCII</TD><TR>
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aahelp</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>gibt alle AAlib-Optionen aus</TD><TR>
</TABLE></P>

<P>HINWEIS: Das Rendering ist sehr CPU-Intersiv, besonders bei AA-on-X (AAlib
Verwendung unter X) und brauch am wenigsten CPU-Leistung auf einer standard,
nicht-Framebuffer Konsole. Verwende SVGATextMode im ein großes Textmodus ein-
zustellen und geniese es! (Zweikopf (Dual Head) Hercules Karten rock :)) (kann
vielleicht irgendjemand bdev erweiteren, um Konversion/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ät bekommen, wenn du den Linux-Treiber, und nicht den Curses (-aadriver
linux) 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öglichkeit zu finden. Siehe <A HREF="http://aa-project.sourceforge.net/tune">http://aa-project.sourceforge.net/tune/</A> für
zusätzliche Tuning-Möglichkeiten.</P>

<P><B><A NAME=2.2.1.A>2.2.1.A. TV-Out Unterstützung</A></B></P>

<P><B><A NAME=2.2.1.A.1>2.2.1.A.1. Matrox Karten</A></B></P>

<P><I> Ich würde gerne MPlayer mit dem selben Feature sehen, wie auf meiner
Windows-Box. Wenn ich ein Video unter Windoes starte (als ein Fenster oder
in Vollbild) wird das Bild auch über TV-Out wiedergegeben und ich kann es auch
mit Vollbild auf meinem Fernseher sehen. Ich liebe diese Feature aber wir ich
war verwundet, wie schwer es sich einbauen ließe.</I></P>

<P>Dies ist eine Treiberbeschränkung. BES (Back-End Scaler, dies ist der
Overlay-Erzeuger und die YUV Scaling-Engine für G200/G400/G450/G550 Karte)
funitniert nur mit CRTC1. Normalerweise wird CRTC1 (Textmodus, jeder Farbtiefe
und BES) auf den Kopf1 (HEAD1) geroutet, und CRTC2 (nur 16/32bpp Grafiken) wird
auf den HEAD2 (TV-out) geroutet.</P>

<P>Unter Linux hast du 2 Möglichkeiten, dass der TV-Out funktioniert:</P>

<P><UL>
<LI>Verwende X 4.0.x + den HAL-Treiber von Matrox, so willst du Dual-Head-
Unterstützung erhalten und es wird möglich sein den 2. Ausgang zum TV zu
bringen. Unglücklichweise hat es die Macrovision Verschlüsselung aktiviert,
also wird es nur bei einem direkt verbunden TV funkioniert, nicht bei einem
VCR. Ein anderes Problem ist, dass Xv auf dem 2 Head nicht funkioniert.
(ich weiss nicht, wie Windows das Problem löst, möglichweise vertauscht es
die CRTCs zwischen den Köpfen oder verwendet nut YUV Framebuffer vom 2. DAC mit
einigen Tricks)
<LI>Verwende matroxfb mit eingeschalteter Dual-Head Unterstützung (2.4.x 
Kernel). So wird es möglich sein eine Framebuffer Konsole (Verwendung von CRTC2,
also ist es langsam) und TV-Out (Verwendung von CRTC1, mit BES-Unterstützung).
Jedoch kannst du X vergessen, während du diese Art von TV-Out verwendest! :(
</UL></P>

<P>Folge diesen Anweisungen:</P>

<P><UL>
<LI>Kompiliere alle sich auf Matrox beziehende Treiber als Module für den Ker-
nel. (du MUSST sie als Module kompilieren, zumindest ich konnte bisher nicht
zum Funktionieren bringen, wenn es eingebaut war im Kernel)
[starte mit dem neuen Kernel & install modules, aber lade sie nicht!]
<P><CODE>
&nbsp;&nbsp;cd TVout<BR>
&nbsp;&nbsp;./compile.sh</CODE></P>
<LI>Start den 'modules' Script von TV-Out Verzeichnis von MPlayer.
Es wird deine Konsole zum Framebuffer machen.
Welchsle auf tty1 (ALT+F1)!
Nun start den Script 'independent', es wird deine ttys einstellen:
<P>tty 1,2:      fb Konsole, CRTC2, Head 1 (Monitor)<BR>
tty 3,4,5...: Framebuffer+BES, CRTC1, Head 2 (TV-Out)</P>
Du solltest die TV-* und Mon-* Scripts starten um die Auflösung einzustellen:
<P>wechsle auf tty1 (ALT+F1) und starte Mon-* (eines davon)<BR>
wechsle auf tty3 (ALT+F3) und zurück auf tty1 (ALT+F1)</P>
(dies wird tty3 auf /dev/fb1 auswählen)<BR>
<P>starte TV-* (eines davon)</P>
(nun wirst du eine Konsole auf deinem PAL-Fernseher bekommen - ich weiss nichts
über NTSC)
<P>Wenn du nun MPlayer (auf tty1) startst, wird das Bild auf tty3 angezeigt,
also wirst du es auf dem Fernseher oder dem 2. Monitor sehen.</P>
</UL></P>

<P>Ja, es ist zur Zeit noch ein "hack". Aber ich warte, dass das Marvel-Projekt
fertig gestellt wurde. Es wird eine richtigen TV-Out Treiber enhalten, hoffe
ich.</P>

<P>Zur Zeit ist mein Problem das BES nur mit CRTC1 funktioniert. Also wird das
Bild immer auf dem Kopf, der auf CRTC1 (normalerweise der Monitor) geroutet
ist, darum muss man auch die CRTCs vertauschen, aber dabei wird deine Konsole
ein Framebuffer (CRTC2 kann kein Textmode) und ein bisschen schnell (keine
Beschleunigung). :(</P>

<P><I>Irgendwie bekomme ich nur eine Schwarz-Weiss Ausgabe am Fernseher ...</I>
Hast du vielleicht einen NTSC Fernseher? Oder hast du vielleicht nicht einen der
TV-* Scripts laufen lassen?</P>

<P><B><A NAME=2.2.1.A.2>2.2.1.A.2. ATI Karten</A></B></P>

<P>
<B>Einige Worte über ATI's TV-Out:</B><BR>
Zur Zeit will ATI keine Unterstützt für TV-Out Chipsets unter Linux. Hier ist die
offzielle Antwort von ATI Inc.:

<P>
<CODE>
<I>
<BR>&gt; Hallo!
<BR>&gt;
<BR>&gt; Auf eurer Seite steht, dass ihr Linux-Entwickler unterstützt.
<BR>&gt; Zur Zeit beteilige ich mich am MPlayer Projekt (www.mplayerhq.hu).
<BR>&gt; Ich bin interessiert am Einschalten des TV-Outs bei Radeon VE-Chips während
<BR>&gt; Video-Wiedergabe. Ich würde dieses Feature dem radeonfb-Treiber hinzufügen
<BR>&gt; (kann man im CVS-Tree vom MPlayer-Projekt unter main/drivers/radeon finden).
<BR>&gt; Ich hab eine Chance eine offizielle Dokumentation zu erhalten?
</I>
<BR>Wir können aufgrund des Macrovision-Konzern keine Dokumente im Bezug auf TV-Out
<BR>hergeben. Auf das MPEG2-Decoding ist etwas das wir MÖGLICHWEISE in der Zukunft
<BR>erwägen, aber nicht zur Zeit. Dies ist ebenfall aufgrund einen Eigentümer und einer
<BR>3. Partei.
</CODE>
</P>

<P>Bemitleidenswert, nicht?</P>

<P>
<CODE>
<B>Q:Was ist Macrovision?</B><BR>
A:Es ist ein Kopierschutz-Mechanismus.</CODE>
</P>

<P>Dies bedeutet, wenn sie die TV-Out anbelangenden Informationen veröffentlichen, dass
Hacker es ermöglicht werden könnte, den Kopierschutz ihrer Chips zu umgehen. Deshalb gibt
es keine Möglichkeit den TV-Out bei ATI-Karten zu aktivieren.</P>

<P>Wie ist der Status von ATI TV-Out-Chips unter Linux:
<LI><B>ATI Mach64</B> verwendet <I>ImpacTV</I>, welcher von Gatos unterstützt wird.
<LI><B>ASIC Radeon VIVO</B> verwendet <I>Rage Theatre</I>, welcher von Gatos unterstützt wird.
<LI><B>Radeon VE</B> und <B>Rage PRO LT</B> verwenden <I>ImpacTV2+</I>, welcher unter Linux nicht
unterstützt wird.</P>

<P>
Von anderen Seite gesehen können wir eine Change haben den TV-Out Support durch die
<B>VESA-Treiber</B> auf x86 Systemen zu aktivieren, habe seit Linux auch <I>vm86 syscall</I>
beschränkt hat, ist praktisch unerreichbar. Nun bildet ein Zugriff auf einen IO-Raum eine
Ausnahme und der Treiber versucht VESA-Befehle zu emulieren anstatt die als normale int_10h
zu verwenden.
</P>

</P>

</BODY>
</HTML>