mirror of
https://github.com/mpv-player/mpv
synced 2024-12-18 04:45:33 +00:00
e4faddd39a
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2641 b3059339-0415-0410-9bf9-f77b7e298cf2
850 lines
47 KiB
HTML
850 lines
47 KiB
HTML
<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>
|
|
<CODE>1.1.7:</CODE> unterstützt Software-Scaling<BR>
|
|
<CODE>1.1.8:</CODE> unterstützt Xvideo (hardaremäßiges Scaling/Vollbild)<BR>
|
|
<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></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>vesa</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Ausgabe durch das VESA BIOS</TD><TR>
|
|
|
|
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Kartenspezifisch:</B></P></TD><TR>
|
|
|
|
<TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>mga</TD><TD> </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> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>png</TD><TD> </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> </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> echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /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> (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>
|
|
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ü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
|
|
(aber schaue auf die <A HREF="video.html#2.2.1.12">VESA Sektion</A>).</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/contrib/NeoMagic-driver">http://www.mplayerhq.hu/MPlayer/contrib/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> <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>
|
|
chown root /usr/local/bin/mplayer<BR>
|
|
chmod 750 /usr/local/bin/mplayer<BR>
|
|
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 & 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> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo sdl:name</TD><TD> </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> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fb</TD><TD> </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> 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>
|
|
<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.</LI>
|
|
<LI>Wenn du deinen Curser ausschalten willst:: <CODE>echo -e '\033[?25l'</CODE><BR>
|
|
und den Bildschirmschoner: <CODE>setterm -blank 0</CODE><BR>
|
|
Um den Curser wieder anzuzeigen: <CODE>echo -e '\033[?25h'</CODE>
|
|
</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> cd drivers<BR>
|
|
make</CODE></P>
|
|
|
|
<P>Dann erstelle das /dev/mga_vid Gerät:</P>
|
|
|
|
<P><CODE> mknod /dev/mga_vid c 178 0</CODE></P>
|
|
|
|
<P>und laden den Treiber mit</P>
|
|
|
|
<P><CODE> 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> 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> alias char-major-178 mga_vid</CODE></P>
|
|
|
|
<P>Dann starte</P>
|
|
|
|
<P><CODE> 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> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>1</TD><TD> </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
|
|
unter X) und benötigt am wenigsten CPU-Leistung auf einer standard,
|
|
nicht-Framebuffer Konsole. Verwende SVGATextMode im ein groß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ät bekommen, wenn du den Linux-Treiber (-aadriver linux) und nicht den
|
|
Curses-Teiber verwendest. Aber dazu brauchst du Scheibzugriff auf/dev/vcsa<terminal>!
|
|
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.12>2.2.1.12. VESA - output to VESA BIOS</B></P>
|
|
<P>
|
|
Dieser Treiber wurde <B>als allgemeiner Treiber</B>entworfen und eingeführt, für jede
|
|
Grafikkarte, die ein VESA VBE 2.0 kompatibles BIOS besitzt. Aber es gibt nur einen Grund
|
|
für die Entwicklung dieses Treibers - die vielseiten Probleme bei der Wiedergabe am TV.<BR>
|
|
<B>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998</B> (Seite 70) sagt:
|
|
</P>
|
|
<P>
|
|
<CODE><I>
|
|
<B>Dual-Controller Aufbau</B><BR>
|
|
VBE 3.0 unterstü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ä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ück, inklusive einer Liste der
|
|
verfügbaren Modusse. Wenn eine Anwendungen einen Modus auswählt wird der entsprechende
|
|
Kontroller aktiviert. Alle verbleibenden VBE-Funktionen werden dann auf dem aktuellen Kontroller
|
|
ausgeführt.
|
|
</i></code>
|
|
</P>
|
|
|
|
<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änkt.)
|
|
</P>
|
|
|
|
<P>
|
|
<B>Was sind die Vorteile:</B><BR>
|
|
- Du hast Chance Videos zu sehen, <B>auch wenn Linux nicht mal weiss</B>, welche Grafikkarte du hast.<BR>
|
|
- Du brauchst dazu auf deinem Linux keine anderen grafikabhängenden Sachen (wie X11 (XFree86),
|
|
fbdev usw.). Dieser Treiber kann vom <b>Textmodus</b> aus betrieben werden.<BR>
|
|
- Du hast Chancen den <b>TV-Out einzuschalten</b>. (Bis jetzt nur von ATI-Karten bekannt).<BR>
|
|
- Dieser Treiber verwendet <b>int 10h</b> Handler, das heisst es ist kein Emulator - es ruft
|
|
<B>echte</B> Befehle des <b>echteb</b> BIOS im <b>Real</b>-Mode aus. (im vm86 Modus).<BR>
|
|
- Am wichtigesten :) Du kannst <b>DVD mit 320x200</b> ansehen ohne einer leistungsfähigen CPU.<BR>
|
|
</P>
|
|
|
|
<P>
|
|
<B>Was sind die Nachteile:</B><BR>
|
|
- Es funktioniert nut auf <B>x86 Systemen</B>.<BR>
|
|
- <B>Es ist der langsamste Treiber</B> von allen verfügbaren für MPlayer.<BR>
|
|
- Es kann nur als <B>ROOT</B> verwendet werden.<BR>
|
|
- Zur Zeit ist es nur für <B>Linux</B> verfügbar.<BR>
|
|
- Es <B>verwendet keine Hardwarebeschleunigung</B> (wie YUV-Overlay oder HW-Scaling).<BR>
|
|
</P>
|
|
|
|
<P>
|
|
<TABLE BORDER=0>
|
|
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Diese Commandline-Parameter sind zur Zeit verfügbar für VESA:</B></P></TD><TR>
|
|
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo vesa:opts</TD><TD> </TD><TD>
|
|
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>wird bald implementiert werden. (Du kannst damit Parameter wie Wiederholrate, Interlacing, Doublescan und so weiter einstellen. Beispiele: i43, 85, d100)</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-screenw, -screenh, -bpp</TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>verwendet von Anwender definierte Modie</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-x, -y</TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>setzt Prescaling-Auflösung</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-zoom</TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aktiviert Prescaling</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fs</TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Vollbild-Scaling</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fs -zoom</TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Vollbild-Scaling des prescalten Bildes</TD><TR>
|
|
</TABLE>
|
|
</P>
|
|
|
|
<P>
|
|
<b>Bekannte Probleme und Workarounds:</b><br>
|
|
- 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 MPlayer 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 Loklisieren von fbdev verwendet).<br>
|
|
- 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.<br>
|
|
- Oftmals bekommt man nach dem Beenden des VESA-Treiber einen <b>schwarzen Bildschirm</b>. Um
|
|
zurück zum normalen Modues zu kommen - wechlse einfach auf auf eine andere Konsole (durch das
|
|
Drücken von <b>Alt-Fx</b>) und das Anschließende zurückschalten auf die vorherige Konsole auf die
|
|
gleiche Art.<br>
|
|
- Um einen <B>funktionierenden TV-out</b> zu bekommen musst du deine TV vor dem Starten des
|
|
PCs anschließden, denn das Video-BIOS inizialisiert es während des POST-Vorganges.
|
|
</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 bei MPlayer die selben Feature haben wie auf meiner
|
|
Windows-Box. Wenn ich ein Video unter Windows starte (in einem 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 ich
|
|
war verwundert, wie schwer es einzubauen ist.</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)
|
|
funktioniert 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 wirst du Dual-Head-Unterstützung
|
|
erhalten und es wird möglich sein den 2. Ausgang am TV zu nutzen. Unglücklichweise hat
|
|
es eine 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 den 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) anzuzeigen.
|
|
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 beziehenden Treiber als Module für den Kernel.
|
|
(du MUSST sie als Module kompilieren, zumindest ich konnte bisher nicht
|
|
zum Funktionieren bringen, wenn es im Kernel eingebaut war)
|
|
[starte mit dem neuen Kernel & installiere die Module, aber lade sie nicht!]
|
|
<P><CODE>
|
|
cd TVout<BR>
|
|
./compile.sh</CODE></P>
|
|
<LI>Start den 'modules' Script vom TV-Out Verzeichnis von MPlayer.
|
|
Es wird deine Konsole zum Framebuffer machen.
|
|
Wechsle auf tty1 (ALT+F1)!
|
|
Nun starte den Script 'independent', es wird deine ttys einstellen:
|
|
<P>tty 1,2: Framebuffer 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>E ist zur Zeit noch ein "Hack", aber ich warte bist das Marvel-Projekt
|
|
fertig gestellt wurde. Es wird eine richtigen TV-Out Treiber enthalten, hoffe
|
|
ich zumindest.</P>
|
|
|
|
<P>Zur Zeit ist mein Problem der 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 langsamer (keine Beschleunigung). :(</P>
|
|
|
|
<P><I>Irgendwie bekomme ich nur eine Schwarz-Weiss Ausgabe am Fernseher ...</I><BR>
|
|
Hast du vielleicht einen NTSC Fernseher? Oder hast du vielleicht keinen 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ützung für TV-Out Chipsets unter Linux bieten.
|
|
Hier ist die offzielle Antwort von ATI Inc.:
|
|
|
|
<P>
|
|
<CODE>
|
|
<I>
|
|
<BR>> Hallo!
|
|
<BR>>
|
|
<BR>> Auf eurer Seite steht, dass ihr Linux-Entwickler unterstützt.
|
|
<BR>> Zur Zeit beteilige ich mich am MPlayer Projekt (www.mplayerhq.hu).
|
|
<BR>> Ich bin interessiert am Aktivieren des TV-Outs bei Radeon VE-Chips während
|
|
<BR>> Video-Wiedergabe. Ich würde dieses Feature dem radeonfb-Treiber hinzufügen
|
|
<BR>> (kann man im CVS-Tree vom MPlayer-Projekt unter main/drivers/radeon finden).
|
|
<BR>> Ich hab eine Chance eine offizielle Dokumentation zu erhalten?
|
|
</I>
|
|
<BR>Wir können aufgrund des Macrovision-Konzerns keine Dokumente im Bezug auf TV-Out
|
|
<BR>veröffentlichen. Auch Dokumentationen für das MPEG2-Decoding ist etwas das wir
|
|
<BR>MÖGLICHWEISE in der Zukunft veröffentlichen, aber zur Zeit nicht. Dies ist ebenfall
|
|
<BR>aufgrund einen Eigentümer und einer 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, das
|
|
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 mit dem
|
|
<B>VESA-Treiber</B> auf x86 Systemen zu aktivieren, aber seit Linux auch durch <I>vm86 syscall</I>
|
|
beschränkt ist, 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>
|