mirror of https://github.com/mpv-player/mpv
1099 lines
56 KiB
HTML
1099 lines
56 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
|
|
<P><B><A NAME=2.3.1>2.3.1. Video Ausgabe-Geräte</A></B></P>
|
|
|
|
<P><B><A NAME=2.3.1.1>2.3.1.1. MTRR</A></B></P>
|
|
|
|
<P>Es ist SEHR zu empfehlen, dass man die MTRR Register aktiviert, denn sie
|
|
können eine großen Geschwindigkeits-Schub bringen.</P>
|
|
|
|
<P>Mache ein '<CODE>cat /proc/mtrr</CODE>':</P>
|
|
|
|
<P><CODE>--($:~)-- cat /proc/mtrr<BR>
|
|
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
|
|
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1</CODE></P>
|
|
|
|
<P>Dies ist richtig, es zeigt meine Matrox G400 mit 16Mb Speicher. Ich habe die Einstellung
|
|
von XFree 4.x.x, was die MTRR Register automatisch einstellt.</P>
|
|
|
|
<P>Wenn nichts funktioniert, muss du es manuell setzen. Als erstes musst du die
|
|
Base-Adresse finden. Du hast 3 Möglichkeiten um sie zu finden:</P>
|
|
|
|
<UL>
|
|
<LI>durch die X11 Start-Meldungen, zum Beispiel:
|
|
<P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
|
|
(--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI>
|
|
<LI>durch /proc/pci (verwende lspci -v Befehl):
|
|
<P><CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE>
|
|
<CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></P></LI>
|
|
<LI>durch die mga_vid Kerneltreiber-Meldungen (verwende dmesg):
|
|
<P><CODE>mga_mem_base = d8000000</CODE></P></LI>
|
|
</UL>
|
|
|
|
<P>So, nun gilt es die Speichergröße finden. Dies ist sehr einfach, rechne
|
|
einfach die Video-RAM-Größe ins Hexdezimal oder verwende diese Tabelle:</P>
|
|
|
|
<TABLE BORDER=0>
|
|
<TR><TD> </TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD></TR>
|
|
<TR><TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD></TR>
|
|
<TR><TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD></TR>
|
|
<TR><TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD></TR>
|
|
<TR><TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD></TR>
|
|
<TR><TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD></TR>
|
|
</TABLE>
|
|
|
|
<P>Du weisst die Base-Adresse und die Speichergröß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.3.1.2>2.3.1.2. Xv</A></B></P>
|
|
|
|
<P>Bei XFree86 4.0.2 oder neuer kannst du die Hardware-YUV-Routinen deiner
|
|
Grafikkarte verwenden, mit Hilfe der XVideo Erweiterung. Diese Routinen verwendet
|
|
die Option '-vo xv'. Dieser Treiber unterstützt auch eine Helligkeits/Kontrast/Farbton/etc
|
|
Anpassung (Es sei den du verwendest den alten, langsamen DirectShow DivX Codec,
|
|
welcher es überall unterstützt), lies in der Manpage.</P>
|
|
|
|
<P>Das es funktioniert, prüfe folgendes:</P>
|
|
|
|
<UL>
|
|
<LI>Du verwendest XFree86 4.0.2 oder neuer (frühere Versionen haben kein XVideo)</LI>
|
|
<LI>Deine Karte unterstützt Hardwarebeschleunigung (die meisten aktuellen tuen dies)</LI>
|
|
<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>
|
|
<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>
|
|
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>
|
|
<LI>Zum Schluss prüfe, ob <B>MPlayer</B> mit 'xv' Unterstützung kompiliert wurde.
|
|
./configure zeigt an, ob es eingebaut wurde.</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.2.1>2.3.1.2.1. 3dfx Karten</A></B></P>
|
|
|
|
<P>Bei ä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.2.0 oder neuer hast, es funktioniert mit YV12 und YUY2. Frühere Versionen, auch 4.1.0
|
|
<B>stürzten mit YV12 ab</B>!
|
|
Wenn du seltsame Effekte bei der Benutzung mit -vo xv bemerkst, probier SDL (es unterstützt auch XVideo)
|
|
und prüfe ob es funkioniert. Siehe <A HREF="#2.3.1.4">SDL Sektion</A> für Details.</P>
|
|
|
|
<P><B>Oder</B> versuche den NEUEN -vo tdfxfb -Treiber! Siehe <A HREF="#2.3.1.9">Sektion 2.3.1.9</A>!</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.2.2>2.3.1.2.2. S3 Karten</A></B></P>
|
|
|
|
<P>S3 Savage3Ds sollten gut funktionieren, jedoch bei einer Savage4 verwende XFree86
|
|
Version 4.0.3 oder neuer (bei Bildproblemen versuche 16bpp). Und für S3 Virge.. existiert
|
|
xv Unterstützung, die Karte selbst ist jedoch sehr langsam, du solltest sie also besser verkaufen.</P>
|
|
|
|
<P><B>HINWEIS</B>: Savage Karten haben eine langsame YV12 Bildwiedergabe Fähigkeit (es muss eine
|
|
YV12->YUY2 Konversion durchführen, weil die Savage Hardware YV12 nicht darstellen kann).
|
|
Wenn also diese Dokumentation an einem gewissen Punkt sagt "dies hat YV12 Ausgabe. Benutze Sie,
|
|
es ist schneller", ist es nicht sicher. Versuche es mit
|
|
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/Savage-driver/savage_drv.o.mmx2.bz2">diesem Treiber</A>,
|
|
, er benutzt MMX2 für diese Aufgabe und ist schneller als der eingebaute X-Treiber.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.2.3>2.3.1.2.3. nVidia Karten</A></B></P>
|
|
|
|
<P>nVidia ist keine gute Wahl für Linux (nach NVidia, ist dies
|
|
<A HREF="users_against_developers.html#nvidia">nicht wahr</A>). Du musst dazu den binä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>Soweit ich weiss enthält der neuste XFree86 Treiber XVideo Unterstützung für Geforce 2 und 3.</P>
|
|
|
|
<P>Riva128 Karten haben keine XVideo Unterstützung, auch nicht mit dem
|
|
nVidia-Treiber :(
|
|
Wende dich an NVidia.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.2.4>2.3.1.2.4. ATI Karten</A></B></P>
|
|
|
|
<UL>
|
|
<LI>Beim <A HREF="http://www.linuxvideo.org/gatos">GATOS Treiber</A> (den du
|
|
verwenden solltest) ist VSYNC standardgemäß eingeschaltet. Das bedeutet, dass
|
|
die Dekodierungsgeschwindigkeit (!) synchron mit der Monitor-Refeshrate ist.
|
|
Wenn die Wiedergabe langsam zu sein scheint, versuche irgendwie VSYNC auszuschalten
|
|
oder setze die Refreshrate auf n*(fps des Films) Hz.</LI>
|
|
<LI>Radeon VE - zur Zeit hat nur die CVS-Versionen von XFree86 einen Treiber für
|
|
diese Karte, Version 4.1.0 hat keinen. Natürlich kannst du mit <B>MPlayer</B> gut
|
|
eine <B>beschleunigte</B> Anzeige erhalten, mit oder ohne <B>TV Ausgabe</B>. Es
|
|
werden auch keine Bibliotheken oder X benötigt. Lies in der <A HREF="#2.3.1.15">Vidix</A>
|
|
Abteilung.</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.2.5>2.3.1.2.5. NeoMagic Karten</A></B></P>
|
|
|
|
<P>Diese Karten findet man in vielen Laptops. Unglücklicherweise unterstützt der Treiber
|
|
in X 4.2.0 kein Xv. Wir bieten jedoch einen modifizierten,
|
|
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">Xv-fähigen Treiber</A>
|
|
an. Der Treiber wurde von Stefan Seyfried zur Verfügung gestellt.</P>
|
|
|
|
<P>Um die Wiedergabe von Inhalt mit DVD-Grösse zu erlauben sollte die XF86Config
|
|
wie folgt aussehen:</P>
|
|
|
|
<P><CODE>Section "Device"<BR>
|
|
<I>[...]</I><BR>
|
|
Driver "neomagic"<BR>
|
|
<B>Option "OverlayMem" "829440"</B><BR>
|
|
<I>[...]</I><BR>
|
|
EndSection</CODE></P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.2.6>2.3.1.2.6. Trident Karten</A></B></P>
|
|
|
|
<P>Wenn du xv mit einer Trident Karte benutzen willst, vorausgesetzt, dass es nicht
|
|
mit 4.1.0 läuft, probier die neuste cvs von Xfree oder warte auf Xfree 4.2.0.
|
|
Das neuste cvs enthält Unterstützung für Fullscreen xv mit der Cyberblade XP card.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.3>2.3.1.3. DGA</A></B></P>
|
|
|
|
<P><B><A NAME=2.3.1.3.1>2.3.1.3.1. Zusammenfassung</A></B></P>
|
|
|
|
<P>Dieses Dokument versucht mit einigen Worten zu beschreiben, was DGA allgemein
|
|
ist und was man mit dem DGA Video-Ausgabetreiber für MPlayer alles machen kann
|
|
(und was es nicht kann).</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.3.2>2.3.1.3.2. Was ist DGA</A></B></P>
|
|
|
|
<P>DGA ist die Abkü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.3.1.3.3>2.3.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.3.1.3.4>2.3.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.3.1.3.5>2.3.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.3.1.3.6>2.3.1.3.6. Features des DGA-Treibers</A></B></P>
|
|
|
|
<P>Der DGA Treiber wird durch die -vo dga Option auf der Komandozeile ausgewä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>
|
|
|
|
<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.3.1.3.7>2.3.1.3.7. Geschwindigkeit</A></B></P>
|
|
|
|
<P>Allgemein gesprochen sollte der DGA-Framebuffer Zugriff mindestens so
|
|
schnell sein wie Verwendung des X11-Treibers, jedoch mit den zusä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.3.1.3.8>2.3.1.3.8. Bekannte Probleme</A></B></P>
|
|
|
|
<P>Nun, nach der Aussage von einigen Entwicklern von XFree ist DGA immer noch "ein
|
|
wildes Tier". Sie sagen es ist besser, wenn man es nicht verwendet. Die Implementierung
|
|
ist noch nicht immer fehlerfrei mit jedem Chipset-Treiber von XFree.</P>
|
|
|
|
<UL>
|
|
<LI>mit XFree 4.0.3 und nv.o gibt es einen Bug, zu erkennen in eigenartigen Farben</LI>
|
|
<LI>ATI-Treiber erfordern mehrmaliges zurückschalten nach dem Abspielen mit DGA</LI>
|
|
<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>
|
|
<LI>einige Treiber weisen kleine Farbfehler auf</LI>
|
|
<LI>einige Treiber lügen, im Bezug auf die Speichergröße für die Anwendung, dieses
|
|
DGA wird kein Doublebuffering verwenden (SIS?)</LI>
|
|
<LI>einige Treiber scheinen einen Fehler zu berichten, sie zeigen nur eine gültige
|
|
Auflösung an. In diesem Fall wird der DGA-Treiber abstützen, wenn er von einer
|
|
unsinnigen Auflösungung von 100000x100000 oder ähnlich berichtet...</LI>
|
|
<LI>OSD funktioniert nur mit eingeschaltetem Doublebuffering</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.3.9>2.3.1.3.9. Zukünftige Arbeiten</A></B></P>
|
|
|
|
<UL>
|
|
<LI>Verwendung des neuen X11 Rendering-Interfaces für OSD</LI>
|
|
<LI>Wo ist meine TODO Liste ???? :-(((</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.3.A>2.3.1.3.A. Einige Modus-Einstellungen</A></B></P>
|
|
|
|
<PRE>
|
|
Section "Modes"
|
|
Identifier "Modes[0]"
|
|
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
|
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
|
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
|
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
|
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
|
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
|
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
|
EndSection
|
|
</PRE>
|
|
|
|
<P>Diese Einstellungen funktionieren sehr gut mit meinem Riva128 Chip unter Verwendung
|
|
des nv.o XServer Treibermodules.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.3.B>2.3.1.3.B. Fehlerberichte</A></B></P>
|
|
|
|
<P>Wenn du Probleme mit dem DGA-Treibers hast, sende einen Fehlerbericht
|
|
(e-Mail Adresse siehe untern). Bitte starte 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.3.1.4>2.3.1.4. SDL</A></B></P>
|
|
|
|
<P>SDL (Simple Directmedia Layer) ist grundsätzlich ein vereinheitlichtes Video/Audio
|
|
Interface. Programme, die es benutzen, wissen nur um SDL und nichts darüber, was für
|
|
Video- oder Audio-Treiber SDL eigentlich benutzt. So kann z.B. eine Doom Portierung
|
|
auf SDL über die svgalib, aalib, X, fbdev und andere laufen. Du musst bluss z.B. bloss
|
|
über die Variable SDL_VIDEODRIVER angeben, welcher Video-Treiber benutzt werden soll.
|
|
Nun ja, in der Theorie.</P>
|
|
|
|
<P>Mit <B>MPlayer</B> benutzen wir dessen Software Skalier-Fähigkeit des X11-Treibers
|
|
für Karten, welche kein XVideo unterstützen, bis wir unseren eigenen (schnelleren, besseren)
|
|
Software-Skalierer haben. Wir benutzen auch dessen aalib-Ausgabe, haben nun aber einen
|
|
eigenen, welcher komfortabler ist. Dessen DGA-Mode war besser als unsere, bis neulich. :)</P>
|
|
|
|
<P>Es hilft auch bei einigen anfälligen Treibern/Karten, wenn der Video ruckartig ist
|
|
(kein Problem der Systemgeschwindigkeit) oder wenn der Ton verzögert ist.</P>
|
|
|
|
<P>Die SDL Videoausgabe unterstützt die Darstellung von Untertitel unter dem Film, auf dem
|
|
schwarzen Streifen (falls vorhanden).</P>
|
|
|
|
<P>Hier findest du einige Hinweise über die SDL-Ausgabe in <B>MPlayer</B>.</P>
|
|
|
|
<TABLE BORDER=0>
|
|
<TR><TD COLSPAN=4><P><B>Es gibt einige Commandline-Optionen für SDL:</B></P></TD></TR>
|
|
<TR><TD> </TD><TD>-vo sdl:name</TD><TD> </TD>
|
|
<TD>wählt den zu verwendenden Video Treiber aus (z.B. aalib, dga, x11)</TD></TR>
|
|
<TR><TD></TD><TD>-ao sdl:name</TD><TD></TD><TD>wählt den zu verwendenden Audio Treiber aus
|
|
(z.B. dsp, esd, arts)</TD></TR>
|
|
<TR><TD></TD><TD>-noxv</TD><TD></TD><TD>schaltet die Xvideo Hardwarebeschleunigung aus</TD></TR>
|
|
<TR><TD></TD><TD>-forcexv</TD><TD></TD><TD>versucht die Xvideo-Beschleunigung zu erzwingen</TD></TR>
|
|
<TR><TD COLSPAN=4><P><B>SDL-Tasten:</B></P></TD></TR>
|
|
<TR><TD></TD><TD>F</TD><TD></TD><TD>wählt Vollbild-/Fenster-Modus</TD></TR>
|
|
<TR><TD></TD><TD>C</TD><TD></TD><TD>verfügbare Zyklen beim Vollbild-Modus</TD></TR>
|
|
<TR><TD></TD><TD>W/S</TD><TD></TD><TD>zusammenhängend mit * und / (Mixer-Kontrolle)</TD></TR>
|
|
</TABLE>
|
|
|
|
<P><B>BEKANNTE FEHLER:</B></P>
|
|
|
|
<UL>
|
|
<LI>Wenn diese Tasten unter dem sdl:aalib Konsolentreiber verwendet werden,
|
|
wiederholen sie sich für immer. (verwende -vo aa!)
|
|
Es ist ein Bug in SDL, ich kann es nicht ändern (getestet mit SDL 1.2.1).</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.5>2.3.1.5. SVGAlib</A></B></P>
|
|
|
|
<P><B><U>Installation</U></B><BR>
|
|
Das svgalib Packet und dessen Entwicklungs-Packet müssen installiert sein, um
|
|
den SVGAlib Treiber in <B>MPlayer</B> einzubauen (wird automatisch erkannt, kann jedoch
|
|
auch erzwungen werden). Es sollte auch nicht vergessen werden, die
|
|
<CODE>/etc/vga/libvga.config</CODE> auf die entsprechende Karte & Monitor anzupassen.</P>
|
|
|
|
<P><B><U>Hinweise</U></B><BR>
|
|
Die -fs Option sollte nicht verwendet werden, da dadurch der Gebrauch des
|
|
Softwareskalierers aktiviert wird, der sehr langsam ist. Wenn dies trotzdem
|
|
benötigt wird, sollte die <CODE>-sws 4</CODE> Option verwendet werden, die
|
|
zwar eine schlechtere Qualität liefert, jedoch viel schneller ist.</P>
|
|
|
|
<P><B><U>EGA (4bpp) Unterstützung</U></B><BR>
|
|
SVGAlib beinhaltet auch EGAlib. <B>MPlayer</B> hat also auch die Fähigkeit, Filme mit
|
|
16 Farben widerzugeben, welche durch folgende Einstellungen brauchbar wird:</P>
|
|
|
|
<UL>
|
|
<LI>EGA Karte mit EGA Bildschirm: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp</LI>
|
|
<LI>EGA Karte mit CGA Bildschirm: 320x200x4bpp, 640x200x4bpp</LI>
|
|
</UL>
|
|
|
|
<P>Der bpp (Bits pro Pixel) Wert muss mit der Hand auf 4 gesetzt werden:<BR>
|
|
<CODE>-bpp 4</CODE><BR>
|
|
Wahrscheinlich muss der Film dabei verkleinert (skaliert) werden, um dem EGA
|
|
Modus gerecht zu werden:<BR>
|
|
<CODE>-vop scale=640:350</CODE> oder<BR>
|
|
<CODE>-vop scale=320:200</CODE><BR>
|
|
Dazu wird eine schnelle Skalierungsroutine mit schlechte Qualität benötigt:<BR>
|
|
<CODE>-sws 4</CODE><BR>
|
|
Vielleicht muss die automatische Verhältniskorrektur deaktiviert werden:<BR>
|
|
<CODE>-noaspect</CODE></P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.6>2.3.1.6. Framebuffer Ausgabe (FBdev)</A></B></P>
|
|
|
|
<P>Ob die FBdev Unterstü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>
|
|
|
|
<TABLE BORDER=0>
|
|
<TR><TD> </TD><TD>-fb</TD><TD> </TD>
|
|
<TD>spezifiziert den zu verwendenden Framebuffer (/dev/fb0)</TD></TR>
|
|
<TR><TD></TD><TD>-fbmode</TD><TD></TD><TD>Modus das verwendet werden soll (siehe /etc/fb.modes)</TD></TR>
|
|
<TR><TD></TD><TD>-fbmodeconfig</TD><TD></TD><TD>Konfigurationsdatei für das Modus (standard ist /etc/fb.modes)</TD></TR>
|
|
<TR><TD></TD><TD>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3>WICHTIGE Werte, siehe example.conf</TD></TR>
|
|
<TR><TD></TD><TD>-monitor_vfreq</TD><TD></TD></TR>
|
|
<TR><TD></TD><TD>-monitor_dotclock</TD><TD></TD></TR>
|
|
</TABLE>
|
|
|
|
<P>Wenn du zu einem speziellen Modus wechseln willst, verwende</P>
|
|
|
|
<P><CODE> mplayer -vm -fbmode (Name_des_Modus) Dateiname</CODE></P>
|
|
|
|
<UL>
|
|
<LI><B>-vm</B> alleine wird den am ehesten passenden Modus von
|
|
/etc/fb.modes verwenden. Kann auch mit der -x und -y Option verwendet werden.
|
|
Die -flip Option wird nur unterstü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>
|
|
oder <CODE>setterm -cursor off</CODE><BR>
|
|
und den Bildschirmschoner: <CODE>setterm -blank 0</CODE><BR>
|
|
Um den Curser wieder anzuzeigen: <CODE>echo -e '\033[?25h'</CODE>
|
|
oder <CODE>setterm -cursor on</CODE></LI>
|
|
</UL>
|
|
|
|
<P>HINWEIS: FBdev Video-Modus-Ä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.3.1.7>2.3.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><B>WARNUNG</B>: benutze <A HREF="#2.3.1.15">Vidix</A> auf nicht-Linux Systemen für mga_vid!!!</P>
|
|
|
|
<P>Um es zu verwenden, kompiliere als erstes mga_vid.o:</P>
|
|
|
|
<P><CODE> 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>Installiere dann das Module <CODE>mga_vid.o</CODE> mit <CODE>make install</CODE> oder kopiere es
|
|
an den entsprechenden Platz unter <CODE>/lib/modules/<Kernel Version>/irgendwo</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.3.1.8>2.3.1.8. SiS 6326 Framebuffer (sis_vid)</A></B></P>
|
|
|
|
<P>SiS 6326 YUV Framebuffer Treiber -> sis_vid Kerneltreiber</P>
|
|
|
|
<P>Das Interface sollte kompatibel mit dem von the mga_vid sein, aber das Trei-
|
|
ber wurde nicht aktualisiert, als mga_vid geändert wurde, also ist es nicht mehr
|
|
aktuell. Es sollte getestet und der Code auf den letzten Stand gebracht werden.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.9>2.3.1.9. 3dfx YUV Unterstützung (tdfxfb)</A></B></P>
|
|
|
|
<P>Dieser Treiber verwendet den Kernel-tdfx Framebuffer-Treiber um Filme mit
|
|
YUV-Beschleunigung zu spielen. Du brauchst einen Kernel mit tdfxfb Support und
|
|
kompiliere <B>MPlayer</B> mit <CODE>./configure --enable-tdfxfb</CODE> neu.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.10>2.3.1.10. OpenGL Ausgabe</A></B></P>
|
|
|
|
<P><B>MPlayer</B> unterstützt die Ausgabe von Videos über OpenGL. Wenn die
|
|
Plattform / der Treiber jedoch xv unterstützt, was für ein PC mit Linux der
|
|
Fall sein sollte, sollte besser xv verwendet werden, da die Leistung von OpenGL
|
|
beträchtlich schlechter ist. Wenn man eine X11 Implementierung ohne xv besitzt,
|
|
ist OpenGL trotzdem eine funktionsfähige Alternative.</P>
|
|
|
|
<P>Unglücklicherweise unterstützten nicht alle Treiber diese Feature. Die
|
|
Utah-GLX Treiber (für XFree86 3.3.6) unterstützen es für alle Karten. Siehe
|
|
<A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
|
|
für Details zur Installation.</P>
|
|
|
|
<P>XFree86(DRI) >= 4.0.3 unterstützt OpenGL mit Matrox- und Radeon-Karten, >= 4.2
|
|
unterstützt auch Rage128. Siehe
|
|
<A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> für Download-
|
|
und Installations-Anweisungen.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.11>2.3.1.11. AAlib - Textmodus-Ausgabe</A></B></P>
|
|
|
|
<P><B>AAlib</B> ist eine Bibliothek für die Anzeige im Textmodus, unter Verwendung
|
|
des ASCII Renderer. Es gibt EINE GROSSE ANZAHL von Programmen die es bereits
|
|
unterstü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>
|
|
|
|
<TABLE BORDER=0>
|
|
<TR><TD COLSPAN=4><P><B>Du kannst einige Tasten verwenden im AA Fenster, um Rendering-Optionen zu ändern:</B></P></TD></TR>
|
|
<TR><TD> </TD><TD>1</TD><TD> </TD><TD>verringert Kontrast</TD></TR>
|
|
<TR><TD></TD><TD>2</TD><TD></TD><TD>erhöht Kontrast</TD></TR>
|
|
<TR><TD></TD><TD>3</TD><TD></TD><TD>verringert Schärfe</TD></TR>
|
|
<TR><TD></TD><TD>4</TD><TD></TD><TD>erhöht Schärfe</TD></TR>
|
|
<TR><TD></TD><TD>5</TD><TD></TD><TD>schaltet schnelles Rendern ein/aus</TD></TR>
|
|
<TR><TD></TD><TD>6</TD><TD></TD><TD>wählt das Farbmischungs-Modus (keine, error dithering, floyd steinberg)</TD></TR>
|
|
<TR><TD></TD><TD>7</TD><TD></TD><TD>invertiert Bild</TD></TR>
|
|
<TR><TD></TD><TD>a</TD><TD></TD><TD>wechselt zwischen AA und MPlayer Kontrolle)</TD></TR>
|
|
<TR><TD COLSPAN=4><P><B>Die folgenden Kommandozeilen-Optionen können verwendet werden:</B></P></TD></TR>
|
|
<TR><TD></TD><TD>-aaosdcolor=V</TD><TD></TD><TD>ändert OSD-Farbe</TD></TR>
|
|
<TR><TD></TD><TD>-aasubcolor=V</TD><TD></TD><TD>ändert Untertitel-Farbe</TD></TR>
|
|
<TR><TD COLSPAN=3></TD><TD><P><I>wobei V sein kann: (0/Normal, 1/Dunkel, 2/Fett, 3/Fettschift, 4/Rückwärts, 5/Spezial)</P></TD></TR>
|
|
<TR><TD COLSPAN=4><P><B>AAlib selbst unterstützt eine größe Summe von Optionen.
|
|
Hier einige wichtige:</P></B></TD></TR>
|
|
<TR><TD></TD><TD>-aadriver</TD><TD></TD><TD>setzt erforderlichen AA Treiber (X11, curses, linux)</TD></TR>
|
|
<TR><TD></TD><TD>-aaextended</TD><TD></TD><TD>verwende alle 256 Zeichen</TD></TR>
|
|
<TR><TD></TD><TD>-aaeight</TD><TD></TD><TD>verwendet acht-bit ASCII</TD></TR>
|
|
<TR><TD></TD><TD>-aahelp</TD><TD></TD><TD>gibt alle AAlib-Optionen aus</TD></TR>
|
|
</TABLE>
|
|
|
|
<P>HINWEIS: Das Rendering ist sehr CPU-Intersiv, besonders bei AA-on-X (AAlib
|
|
unter X) und benö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.3.1.12>2.3.1.12. VESA - output to VESA BIOS</A></B></P>
|
|
|
|
<P>Dieser Treiber wurde <B>als allgemeiner Treiber</B>entworfen und eingefü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>
|
|
|
|
<BLOCKQUOTE>
|
|
<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.
|
|
</BLOCKQUOTE>
|
|
|
|
<P>Also hast du damit gute Chancen deinen TV-OUT mit diesem Treiber zu aktivieren.<BR>
|
|
(Ich danke das die TV-Funktion sie nur auf Single-Head oder Standalone-Ausgabe beschänkt.)</P>
|
|
|
|
<P><B>Was sind die Vorteile:</B></P>
|
|
|
|
<UL>
|
|
<LI>Du hast Chance Videos zu sehen, <B>auch wenn Linux nicht mal weiss</B>, welche Grafikkarte du hast.</LI>
|
|
<LI>Du brauchst dazu auf deinem Linux keine anderen grafikabhängenden Sachen (wie X11 (XFree86),
|
|
fbdev usw.). Dieser Treiber kann vom <B>Textmodus</B> aus betrieben werden.</LI>
|
|
<LI>Du hast Chancen den <B>TV-Out einzuschalten</B>. (Bis jetzt nur von ATI-Karten bekannt).</LI>
|
|
<LI>Dieser Treiber verwendet <B>int 10h</B> Handler, das heisst es ist kein Emulator - es ruft
|
|
<B>echte</B> Befehle des <B>echten</B> BIOS im <B>Real</B>-Mode aus. (im vm86 Modus).</LI>
|
|
<LI>Am wichtigesten :) Du kannst <B>DVD mit 320x200</B> ansehen ohne einer leistungsfähigen CPU.</LI>
|
|
</UL>
|
|
|
|
<P><B>Was sind die Nachteile:</B></P>
|
|
|
|
<UL>
|
|
<LI>Es funktioniert nut auf <B>x86 Systemen</B>.</LI>
|
|
<LI><B>Es ist der langsamste Treiber</B> von allen verfügbaren für MPlayer.</LI>
|
|
(Aber nur, falls deine Karte keinen <B>DGA Modus</B> unterstützt - Ansonsten ist die Geschwindigkeit
|
|
dieses Treibers mit denen von <B>-vo dga</B> und <B>-vo fbdev</B> zu vergleichen.</LI>
|
|
<LI>Es kann nur als <B>ROOT</B> verwendet werden.</LI>
|
|
<LI>Zur Zeit ist es nur für <B>Linux</B> verfügbar.</LI>
|
|
<LI>Es <B>verwendet keine Hardwarebeschleunigung</B> (wie YUV-Overlay oder HW-Scaling).</LI>
|
|
</UL>
|
|
|
|
<P>Verwende diesen Treiber nicht mit <B>GCC 2.96</B>! Es wird nicht funktionieren!</P>
|
|
|
|
<TABLE BORDER=0>
|
|
<TR><TD COLSPAN=4><P><B>Diese Commandline-Parameter sind zur Zeit verfügbar für VESA:</B></P></TD></TR>
|
|
<TR><TD> </TD><TD>-vo vesa:opts</TD>
|
|
<TD> </TD><TD>erkennt momentan: <B>dga</B> um den DGA-Modus zu erzwingen und <B>nodga</B> um ihn zu deaktivieren. Hinweis: Du kannst diese
|
|
Parameter auslassen um den DGA-Modus <B>automatisch</B> erkennen zu können. (In Zukunft wirst du Parameter wie Wiederholrate,
|
|
Interlacing, Doublescan und so weiter einstellen. Beispiele: i43, 85, d100)</TD></TR>
|
|
<TR><TD></TD><TD>-screenw, -screenh, -bpp</TD><TD></TD><TD>verwendet von Anwender definierte Modie</TD></TR>
|
|
<TR><TD></TD><TD>-x, -y</TD><TD></TD><TD>setzt Prescaling-Auflösung</TD></TR>
|
|
<TR><TD></TD><TD>-zoom</TD><TD></TD><TD>aktiviert Prescaling</TD></TR>
|
|
<TR><TD></TD><TD>-fs</TD><TD></TD><TD>Vollbild-Scaling</TD></TR>
|
|
<TR><TD></TD><TD>-fs -zoom</TD><TD></TD><TD>Vollbild-Scaling des prescalten Bildes</TD></TR>
|
|
<TR><TD></TD><TD>-double</TD><TD></TD><TD>aktiviert den Doppelpuffer-Modus (double buffering).
|
|
(Nur im DGA Modus möglich). Sollte langsamer sein als single buffering, hat jedoch keine Flimmereffekte.</TD></TR>
|
|
</TABLE>
|
|
|
|
<P><B>Bekannte Probleme und Workarounds:</B></P>
|
|
|
|
<UL>
|
|
<LI>Wenn die <B>NLS</B> Schrift auf deinem Linux Rechner installiert hast und den VESA-Treiber
|
|
auf einer Textmode-Konsole verwendst wird nach dem Beenden von 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).</LI>
|
|
<LI>Einige <B>Grafikkartentreiber für Linux</B> aktivieren den <B>BIOS Modus</B> im DOS-Speicher
|
|
nicht. Wenn du solche Probleme hast - verwende den VESA-Treiber im <B>Textmodus</B>. Andernfalls
|
|
wird der Textmodus (#03) einfach aktiviert und du musst deinen Computer neu starten.</LI>
|
|
<LI>Oftmals bekommt man nach dem Beenden des VESA-Treiber einen <B>schwarzen Bildschirm</B>. Um
|
|
zurück zum normalen Modues zu kommen - wechsle 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.</LI>
|
|
<LI>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.</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.13>2.3.1.13. X11</A></B></P>
|
|
|
|
<P>Vermeide es, wenn möglich. Übergibt die Ausgabe X11 (es benutzt die shared memory Erweiterung)
|
|
jedoch ohne jeglicher Hardware Beschleunigung. Es unterstützt (MMX/3DNow/SSE beschleunigt, aber immer noch
|
|
langsam) Software-Skalierung. Benutze die Option <CODE>-fs -zoom</CODE>. Die meisten Karten haben
|
|
Hardware-Skalierung Unterstützung. Benutze die <CODE>-vo xv</CODE> Ausgabe für diese oder
|
|
<CODE>-vo xmga</CODE> für Matrox Karten.</P>
|
|
|
|
<P>Das Problem ist, dass die meisten Karten keine Hardware Beschleunigung für eine zweite
|
|
Ausgabe/TV unterstützen. In diesen Fällen, sieht man ein grünfarbiges/blaufarbiges Fenster
|
|
anstelle des Filmes. In diesen Fällen ist dieser Treiber nützlich. Du benötigst jedoch eine
|
|
leistungsfähige CPU um die software-Skalierung zu benutzen. Verwende nicht die Software Ausgabe+Skalierer
|
|
von SDL, er hat eine noch sclimmere Bildqualität!</P>
|
|
|
|
<P>Software-Skalierung ist sehr langsam. Du solltest besser versuchen den Videomodus zu ändern.
|
|
Es ist sehr einfach. Lies in der Sektion <A HREF="#2.3.1.3.A">DGA Modus-Einstellungen</A> und füge diese
|
|
deiner XF86Config an.</P>
|
|
|
|
<UL>
|
|
<LI>Wenn du XFree86 4.x.x hast - benutze die <CODE>-vm</CODE> Option. Sie ändert
|
|
die Auflösung, so dass zu deinem Film passt. Wenn nicht:</LI>
|
|
<LI>Mit XFree86 3.x.x - du musst mit den Tasten <B>CTRL-ALT-plus</B> und <B>minus</B> durch
|
|
alle möglichen Auflösungen durchgehen.</LI>
|
|
</UL>
|
|
|
|
<P>Wenn du den Modus, den du eingefügt hast nicht findest, betrachte die XFree86 Ausgaben. Einige Treiber
|
|
können keine tiefen pixelclocks verwenden, welche benötigt werden um einen tiefen Auflösungs-Modus zu verwenden.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.14>2.3.1.14. Rage128 (Pro) / Radeon Video Overlay (radeon_vid)</A></B></P>
|
|
|
|
<P>Diese Abteilung ist VERALTET! Verwende Vidix!</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.15>2.3.1.15. VIDIX</A></B></P>
|
|
|
|
<P><B>WAS IST VIDIX?</B></P>
|
|
|
|
<P>VIDIX ist di abkürzung für <B>VID</B>eo <B>I</B>nterface für
|
|
*ni<B>X</B>.<BR>
|
|
VIDIX wurde entworfen und eingeführt als ein Interface für schnelle user-space Treiber,
|
|
welches <B>DGA</B> überall, wo die Möglichkeit besteht, zur Verfügung stellt.
|
|
(<B>im Gegensatz zu X11</B>). Ich hoffe, dass diese Treiber genauso portierbar sind, wie X11
|
|
(<B>nicht nur auf *nix</B>).<BR>
|
|
Was ist es:</P>
|
|
|
|
<UL>
|
|
<LI>Es ist ein portabler Nachfolger der mga_vid Technologie, welcher jedoch als user-space
|
|
Treiber angesiedelt ist</LI>
|
|
<LI>Im Gegensatz zu X11 stellt es DGA überall, wo möglich, zur Verfügung</LI>
|
|
<LI>Im Gegensatz zu v4l stellt es ein Interface für Videowiedergabe zur Verfügung</LI>
|
|
<LI>Im Gegensatz zu den Treibern von Linux benutzt es Mathematik-Bibliotheken</LI>
|
|
</UL>
|
|
|
|
<P>Ich kann es dir auch in fetten Grossbuchstaben sagen:<BR>
|
|
<B>VIDIX STELLT EINEN DIREKTEN GRAFIKZUGRIFF ZUM BES YUV MEMORY ZUR VERFÜGUNG.</B></P>
|
|
|
|
<P><I>Nun ja (es ist in meinem todo) - implementiert einen DGA zu MPEG2 Dekoder.</I></P>
|
|
|
|
<P>Dieses Interface wurde als Versuch entworfen, die existierenden Videobeschleunigungs-Interfaces
|
|
(bekannt als mga_vid, mga_yuv, radeon_vid) in ein festest Schema zu bringen.
|
|
Es stellt ein Interface auf hohem Level (highlevel) für Chips zur Verfügung, welche als
|
|
BES (BackEnd scalers) oder OV (Video Overlays) bekannt sind. Es stellt kein lowlevel
|
|
Interface zur Verfügung für Dinge, welche als Grafikserver bekannt sind (Ich will nicht mit
|
|
dem X11 Team im Grafikmodus-Wechsel konkurrieren). Das Hauptziel dieses Interface ist es,
|
|
eine maximale Wiedergabe-Geschwindigkeit zur Verfügung zu stellen und nicht Videosignale
|
|
auf deinen TV-, Tape- oder VCR-Bildschirm zu tun. Allerdings sind diese Dinge auch sehr
|
|
wichtig - es ist jedoch eine perfekte neue Aufgabe. Wie auch immer, ich denke, es wäre möglich
|
|
so etwas wie ein mini-X (nicht mit Minix zu verwechseln ;) in Zukunft einzubauen,
|
|
wenn sich eine Anzahl Freiwilliger finden lässt.</P>
|
|
|
|
<P><B>VERWENDUNG</B></P>
|
|
|
|
<UL>
|
|
<LI>Du kannst den selbständigen Videoausgabe-Treiber verwenden: <CODE>-vo xvidix</CODE><BR>
|
|
Dieser Treiber wurde als ein X11 Frontend zu der VIDIX Technologie entwickelt. Er benötigt
|
|
einen XServer und kann nur unter diesem arbeiten.</LI>
|
|
<LI>Du kannst das VIDIX dem Vidix unterstellte Gerät (subdevice) verwenden, welches zu vielen
|
|
Videoausgabe-Treibern hinzugefügt wurde, wie z.B.:<BR>
|
|
<CODE>-vo vesa:vidix</CODE> und <CODE>-vo fbdev:vidix</CODE></LI>
|
|
</UL>
|
|
|
|
<P>Allerdings spielt es keine Rolle, welche Videoausgabe-Treiber mit <B>VIDIX</B> verwendet werden.</P>
|
|
|
|
<P><B>VORAUSSETZUNGEN</B></P>
|
|
|
|
<UL>
|
|
<LI>Die Videokarte sollte sich im Grafikmodus befinden (Ich schreibe einfach <B>sollte</B>,
|
|
weil ich es im Textmodus getestet habe - es läuft, hat aber eine hässliche Ausgabe ;) Benutze
|
|
AAlib für das).<BR>
|
|
<I>Hinweis: Jederman kann dies ausprobieren, indem er den Moduswechsel im vo_vesa Treiber
|
|
auskommentiert.</I></LI>
|
|
<LI><B>MPlayer</B>'s Videoausgabe-Treiber sollte den aktiven Videomodus kennen und fähig sein,
|
|
dem VIDIX subdevice einige Videocharakteristiken des Servers mitzuteilen.</LI>
|
|
</UL>
|
|
|
|
<P>Ich hoffe, dass praktisch jeder Videoausgabetreiber von <B>MPlayer</B> das <CODE>:vidix</CODE>
|
|
subdevice erkennen wird.</P>
|
|
|
|
<P><B><I>GEBRAUCHSMETHODEN</I></B></P>
|
|
|
|
<P>Wenn VIDIX als ein <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) verwendet
|
|
wird, dann wird die Videomodus-Konfiguration vom Videoausgabe-Gerät erledigt werden
|
|
(kurz gesagt: <B>vo_server</B>). Du kannst desshalb in der Kommandozeile von
|
|
<B>MPlayer</B> die gleichen Optionen wie für den vo_server verwenden. Zusätzlich
|
|
versteht es die Option <CODE>-double</CODE> als einen global sichtbaren Parameter.
|
|
(Ich empfehle diese Option mit VIDIX wenigstens für ATI's Karten zu verwenden).<BR>
|
|
<CODE>-vo xvidix</CODE> betreffend: Es erkennt momentan die folgenden Optionen:
|
|
<CODE>-fs -zoom -x -y -double</CODE>.<BR></P>
|
|
|
|
<P>Du kannst auch den Treiber von VIDIX direkt als ein drittes Unterargument
|
|
in der Kommandozeile angeben:<BR><BR>
|
|
<CODE>mplayer -vo xvidix:mga_vid.so -fs -zoom -double datei.avi</CODE><BR>
|
|
oder<BR>
|
|
<CODE>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 datei.avi</CODE><BR><BR>
|
|
Aber dies ist gefährlich und du solltest es nicht tun. In diesem Falle wird der gegebene
|
|
Treiber erzwungen und das Ergebnis ist unvorhersehbar (es könnte deinen Computer <B>einfrieren</B>).
|
|
Du solltest dies NUR tun, wenn du absolut sicher bist, dass es funktioniert und <B>MPlayer</B> es nicht
|
|
automatisch tut. Bitte informiere die Entwickler darüber. Der richtige Weg ist, VIDIX ohne
|
|
irgendwelche Argumente zu verwenden um die automatische Erkennung des Treibers zu aktivieren.</P>
|
|
|
|
<P>VIDIX ist eine sehr neue Technologie und es ist höchstwahrscheinlich, dass es
|
|
auf deinem System (OS=abc CPU=xyz) nicht funktioniert. In diesem Fall liegt die
|
|
einzige für dich darin, es zu portieren (hauptsächlich libdha). Aber es besteht
|
|
die Hoffnung, dass es auf den Systemen laufen wird, auf denen X11 läuft.</P>
|
|
|
|
<P>Und die letzte <B>WARNUNG</B>: (un)glücklicherweise <B>MUST</B> du aufgrund des
|
|
direkten Hardwarezugriffs <B>ROOT</B> Privilegien besitzen um VIDIX zu benützen.
|
|
Setze wenigstens das <B>suid</B> bit auf den <B>MPlayer</B>.</P>
|
|
|
|
<P><B>VIDEO EQUALIZER</B></P>
|
|
|
|
<P>Dies ist ein Video-Equalizer, speziell für Vidix implementiert. Du kannst ihn über entweder
|
|
mit den Tasten <B>1-8</B> verwenden wie in der Manpage beschrieben oder mit Kommandozeilenargumenten.
|
|
<B>MPlayer</B> erkennt folgende Optionen:</P>
|
|
|
|
<P> <CODE>-brightness</CODE> - verstellt die <B>HELLIGKEIT</B> der Videoausgabe.
|
|
Es ist nicht dasselbe, wie die Helligkeit an den Monitorschaltern oder am TV zu verstellen.
|
|
Es ändert die Intensität der RGB-Komponenten des Videosignals von einem schwarzen bis zu
|
|
einem weissen Bildschirm.<BR>
|
|
<CODE>-contrast</CODE> - verstellt den <B>KONTRAST</B> der Videoausgabe.
|
|
Funktioniert ähnlich wie bei der Helligkeit.<BR>
|
|
<CODE>-saturation</CODE> - verstellt die <B>SÄTTIGUNG</B> der Videoausgabe.
|
|
Du kannst mit dieser Option eine Graustuffen-Ausgabe erhalten.<BR>
|
|
<CODE>-hue</CODE> - verstellt den <B>FARBTON</B> des Videosignals. Du kannst
|
|
mit dieser Option ein negatives Abbild der Farben der Bilder erhalten.<BR>
|
|
<CODE>-red_intensity</CODE> - verstellt die Intensität der <B>ROTEN</B>
|
|
Komponenten des Videosignals.<BR>
|
|
<CODE>-green_intensity</CODE> - verstellt die Intensität der <B>GRÜNEN</B>
|
|
Komponenten des Videosignals.<BR>
|
|
<CODE>-blue_intensity</CODE> - verstellt die Intensität der <B>BLAUEN</B>
|
|
Komponenten des Videosignals.</P>
|
|
|
|
<P>Jeder Parameter akzeptiert Werte von <B>-1000</B> bis <B>+1000</B>.<BR>
|
|
Die normale einstellung jedes Parameters ist <B>0</B>.</P>
|
|
|
|
<P><B>Hinweis:</B> Nicht jeder Treiber stellt eine Unterstützung für jede dieser Funktionen zu Verfügung.
|
|
Momentan unterstützt bloss <B>radeon_vid.so</B> vollständiges Video-Equalizing.
|
|
Andere Treiber unterstützen nur diese Optionen nur teilweise.</P>
|
|
|
|
<P><B>Beispiele:</B><BR>
|
|
<CODE>mplayer -vo vesa:vidix -brightness -300 -contrast 200 dateiname.avi</CODE><BR>
|
|
oder<BR>
|
|
<CODE>mplayer -vo xvidix -red_intensity -50 -saturation 400 -hue 300 dateiname.vob</CODE></P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.16>2.3.1.16. Zr</A></B></P>
|
|
|
|
<P>Dies ist ein Ausgabetreiber (<CODE>-vo zr</CODE>) für eine Anzahl von MJPEG
|
|
Aufnahme/Wiedergabe karten (getestet für die DC10+ und Buz und es sollte für die
|
|
LML33 und die DC10 gehen). Der Treiber läuft durch eine Enkodierung der Frames zu jpeg
|
|
und einer folgenden Sendung an die Karte. Für die jpeg Enkodierung wird die <B>libavcodec</B>
|
|
benützt und vorausgesetzt.</P>
|
|
|
|
<P>Dieser Treiber spricht zu den Kerneltreibern, welche auf
|
|
<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A> erhältlich sind.
|
|
Du must diese also erst zum Laufen bringen. Kompiliere <B>MPlayer</B> danach neu mit der Option
|
|
<CODE>--enable-zr</CODE>.</P>
|
|
|
|
<P>Einige Bemerkungen:</P>
|
|
|
|
<UL>
|
|
<LI>Starte oder Stope XawTV nicht während der Wiedergabe,
|
|
es wird deinen Computer zum Absturz bringen. Es ist jedoch i.O. XawTV <B>ZUERST</B>
|
|
und <B>DANN</B> <B>MPlayer</B> zu starten. Warte danach bis <B>MPlayer</B> fertig ist und
|
|
stoppe <B>DANN</B> XawTV.</LI>
|
|
<LI>Dieser Treiber fügt <CODE>-zr*</CODE> zu den Kommandozeilen-Optionen. Die Erklärung
|
|
dieser Optionen kann mit <CODE>-zrhelp</CODE> angezeigt werden. Es ist möglich, das
|
|
Eingangsframe zurechtzuschneiden (Die Ränder abzuschneiden um die Geschwindigkeit zu erhöhen)
|
|
und andere Dinge zu tun.</LI>
|
|
<LI>Der Treiber nimmt die Daten im YV12 und YUY2 Format an. Das heisst, dass einige Codecs
|
|
nicht gehen. Einige alte VfW (Video für Windows) Codecs, zum Beispiel,
|
|
sind inkompatibel mit diesem Treiber. Die Fehlermeldung, die du sehen wirst ist:
|
|
<CODE>Sorry, das angewählte video_out Gerät ist inkompatibel mit diesem Codec.
|
|
</CODE></LI>
|
|
<LI>OSD ist momentan nicht unterstützt. Du kannst also keine Untertitel sehen.</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.A>2.3.1.A. TV-Out Unterstützung</A></B></P>
|
|
|
|
<P><B><A NAME=2.3.1.A.1>2.3.1.A.1. Matrox G400 Karten</A></B></P>
|
|
|
|
<P>Unter Linux hast du 2 Methoden den G400 TV Ausgang zum Laufen zu bringen:</P>
|
|
|
|
<P><B>WICHTIG:</B> Nur Matrox G400DH/G400MAX hat TV-out Unterstützung unter Linux, andere
|
|
(G450, G550) haben dies <B>NICHT!</B></P>
|
|
|
|
<UL>
|
|
<LI><B>XFree86</B>: Verwende dazu den Treiber und das HAL-Module von <A HREF="http://www.matrox.com">Matrox</A>,
|
|
so wirst du Dual-Head-Unterstützung erhalten und es wird möglich sein den 2. Ausgang am TV zu nutzen.<BR>
|
|
<B>Diese Methode gibt dir keine beschleunigte Wiedergabe</B> wie unter Windows!
|
|
Der 2. Ausgang hat bloss YUV framebuffer, der <I>BES</I> (Back End Scaler, den YUV Skalierer auf den
|
|
G200/G400/G450/G550 Karten) funktioniert nicht mit ihm! Die Windows-Treiber können das Problem irgendwie übergehen,
|
|
wahrscheinlich durch die Benutzung des 3D-Engines zum zoomen und dem YUV framebuffer zum darstellen
|
|
des gezoomten Bildes. Wenn du wirklich X verwenden möchtest, benutze die <CODE>-vo x11 -fs -zoom</CODE> Option.
|
|
Es wird jedoch <B>LANGSAM</B> sein und hat einen <B>Macrovision</B> Kopierschutz aktiviert. Also wird
|
|
es nur bei einem direkt verbunden TV funkionieren, nicht bei einem VCR.
|
|
(Du kannst den Macrovision umgehen indem du <A HREF="http://avifile.sourceforge.net/mgamacro.pl">dieses</A> Perl
|
|
Skript verwendest.)</LI>
|
|
<LI><B>Framebuffer</B>: benützt das <B>matroxfb Module</B> in den 2.4 Kernels.
|
|
2.2 Kernels haben dieses TVout Feature nicht integriert, sind also unbrauchbar für dies.
|
|
Du musst dazu ALLE matroxfb-spezifischen Features aktiviert haben (ausser MultiHead)
|
|
und als <B>Module</B> kompilieren! I2C muss auch aktiviert sein.
|
|
|
|
<UL>
|
|
<LI>
|
|
Gehe ins Verzeichnis <CODE>TVout/matroxset</CODE> und gib <CODE>make</CODE> ein. Installiere
|
|
<CODE>matroxset</CODE> irgendwo in deinem PATH.</LI>
|
|
<LI>
|
|
Wenn du kein <CODE>fbset</CODE> installiert hast, gehe ins Verzeichnis
|
|
<CODE>TVout/fbset</CODE> and gib <CODE>make</CODE> ein. Installiere
|
|
<CODE>fbset</CODE> irgendwo in deinem PATH.</LI>
|
|
<LI>
|
|
Gehe danach ins <CODE>TVout/</CODE> Verzeichniss im <B>MPlayer</B>
|
|
Source, und führe <CODE>./modules</CODE> als root aus. Deine Textmode-Konsole geht in den
|
|
Framebuffer-Modus über (kein weg zurück!).</LI>
|
|
<LI>Als nächstes, führe das <CODE>./matroxtv</CODE> Script aus. Dies wird dir ein sehr einfaches
|
|
Menu präsentieren. Drücke <B>2</B> und <B>ENTER</B>. Nun solltest du dasselbe Bild auf deinem Monitor
|
|
und TV haben. Die <B>3.</B> Option aktiviert eine unabhängige Ausgabe. Aber dann <B>kannst du X nicht benutzen</B>!
|
|
Wenn das TV (PAL!) Bild einige seltsame Streifen darauf hat, war das Script nicht fähig die Auflösung
|
|
richtig zu setzen (zu 640x512 als Standard). Benutze zufällig irgendwelche andere Optionen und es wird wieder OK :)</LI>
|
|
</UL>
|
|
|
|
<P>Die nächste Aufgabe ist den Cursor auf tty1 (oder wo auch immer) zum verschwinden zu bringen und
|
|
das blinken zu deaktivieren. Führe folgendes Kommando aus:</P>
|
|
|
|
<P><CODE>echo -e '\033[?25l'</CODE> oder <CODE>setterm -cursor off<BR>
|
|
setterm -blank 0</CODE></P>
|
|
|
|
<P>Du willst wahrscheinlich das obrige in ein Skript tun und auch den Bildschirm löschen...
|
|
Um den Cursor schwarz zu machen: <BR><CODE>echo -e '\033[?25h'</CODE>
|
|
oder <CODE>setterm -cursor on</CODE></P>
|
|
|
|
<P>Starte nun einen Film mit <CODE>mplayer -vo mga -fs -screenw 640
|
|
-screenh 512 <dateiname></CODE><BR>
|
|
(wenn du X verwendest, ändere zu matroxfb mit z.B. CTRL-ALT-F1!)<BR>
|
|
Ändere die Auflösung zu 640x512.<BR>
|
|
<B>Geniesse die ultra-schnelle ultra-befähigte Matrox TV-Ausgabe (besser als Xv)!</B></P>
|
|
</LI>
|
|
</UL>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.A.2>2.3.1.A.2. ATI Karten</A></B></P>
|
|
|
|
<P><B>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>
|
|
|
|
<BLOCKQUOTE>
|
|
> 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?<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.
|
|
</BLOCKQUOTE>
|
|
|
|
<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:</P>
|
|
|
|
<UL>
|
|
<LI><B>ATI Mach64</B> verwendet <I>ImpacTV</I>, welcher von Gatos unterstützt wird.</LI>
|
|
<LI><B>ASIC Radeon VIVO</B> verwendet <I>Rage Theatre</I>, welcher von Gatos unterstützt wird.</LI>
|
|
<LI><B>Radeon VE</B> und <B>Rage PRO LT</B> verwenden <I>ImpacTV2+</I>, welcher unter Linux nicht
|
|
unterstützt wird.</LI>
|
|
<LI>Aber mit <B>MPlayer</B> erhältst du <B>vollständige Hardware-Beschleunigung</B>
|
|
und <B>TV Ausgabe</B> für Radeon Karten! Lies die <A HREF="#2.3.1.12">VESA Treiber</A> und
|
|
<A HREF="#2.3.1.14">Radeon Beschleunigung</A> Abschnitte.</LI>
|
|
</UL>
|
|
|
|
<P>Glücklicherweise können Benutzer mit genügend schnellen CPUs (Duron, Celeron2 und besser)
|
|
filme auf ihrem TV durch <A HREF="#2.3.1.12">VESA Treiber</A> sehen.</P>
|
|
|
|
<P>Ich könnte auch gute Worte zu ATI Inc. sagen:<BR>
|
|
<B>Sie produzieren BIOSs von höchster Qualität.</B></P>
|
|
|
|
<P><B>VESA Treiber</B> benutzen keine Harware-Beschleunigung, simulieren jedoch <B>DGA</B>
|
|
durch ein 64K Fenster, das durch 32-bit Modus Funktionen des BIOS konfiguriert wird.
|
|
ATI Karten haben genug <B>schnellen Videospeicher</B> (DIMM oder DDR
|
|
Chips mit 64 - 128-bit Zugriff). Es existieren keine Beschränkungen, welcher Videomodus
|
|
auf deinem TV dargestellt werden kann (wie bei anderen Karten). Du kannst also
|
|
<B>irgendeinen Videomodus</B> auf deinem <B>TV</B> benutzen (von <B>320x200</B> bis zu
|
|
<B>1024x768</B>).<BR>
|
|
Auf der anderen Seite (Es ist mindestens für <B>Radeon</B> Karten bekannt) gibt es einen <B>DGA</B>
|
|
Modus, welcher automatisch erkannt wird und in diesem Fall vergleichbare Geschwindigkeiten wie
|
|
die <B>-vo dga</B> und <B>-vo fbdev</B> Treiber liefert.<BR>
|
|
Das einzige, was du zu tun hast - <B>hab den TV-Anschluss eingesteckt bevor du deinen PC
|
|
startest</B> denn das Video BIOS initialisiert sich selbst nur einmal während der POST Prozedure.</P>
|
|
|
|
<P>Lies in der <A HREF="video.html#2.3.1.12">VESA</A> Sektion dieser Dokumentation um mehr Details zu erhalten.</P>
|
|
|
|
|
|
<P><B><A NAME=2.3.1.A.3>2.3.1.A.3. Voodoo 3</A></B></P>
|
|
|
|
<P>Überprüfe <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">diese URL</A>.</P>
|
|
|
|
</BODY>
|
|
</HTML>
|