mirror of
https://github.com/mpv-player/mpv
synced 2025-01-03 13:32:16 +00:00
691 lines
32 KiB
HTML
691 lines
32 KiB
HTML
|
<HTML>
|
|||
|
<BODY>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1>2.2.1. Video Ausgabe-Ger<65>te</A></B></P>
|
|||
|
|
|||
|
<TABLE BORDER=0>
|
|||
|
|
|||
|
<TD COLSPAN=4><P><B>Allgemein:</B></P></TD><TR>
|
|||
|
|
|||
|
<TD></TD><TD VALIGN=top>x11</TD><TD></TD><TD>X11 mit optionaler SHM Erweiterung</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>xv</TD><TD></TD><TD>X11, unter Verwendung oder Overlays mit der Xvideo Erweiterung (hardwareh<65><68>iges YUV & Scaling)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>gl</TD><TD></TD><TD>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>dga</TD><TD></TD><TD>X11 DGA Erweiterung</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>fbdev</TD><TD></TD><TD>Ausgabe zu allgemeinen Framebuffers</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>svga</TD><TD></TD><TD>Ausgabe zu SVGAlib</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>sdl</TD><TD></TD><TD>
|
|||
|
<CODE>1.1.7:</CODE> unterst<73>tzt Software-Scaling<BR>
|
|||
|
<CODE>1.1.8:</CODE> unterst<73>tzt Xvideo (hardarem<65><6D>iges Scaling/Vollbild)<BR>
|
|||
|
<CODE>1.2.0:</CODE> unterst<73>tzt AAlib (-vo aa ist sehr empfohlen, siehe unten!)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>ggi</TD><TD></TD><TD>vergleichbar mit SDL</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>aa</TD><TD></TD><TD>Textmodus-Rendering mit AAlib</TD><TR>
|
|||
|
|
|||
|
<TD COLSPAN=4><P><B>Karten-spezifisch:</B></P></TD><TR>
|
|||
|
|
|||
|
<TD> </TD><TD VALIGN=top>mga</TD><TD> </TD><TD>Matrox G200/G400 Hardware-YUV-Overlay via mga_vid-Device</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>xmga</TD><TD></TD><TD>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>syncfb</TD><TD></TD><TD>Matrox G400 YUV Unterst<73>tzung auf Framebuffer (verwende besser mga/xmga)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>3dfx</TD><TD></TD><TD>Voodoo2/3 Hardware YUV (/dev/3dfx) Unterst<73>tzung (noch nicht getestet,
|
|||
|
m<EFBFBD>glicherweise keine Funktion)
|
|||
|
</TD><TR>
|
|||
|
|
|||
|
<TD COLSPAN=4><P><B>Speziell:</B></P></TD><TR>
|
|||
|
|
|||
|
<TD> </TD><TD VALIGN=top>png</TD><TD> </TD><TD>PNG-Datei Ausgabe (-z Parameter um die Kompression einzustellen)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>pgm</TD><TD></TD><TD>PGM-Datei Ausgabe (f<>r Testzwecke oder ffmpeg-Encoding)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>md5</TD><TD></TD><TD>MD5sum Ausgabe (f<>r MPEG Tests)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>odivx</TD><TD></TD><TD>OpenDivX AVI-Datei Ausgabe (-br um die Bitrate einzustellen)</TD><TR>
|
|||
|
<TD></TD><TD VALIGN=top>null</TD><TD></TD><TD>Null Ausgabe (f<>r Geschwindigkeitsmessungen/Benchmark)</TD><TR>
|
|||
|
</TABLE>
|
|||
|
|
|||
|
<P>NOTE: <I>pr<EFBFBD>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 aktivieren, denn sie
|
|||
|
k<EFBFBD>nnen eine gro<72>en Geschwindigkeits-Schub bringen. 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><TABLE>
|
|||
|
<TD VALIGN=top><CODE>01:00.0</CODE></TD><TD><CODE>VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE></TD><TR>
|
|||
|
<TD></TD><TD><CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></TD><TR>
|
|||
|
</TABLE></P></CODE>
|
|||
|
<LI>von mga_vid Kerneltreiber-Meldungen (verwende dmesg):
|
|||
|
<P><CODE>mga_mem_base = d8000000</CODE></P>
|
|||
|
</UL></P>
|
|||
|
|
|||
|
<P>So, nun lass und die Speichergr<67><72>e finden. Dies ist sehr einfach, rechne
|
|||
|
einfach die Video-RAM-Gr<47><72>e in 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<67><72>e? Lass uns die MTRR Regi-
|
|||
|
ster 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<73>tzen MTRRs. Zum Bespiel <20>ltere K6-2's [etwas bei
|
|||
|
266Mhz, stepping 0] unterst<73>tzen kein MTRR, aber stepping 12 CPUs tuen es
|
|||
|
('<CODE>cat /proc/cpuinfo</CODE>' um es zu <20>berpr<70>fen').</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.2>2.2.1.2. Xv</A></B></P>
|
|||
|
|
|||
|
<P>Mit XFree86 4.0.2 oder neurer kannst du die Hardware-YUV-Routinen deiner
|
|||
|
Karte verwenden, mit Hilfe der XVideo Erweiterung. Das ist, was die Option
|
|||
|
'-vo xv' verwendet. Das es funktioniert, pr<70>fe folgendes:</P>
|
|||
|
<P><UL>
|
|||
|
<LI>Du verwendest XFree86 4.0.2 oder neuer (fr<66>here Versionen haben kein
|
|||
|
XVideo)
|
|||
|
<LI>Deine Karte unterst<73>tzt Hardwarebeschleunigung (die meisten aktuellen
|
|||
|
tuen das)
|
|||
|
<LI>X l<>d 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<>d nur die XFree86's Erweiterung. In einer guten Installation
|
|||
|
ist sie immer geladen, aber das bedeutet nicht, dass der Support zu _deiner_
|
|||
|
Karte geladen wurde!</P>
|
|||
|
|
|||
|
<LI>Deine Karte hat Xv Unterst<73>tzung unter Linux. Um es zu <20>berpr<70>fen, tippe
|
|||
|
'xvinfo', es ist ein Teil der XFree86 Distribution. Es sollte einen langen Text
|
|||
|
anzeigen, vergleichbar mit diesem:
|
|||
|
<PRE>
|
|||
|
X-Video Extension version 2.2
|
|||
|
screen #0
|
|||
|
Adaptor #0: "Savage Streams Engine"
|
|||
|
number of ports: 1
|
|||
|
port base: 43
|
|||
|
operations supported: PutImage
|
|||
|
supported visuals:
|
|||
|
depth 16, visualID 0x22
|
|||
|
depth 16, visualID 0x23
|
|||
|
number of attributes: 5
|
|||
|
(...)
|
|||
|
Number of image formats: 7
|
|||
|
id: 0x32595559 (YUY2)
|
|||
|
guid: 59555932-0000-0010-8000-00aa00389b71
|
|||
|
bits per pixel: 16
|
|||
|
number of planes: 1
|
|||
|
type: YUV (packed)
|
|||
|
id: 0x32315659 (YV12)
|
|||
|
guid: 59563132-0000-0010-8000-00aa00389b71
|
|||
|
bits per pixel: 12
|
|||
|
number of planes: 3
|
|||
|
type: YUV (planar)
|
|||
|
(...usw...)
|
|||
|
</PRE>
|
|||
|
|
|||
|
<P>Es muss YUY2 gepackte und YV12 Planar Pixelformate unterst<73>tzen, um
|
|||
|
hilfreich zu sein f<>r <B>MPlayer</B>.</P>
|
|||
|
|
|||
|
<LI>Und zum Schluss pr<70>fe, ob <B>MPlayer</B> mit 'xv' Unterst<73>tzung kompi-
|
|||
|
liert w<>rde.
|
|||
|
./configure zeigt dies.
|
|||
|
|
|||
|
</UL></P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.2.1>2.2.1.2.1. 3dfx Karten</A></B></P>
|
|||
|
|
|||
|
<P><EFBFBD>ltere 3dfx Treiber sind bekannt, dass sie Probleme mit der XVideo Beschleu-
|
|||
|
nigung machen, der Treiber unterst<73>tze weder YUY2 noch YV12. Pr<50>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 beim Verwenden von -vo xv siehst, versuche SDL (es
|
|||
|
unterst<EFBFBD>tzt auch XVideo) und schaue ob es funkioniert. Siehe <A HREF="#2.2.1.4">SDL Sektion</A>
|
|||
|
f<EFBFBD>r Details.</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, aber f<>r Savage4 verwende XFree86
|
|||
|
Version 4.0.3 oder neuer. Und f<>r 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<69>ren nVidia-
|
|||
|
Treiber, verf<72>gbar auf der nVidia Website, verwenden. Der Standard X-Treiber
|
|||
|
unterst<EFBFBD>tzt kein XVideo f<>r diese Karten, aufgrund der von nVidia geschlossenen
|
|||
|
Sources/Spezifikationen.</P>
|
|||
|
|
|||
|
<P><UL><LI>Riva128 Karten habe keine XVideo Unterst<73>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>Beim GATOS Treiber ist VSYNC standardgem<65><6D> eingeschaltet. Das bedeutet, dass
|
|||
|
die Dekodierungsgeschwindigkeit (!) synchron mit der Monitor-Refeshrate ist.
|
|||
|
Wenn die Wiedergabe langsam zu sein scheint, versuche irgentwie VSYNC auszu-
|
|||
|
schalten, oder setze die Refreshrate auf n*(fps des Films) Hz.</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 was DGA allgemein ist und was
|
|||
|
der 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<62>rzung f<>r Direct Graphics Access (Direkter Grafik-Zugriff)
|
|||
|
und bedeutet f<>r ein Programm, das es den X-Server <20>berbr<62>ckt und direkt den
|
|||
|
Framebuffer-Speicher zu <20>ndern.
|
|||
|
Technisch gesprochen passiert dies durch verschieben des Framebuffer-Speichers
|
|||
|
in den Speicherbereich des Prozesses. Dies wird vom Kernel nur erlaubt, wenn
|
|||
|
du Superuser-Rechter besitzt. Du kannst diese bekommen duch Einloggen als
|
|||
|
Rooot 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 von XFree 3.x.x und DGA2
|
|||
|
wurde zu XFree 4.0.1 entwickelt.</P>
|
|||
|
|
|||
|
<P>DGA1 unterst<73>tzt nur den direkten Framebuffer-Zugriff, wie oben beschrieben.
|
|||
|
F<EFBFBD>r das Andern der Farbtiefe eines Video-Signals muss man auf die XVidMode Er-
|
|||
|
weiterung zugeifen.</P>
|
|||
|
|
|||
|
<P>DGA2 arbeitet mit dem Feature der XVidMode Erweiterung zusammen, und erlaubt
|
|||
|
auch das <20>ndern der Farbtiefe. So kannst du dem XServer allgemein auf einer
|
|||
|
32 Bit Aufl<66>sung betreiben und die Farbtiefe damit auf 15 Bits verringern. </P>
|
|||
|
|
|||
|
<P>Wie auch immer, DGA hat auch einige Nachteile. Es scheint, als ob es irgendwie
|
|||
|
abh<EFBFBD>ngig ist vom Grafik-Chip und an der Implementation des XServer's Video-
|
|||
|
Treiber, welcher der 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 von DGA Unterst<73>tzung f<>r MPlayer</A></B></P>
|
|||
|
|
|||
|
<P>Als erstes pr<70>fe, dass X die DGA Erweiterung l<>d, siehe in /var/log/XFree86.0.log:</P>
|
|||
|
|
|||
|
<P> <CODE>(II) Loading extension XFree86-DGA</CODE></P>
|
|||
|
|
|||
|
<P>Siehe, XFree86 4.0.x oder neuer ist SEHR EMPFOHLEN!
|
|||
|
<B>MPlayer</B>s DGA-Treiber wird automatisch von ./configure erkannt, oder du kannst
|
|||
|
es erzwingen mit --enable-dga.</P>
|
|||
|
|
|||
|
<P>Wenn der Treiber nicht zu einer kleineren Aufl<66>sung wechseln kann, versuche
|
|||
|
mit den Befehlen -vm (nur mit 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, installiert bei
|
|||
|
<B>MPlayer</B> die SUID root:</P>
|
|||
|
|
|||
|
<P><CODE>
|
|||
|
<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
|
|||
|
SUID Root 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 die funktioniert!
|
|||
|
Es ist um einiges schneller!!!</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.3.4>2.2.1.3.4. <20>nderung der Aufl<66>sung</A></B></P>
|
|||
|
|
|||
|
<P>Der DGA Treiber erlaubt das <20>ndern der Aufl<66>sung des Ausgabe-Signals. Es er-
|
|||
|
spart die Verwendung von (langsamen) softwarem<65><6D>igen Scaling und erm<72>glicht zur
|
|||
|
selben Zeit Vollbild-Grafiken. Ideal w<>re es, wenn man auf die genaue Aufl<66>sung
|
|||
|
des Videos (w<>rde die richtige Rate veraussetzen), aber der XServer erlaubt nur
|
|||
|
das <20>nderen in eine Aufl<66>sung, die in <CODE>/etc/X11/XF86Config</CODE>
|
|||
|
(<CODE>/etc/X11/XF86Config-4</CODE> f<>r XFree 4.0.X) vordefiniert.
|
|||
|
Dies sind so genannte "Modelines" und sind von den F<>higkeiten deiner Video-
|
|||
|
Hardware abh<62>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
|
|||
|
funden werden unter:
|
|||
|
<CODE>/var/log/XFree86.0.log</CODE>.</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<50>tzen von <B>MPlayer</B> verwendet: Der SDL Treiber kann
|
|||
|
davon Verwendung nehmen (-vo sdl:dga) und der DGA-Treiber (-vo dga). Das oben
|
|||
|
genannte trifft f<>r beide zu; in der folgenden Sektion werde ich erkl<6B>ren, wie
|
|||
|
der DGA-Treiber f<>r <B>MPlayer</B> funktioniert.</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.3.6>2.2.1.3.6. Features des DGA-Treibers</A></B></P>
|
|||
|
|
|||
|
<P>Der DGA Treiber wird wird duch die -vo dga Option auf der Komandozeile aus-
|
|||
|
gew<EFBFBD>hlt. Das normale verhalten ist, dass der DGA-Treiber die Aufl<66>sung so weit
|
|||
|
wie m<>glich an das Video anzupassen. Es ignoriert die -vm und -fs Optionen (f<>r
|
|||
|
Videomodus-<2D>nderung und Vollbild) - es versucht immer so viel Fl<46>che wie m<>g-
|
|||
|
lich durch <20>ndern des Videomodus, dies erspartet eine zus<75>tzliche Verwendung
|
|||
|
der CPU um das Bild zu vergr<67><72>ern/verkleinern.
|
|||
|
Wenn du den Modus nicht magst, den der Treiber gew<65>hlt hat, kannst du das Modus
|
|||
|
das am ehestens passt m<>glicherweise mit -x und -y ausw<73>hlen.
|
|||
|
Mit der -v Option wird der DGA Treiber - neben vielen anderen Dingen - eine
|
|||
|
Liste der Aufl<66>sungen, die von deiner aktuellen XF86-Config Datei unterst<73>tzt
|
|||
|
werden.
|
|||
|
Unter DGA2 kannst du auch die Farbtiefe mit der -bpp Option einstellen. G<>ltige
|
|||
|
Farbtiefen sind 15, 16, 24 und 32. Es h<>ngt von deiner Hardware ab, ob diese
|
|||
|
Tiefen grundlegend unterst<73>tzt werden oder ob sie (was m<>glichweise langsam
|
|||
|
ist) konventiert wenden m<>ssen.</P>
|
|||
|
|
|||
|
<P>Wenn du Genug gl<67>ck hast und genug Offscreen-Speicher <20>brig ist und eine
|
|||
|
ganzes Bild darin zu speichern, wird der DGA Treiber "Doublebuffering" verwen-
|
|||
|
den, was ein fl<66>ssigeres Bild erm<72>glicht. Es wird der sagen, ob Doublebuffering
|
|||
|
eingeschaltet ist oder nicht.</P>
|
|||
|
|
|||
|
<P>Doublebuffering bedeutet, dass der n<>chste Frame des Videos bereits in den
|
|||
|
Offscreen-Speicher w<>hrend der akutelle Frame angezeigt wird. Wenn der n<>chste
|
|||
|
Wenn der n<>chster Frame fertig ist, wird dem Grafik-Chip nur die Position im
|
|||
|
Speicher mitgeteilet, wo sich der n<>chste Frame befindet und die Grafik ver-
|
|||
|
verwendet das Bild einfach von dort. In der Zwischenzeit wird der anderer Buf-
|
|||
|
fer wieder mit Video-Daten aufgef<65>llt.</P>
|
|||
|
|
|||
|
Doublebuffering kann man mit der Option -double ein- und mit der Option
|
|||
|
-nodouble ausschalten. Zur Zeit ist die Standard-Option den zus<75>tzlichen Buffer
|
|||
|
ausschaltet. Wenn der DGA-Treiber verwendet wird, funktioniert das Onscreen
|
|||
|
Display (OSD) nur mit eingeschaltetem Doublebuffering. Wie auch immer, das ein-
|
|||
|
schalter von Doublebuffering kann ein gro<72>er Geschwindigkeitsnachteil sein (auf
|
|||
|
meinem K6-II+ 525 verwerdet es zus<75>tzliche 20% der CPU-Zeit!), abh<62>ngig von der
|
|||
|
Implementation von DGA f<>r eine Hardware.</P>
|
|||
|
|
|||
|
|
|||
|
<P><B><A NAME=2.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 mit den zus<75>tzlichen Vorteils des
|
|||
|
m<EFBFBD>glichen Vollbildes. Die Prozentuelle Geschwindigkeitsangaben von MPlayer
|
|||
|
sollten aber mit Vorsicht gesehen werden, denn zum Beispiel wird beim X11-Trei-
|
|||
|
ber die Zeit, die vom X-Server ben<65>tigt wird um das Bild aufzubauen, nicht ein-
|
|||
|
gerechnet. Logge dich <20>ber ein Terminal <20>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<62>ngig von der Grafikkarte und wie gut
|
|||
|
das X-Server Modul daf<61>r optimiert ist.</P>
|
|||
|
|
|||
|
<P>Wenn du ein langsames system hat, verwende lieber 15 oder 16bit Farbtiefen,
|
|||
|
denn es verwendet nur halbe Speicherbandbreiten im Vergleich mit 32 bit.</P>
|
|||
|
|
|||
|
<P>Die Verwendung von 24bit ist eine gute Idee, wenn deine Karte 32 Bit Tiefe
|
|||
|
grundlegend unterst<73>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 wiedergeben wur-
|
|||
|
den. AMD K6-2 CPUs funktioniere 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 einigen Entwicklern von XFree zur Folge ist DGA immer noch ein
|
|||
|
wildes Tier. Sie sagen, es ist besser es nicht zu verwenden. Die Implemetation
|
|||
|
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<75>ckschalten nach dem Abspielen mit DGA
|
|||
|
<LI>einige Treiber schlagen Fehl bei dem Versuch zur<75>ck zur normalen Aufl<66>sung
|
|||
|
zu schalten (verwende STRG-ALT-Keypad +, - um manuell zu schalten)
|
|||
|
<LI>einige Treiber haben kleine Farbfehler
|
|||
|
<LI>einige Treiber l<>gen, im Bezug auf die Speichergange f<>r die Anwendung, dieses
|
|||
|
DGA wird kene Doublebuffering verwenden(SIS?)
|
|||
|
<LI>einige Treiber scheinen einen Fehler zu berichten zeigen nur eine g<>ltige
|
|||
|
Aufl<EFBFBD>sung an. In diesem Fall wird der DGA-Treiber abst<73>tzen, wenn er von einer
|
|||
|
unsinnigen Aufl<66>sungung von 100000x100000 oder <20>hnlich berichtet ...
|
|||
|
<LI>OSD funktionier nur mit eingeschaltetem Doublebuffering
|
|||
|
</UL></P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.3.9>2.2.1.3.9. Zuk<75>nftige Arbeiten</A></B></P>
|
|||
|
|
|||
|
<P><UL><LI>Verwendung des neuen X11 Render-Interface 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 funktionen sehr gut mit meinem Riva128 Chip unter ver-
|
|||
|
wendung 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 mt dem DGA-Treibers hat, sende mit einen Fehlerbericht
|
|||
|
(e-Mail Adresse siehe untern). Bitte starte MPlayer mit der -v Option und
|
|||
|
sende alle Zeilen in dem Fehlerbericht die mit vo_dga: beginnen</P>
|
|||
|
|
|||
|
<P>Bitte schreibe auch, welche Version von X11 du verwendest, die Grafikkarte
|
|||
|
und die Art von CPU. Das X11-Treiber Module (definiert in XF86-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 sind einige Hinweise <20>ber SDL-Ausgabe in <B>MPlayer</B>.</P>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<P><TABLE BORDER=0>
|
|||
|
<TD COLSPAN=4><P><B>Es gibt einige Commandline-Optionen f<>r SDL:</B></P></TD><TR>
|
|||
|
<TD> </TD><TD>-vo sdl:name</TD><TD> </TD><TD>
|
|||
|
w<EFBFBD>hlt den zu verwendenden Video Treiber aus (z.B. aalib, dga, x11)</TD><TR>
|
|||
|
<TD></TD><TD>-ao sdl:name</TD><TD></TD><TD>w<EFBFBD>hlt den zu verwendenden Audio Treiber aus (z.B. dsp,
|
|||
|
esd, arts)</TD><TR>
|
|||
|
<TD></TD><TD>-noxv</TD><TD></TD><TD>schaltet die Xvideo Hardwarebeschleunigung aus</TD><TR>
|
|||
|
<TD></TD><TD>-forcexv</TD><TD></TD><TD>versucht die Xvideo-Beschleunigung zu erzwingen</TD><TR>
|
|||
|
|
|||
|
<TD COLSPAN=4><P><B>SDL-Tasten:</B></P></TD><TR>
|
|||
|
|
|||
|
<TD></TD><TD>F</TD><TD></TD><TD>w<EFBFBD>hlt Vollbild/Fenster Modus</TD><TR>
|
|||
|
<TD></TD><TD>C</TD><TD></TD><TD>verf<EFBFBD>gbare Zyklen beim Vollbild-Modus</TD><TR>
|
|||
|
<TD></TD><TD>W/S</TD><TD></TD><TD>zusammenh<EFBFBD>ngend zu * und / (Mixer-Kontrolle)</TD><TR>
|
|||
|
|
|||
|
</TABLE></P>
|
|||
|
|
|||
|
<P><B>BEKANNTE FEHLER:</B></P>
|
|||
|
<P><UL><LI>Wenn Tasten unter dem sdl:aalib Konsolentreiber verwendet werden, wieder-
|
|||
|
holt es sich f<>r immer. (verwende -vo aa !)
|
|||
|
Es ist ein Bug in SDL, ich kann es nicht <20>ndern (getestet mit SDL 1.2.1).
|
|||
|
</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! Sie dir sicher, dass du
|
|||
|
nicht die -fs Option verwendest, seit es Software-Scaling unterst<73>tzt und es
|
|||
|
nun sehr LANGSAM ist, ausser wenn du eine echt schnelle CPU (und/oder MTRR?)
|
|||
|
hast. :(</P>
|
|||
|
|
|||
|
<P>Nat<EFBFBD>rlich musst du die svgalib und das Development-Paket installieren, damit
|
|||
|
<B>MPlayer</B> seinen SVGAlib Treiber einbaut (wird automatisch erkannt, kann aber
|
|||
|
erzwungen werden) und vergiss nicht die /etc/vga/libvga.config passend zu deiner
|
|||
|
Karte & 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<73>tzung eingebaut wird 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>Wenn deine Karte den VBE 2.0 Standard (<28>ltere ISA/PCI Karten wie S3 Trio64)
|
|||
|
nicht unterst<73>tzt, nur VBE 1.2 (oder <20>lter?) :
|
|||
|
Nun, VESAfb ist auch verf<72>gbar, aber du musst den SciTech Display Doctor
|
|||
|
(genannt UniVBE) vor Linux laden. Verwenden eine DOS-Startdiskette oder was
|
|||
|
auch immer. Und vergiss nicht deinen UniVBE zu registrieren ;))</P>
|
|||
|
|
|||
|
<P>Bei der FBdev Ausgabe k<>nnen einige zus<75>tzliche Parameter verwendet werden:</P>
|
|||
|
|
|||
|
<P><TABLE BORDER=0>
|
|||
|
<TD> </TD><TD>-fb</TD><TD> </TD><TD>
|
|||
|
spezifiziert den zu verwendenden Framebuffer (/dev/fd0)</TD><TR>
|
|||
|
<TD></TD><TD>-fbmode</TD><TD></TD><TD>Modus-Name der verwendet werden soll (siehe /etc/fb.modes)</TD><TR>
|
|||
|
<TD></TD><TD>-fbmodeconfig</TD><TD></TD><TD> Konfiguratiosdatei f<>r Modus-Namen (standard ist /etc/fb.modes)</TD><TR>
|
|||
|
<TD></TD><TD>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3>WICHTIGE Werte, siehe example.conf</TD><TR>
|
|||
|
<TD></TD><TD>-monitor_vfreq</TD><TD></TD><TR>
|
|||
|
<TD></TD><TD>-monitor_dotclock</TD><TD></TD><TR>
|
|||
|
</TABLE></P>
|
|||
|
|
|||
|
<P>Wenn du zu einem speziellen Modus welchsel 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<73>tzt, wenn das Pixel-Format des Videos mit dem
|
|||
|
Video-Modus <20>bereinstimmt.
|
|||
|
Unter Beobachtung des bpp-Wertes, versucht der fbdev-Treiber den aktuellen oder
|
|||
|
den mit der -bpp Option eingestellten Wert zu verwenden.
|
|||
|
<LI><B>-zoom</B> Option ist nicht unterst<73>tzt (Software-Scaling ist langsam).
|
|||
|
-fs Option ist nicht unterst<73>tzt. Du kannst keine 8bpp (oder weniger) Moduse
|
|||
|
verwenden.</UL></P>
|
|||
|
|
|||
|
<P>HINWEIS: FBdev Video-Modus-<2D>nderungen _funktionieren nicht_ mit dem VESA
|
|||
|
Framebuffer, also frage nicht danach, wenn ist keine <B>MPlayer</B> Beschr<68>n-
|
|||
|
kung ist.</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.7>2.2.1.7. Matrox Framebuffer (mga_vid)</A></B></P>
|
|||
|
|
|||
|
<P>Diese Abschnitt ist <20>ber Matrox G200/G400/G450 BES (Back-End Scaler) Unter-
|
|||
|
st<EFBFBD>tzung, dem mga_vid Kernel-Treiber. Ist wird aktiv entwickelt von mir
|
|||
|
(A'rpi), und es hat Hardware-VSYNC-Unterst<73>tzung mit dreifach-Buffering. Es
|
|||
|
funktiert auf beidem, 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<65>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<67><72>e pr<70>fen, dazu verwende den 'dmesg'
|
|||
|
Befehl. Wenn es nicht stimmt, verwende die mga_ram_size Option (rmmod mga_vid
|
|||
|
als erstes) und gib die Speichergr<67><72>e der Karte in MB an:</P>
|
|||
|
|
|||
|
<P><CODE> insmod mga_vid.o mga_ram_size=16</CODE></P>
|
|||
|
|
|||
|
<P>Um den Treiber automatisch geladen/ungeladen zu machen, 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 erkennen und den 'mga' Treiber einbauen. Die Verwendung mit
|
|||
|
<B>MPlayer</B> wird mit '-vo mga' wenn man eine matroxfb Konsole hat oder mit
|
|||
|
'-vo xmga' unter XFree86 3.x.x oder 4.x.x realisiert.</P>
|
|||
|
|
|||
|
<P>Hinweis: '-vo xmga' funktioniert unter XFree86 4.x.x, aber ist werden Kon-
|
|||
|
flikte mit dem Xv Treiber auftreten, also verwende nicht beide. Wenn Xv mit mga
|
|||
|
durcheinanderkommt, versuche <B>MPlayer</B> mit '-vo mga' . Es sollte das Be-
|
|||
|
heben.</P>
|
|||
|
|
|||
|
|
|||
|
<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<67>ndert wurde, also ist es nicht mehr
|
|||
|
aktuell. Es sollte getestet und der Code auf den letzten Stand gebracht werden.</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.9>2.2.1.9. 3dfx YUV Unterst<73>tzung</A></B></P>
|
|||
|
|
|||
|
<P>3dfx Karten haben YUV+Scaling Support, unter Verwendung vom /dev/3dfx (tdfx.o
|
|||
|
Treiber?) Der /dev/3dfx Kernel-Treiber existiert nur f<>r 2.2.x Kernels f<>r die
|
|||
|
Verweundung mit Glide 2.x Linux Ports. Es wurde nicht getestet mit <B>MPlayer</B>,
|
|||
|
und dadurch nicht mehr unterst<73>tzt. Es sollte getestet und der Code up-to-date
|
|||
|
gebracht werden.</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.10>2.2.1.10. OpenGL Ausgabe</A></B></P>
|
|||
|
|
|||
|
<P><B>MPlayer</B> unterst<73>tzt die Ausgabe von Videos <20>ber OpenGL. Ungl<67>ck-
|
|||
|
licherweise unterst<73>tzten nicht alle Treiber diese F<>higkeit. Zum Beispiel
|
|||
|
haben es allen Karte mit Utah-GLX Treibern Unterst<73>tzung (f<>r XFree86 3.3.6).
|
|||
|
Siehe <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
|
|||
|
f<EFBFBD>r Details f<>r die Installation.</P>
|
|||
|
|
|||
|
<P>XFree86(DRI) >= 4.0.3 unterst<73>tzt nur Matrox und Radeon Karden.
|
|||
|
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 - text mode displaying</B></P>
|
|||
|
|
|||
|
<P><B>AAlib</B> ist eine Library f<>r die Anzeige im grafischen Modus, unter Ver-
|
|||
|
wendung des ASCII Renderer. Es gibt EINE MENGE von Programmen die es bereits
|
|||
|
unterst<EFBFBD>tzen, wie Doom, Quake, usw. MPlayer enth<74>lt einen sehr gut brauchbaren
|
|||
|
Treiber daf<61>r.
|
|||
|
Wenn ./configure erkennt, dass aalib installiert ist, wird der aalib libvo
|
|||
|
Treiber eingebaut.</P>
|
|||
|
|
|||
|
<P><TABLE BORDER=0>
|
|||
|
<TD COLSPAN=4><P><B>Du kannst einige Tasten verwenden im AA Fenster, um Rendering-Optionen zu <20>ndern:</B></P></TD><TR>
|
|||
|
<TD> </TD><TD>1</TD><TD> </TD><TD>verringert Kontrast</TD><TR>
|
|||
|
<TD></TD><TD>2</TD><TD></TD><TD>erh<EFBFBD>ht Kontrast</TD><TR>
|
|||
|
<TD></TD><TD>3</TD><TD></TD><TD>verringert Sch<63>rfe</TD><TR>
|
|||
|
<TD></TD><TD>4</TD><TD></TD><TD>erh<EFBFBD>ht Sch<63>rft</TD><TR>
|
|||
|
<TD></TD><TD>5</TD><TD></TD><TD>schaltet schnelles Rendern ein/aus</TD><TR>
|
|||
|
<TD></TD><TD>6</TD><TD></TD><TD>setzt das Farbmischungs-Modus (keine, error dithering, floyd steinberg)</TD><TR>
|
|||
|
<TD></TD><TD>7</TD><TD></TD><TD>Invertiere Bild</TD><TR>
|
|||
|
<TD></TD><TD>a</TD><TD></TD><TD>welchselt zwischen AA und MPlayer Kontrolle)</TD><TR>
|
|||
|
|
|||
|
<TD COLSPAN=4><P><B>Die folgenden Kommandozeilen-Optionen k<>nnen verwendet werden:</B></P></TD><TR>
|
|||
|
|
|||
|
<TD></TD><TD>-aaosdcolor=V</TD><TD></TD><TD><EFBFBD>ndert OSD-Farbe</TD><TR>
|
|||
|
<TD></TD><TD>-aasubcolor=V</TD><TD></TD><TD><EFBFBD>ndert Untertitel-Farbe</TD><TR>
|
|||
|
<TD COLSPAN=3></TD><TD><P><I>wobei V sein kann: (0/Normal, 1/Dunkel, 2/Fett, 3/Fettschift, 4/R<>ckw<6B>rts, 5/Spezial)</P></TD><TR>
|
|||
|
|
|||
|
<TD COLSPAN=4><P><B>AAlib selbst unterst<73>tzt eine gr<67><72>e Summe von Optionen.
|
|||
|
Hier einige wichtige:</P></B></TD><TR>
|
|||
|
|
|||
|
<TD></TD><TD>-aadriver</TD><TD></TD><TD>setzt erforderlichen AA Treiber (X11, curses, linux)</TD><TR>
|
|||
|
<TD></TD><TD>-aaextended</TD><TD></TD><TD>verwende alle 256 Zeichen</TD><TR>
|
|||
|
<TD></TD><TD>-aaeight</TD><TD></TD><TD>verwendet acht-bit ASCII</TD><TR>
|
|||
|
<TD></TD><TD>-aahelp</TD><TD></TD><TD>gibt alle AAlib-Optionen aus</TD><TR>
|
|||
|
</TABLE></P>
|
|||
|
|
|||
|
<P>HINWEIS: Das Rendering ist sehr CPU-Intersiv, besonders bei AA-on-X (AAlib
|
|||
|
Verwendung unter X) und brauch am wenigsten CPU-Leistung auf einer standard,
|
|||
|
nicht-Framebuffer Konsole. Verwende SVGATextMode im ein gro<72>es Textmodus ein-
|
|||
|
zustellen und geniese es! (Zweikopf (Dual Head) Hercules Karten rock :)) (kann
|
|||
|
vielleicht irgendjemand bdev erweiteren, um Konversion/Farbmischung bei hgafb?
|
|||
|
W<EFBFBD>re nett :)</P>
|
|||
|
|
|||
|
<P>Verwende die -framedrop Option wenn dein Computer nicht schnell genug ist,
|
|||
|
um alle Frames zu Verarbeiten!</P>
|
|||
|
|
|||
|
<P>Beim Abspielen auf einem Terminal wirst du eine bessere Geschwindigkeit und
|
|||
|
Qualit<EFBFBD>t bekommen, wenn du den Linux-Treiber, und nicht den Curses (-aadriver
|
|||
|
linux) verwendest. Aber dazu brauchst du Scheibzugriff auf/dev/vcsa<terminal>!
|
|||
|
Dies wird nicht automatisch erkannt von aalib, aber vo_aa versucht die beste
|
|||
|
M<EFBFBD>glichkeit zu finden. Siehe <A HREF="http://aa-project.sourceforge.net/tune">http://aa-project.sourceforge.net/tune/</A> f<>r zus<75>tz-
|
|||
|
liche Tuning-M<>glichkeiten.</P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.A>2.2.1.A. TV-Out Unterst<73>tzung</A></B></P>
|
|||
|
|
|||
|
<P><B><A NAME=2.2.1.A.1>2.2.1.A.1. Matrox Karten</A></B></P>
|
|||
|
|
|||
|
<P><I> Ich w<>rde gerne MPlayer mit dem selben Feature sehen, wie auf meiner
|
|||
|
Windows-Box. Wenn ich ein Video unter Windoes starte (als ein Fenster oder
|
|||
|
in Vollbild) wird das Bild auch <20>ber TV-Out wiedergegeben und ich kann es auch
|
|||
|
mit Vollbild auf meinem Fernseher sehen. Ich liebe diese Feature aber wir ich
|
|||
|
war verwundet, wie schwer es sich einbauen lie<69>e.</I></P>
|
|||
|
|
|||
|
<P>Dies ist eine Treiberbeschr<68>nkung. BES (Back-End Scaler, dies ist der
|
|||
|
Overlay-Erzeuger und die YUV Scaling-Engine f<>r G200/G400/G450 Karte)
|
|||
|
funitniert nur mit CRTC1. Normalerweise wird CRTC1 (Textmodus, jeder Farbtiefe
|
|||
|
und BES) auf den Kopf1 (HEAD1) geroutet, und CRTC2 (nur 16/32bpp Grafiken) wird
|
|||
|
auf den HEAD2 (TV-out) geroutet.</P>
|
|||
|
|
|||
|
<P>Unter Linux hast du 2 M<>glichkeiten, dass der TV-Out funktioniert:</P>
|
|||
|
|
|||
|
<P><UL>
|
|||
|
<LI>Verwende X 4.0.x + den HAL-Treiber von Matrox, so willst du Dual-Head-
|
|||
|
Unterst<EFBFBD>tzung erhalten und es wird m<>glich sein den 2. Ausgang zum TV zu
|
|||
|
bringen. Ungl<67>cklichweise hat es die Macrovision Verschl<68>sselung aktiviert,
|
|||
|
also wird es nur bei einem direkt verbunden TV funkioniert, nicht bei einem
|
|||
|
VCR. Ein anderes Problem ist, dass Xv auf dem 2 Head nicht funkioniert.
|
|||
|
(ich weiss nicht, wie Windows das Problem l<>st, m<>glichweise vertauscht es
|
|||
|
die CRTCs zwischen den K<>pfen oder verwendet nut YUV Framebuffer vom 2. DAC mit
|
|||
|
einigen Tricks)
|
|||
|
<LI>Verwende matroxfb mit eingeschalteter Dual-Head Unterst<73>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<73>tzung).
|
|||
|
Jedoch kannst du X vergessen, w<>hrend du diese Art von TV-Out verwendest! :(
|
|||
|
</UL></P>
|
|||
|
|
|||
|
<P>Folge diesen Anweisungen:</P>
|
|||
|
|
|||
|
<P><UL>
|
|||
|
<LI>Kompiliere alle sich auf Matrox beziehende Treiber als Module f<>r den Ker-
|
|||
|
nel. (du MUSST sie als Module kompilieren, zumindest ich konnte bisher nicht
|
|||
|
zum Funktionieren bringen, wenn es eingebaut war im Kernel)
|
|||
|
[starte mit dem neuen Kernel & install modules, aber lade sie nicht!]
|
|||
|
<P><CODE>
|
|||
|
cd TVout<BR>
|
|||
|
./compile.sh</CODE></P>
|
|||
|
<LI>Start den 'modules' Script von TV-Out Verzeichnis von MPlayer.
|
|||
|
Es wird deine Konsole zum Framebuffer machen.
|
|||
|
Welchsle auf tty1 (ALT+F1)!
|
|||
|
Nun start den Script 'independent', es wird deine ttys einstellen:
|
|||
|
<P>tty 1,2: fb Konsole, CRTC2, Head 1 (Monitor)<BR>
|
|||
|
tty 3,4,5...: Framebuffer+BES, CRTC1, Head 2 (TV-Out)</P>
|
|||
|
Du solltest die TV-* und Mon-* Scripts starten um die Aufl<66>sung einzustellen:
|
|||
|
<P>wechsle auf tty1 (ALT+F1) und starte Mon-* (eines davon)<BR>
|
|||
|
wechsle auf tty3 (ALT+F3) und zur<75>ck auf tty1 (ALT+F1)</P>
|
|||
|
(dies wird tty3 auf /dev/fb1 ausw<73>hlen)<BR>
|
|||
|
<P>starte TV-* (eines davon)</P>
|
|||
|
(nun wirst du eine Konsole auf deinem PAL-Fernseher bekommen - ich weiss nichts
|
|||
|
<EFBFBD>ber NTSC)
|
|||
|
<P>Wenn du nun MPlayer (auf tty1) startst, wird das Bild auf tty3 angezeigt,
|
|||
|
also wirst du es auf dem Fernseher oder dem 2. Monitor sehen.</P>
|
|||
|
</UL></P>
|
|||
|
|
|||
|
<P>Ja, es ist zur Zeit noch ein "hack". Aber ich warte, dass das Marvel-Projekt
|
|||
|
fertig gestellt wurde. Es wird eine richtigen TV-Out Treiber enhalten, hoffe
|
|||
|
ich.</P>
|
|||
|
|
|||
|
<P>Zur Zeit ist mein Problem das BES nur mit CRTC1 funktioniert. Also wird das
|
|||
|
Bild immer auf dem Kopf, der auf CRTC1 (normalerweise der Monitor) geroutet
|
|||
|
ist, darum muss man auch die CRTCs vertauschen, aber dabei wird deine Konsole
|
|||
|
ein Framebuffer (CRTC2 kann kein Textmode) und ein bisschen schnell (keine
|
|||
|
Beschleunigung). :(</P>
|
|||
|
|
|||
|
<P><I>Irgendwie bekomme ich nur eine Schwarz-Weiss Ausgabe am Fernseher ...</I>
|
|||
|
Hast du vielleicht einen NTSC Fernseher? Oder hast du vielleicht nicht einen der
|
|||
|
TV-* Scripts laufen lassen?</P>
|
|||
|
|
|||
|
</BODY>
|
|||
|
</HTML>
|