comparison DOCS/German/video.html @ 1895:0213c552aa70

*** empty log message ***
author jaf
date Sun, 16 Sep 2001 07:12:39 +0000
parents
children 43152677ed89
comparison
equal deleted inserted replaced
1894:92b0270f8f8a 1895:0213c552aa70
1 <HTML>
2 <BODY>
3
4 <P><B><A NAME=2.2.1>2.2.1. Video Ausgabe-Geräte</A></B></P>
5
6 <TABLE BORDER=0>
7
8 <TD COLSPAN=4><P><B>Allgemein:</B></P></TD><TR>
9
10 <TD></TD><TD VALIGN=top>x11</TD><TD></TD><TD>X11 mit optionaler SHM Erweiterung</TD><TR>
11 <TD></TD><TD VALIGN=top>xv</TD><TD></TD><TD>X11, unter Verwendung oder Overlays mit der Xvideo Erweiterung (hardwarehäßiges YUV & Scaling)</TD><TR>
12 <TD></TD><TD VALIGN=top>gl</TD><TD></TD><TD>OpenGL Renderer, funktioniert nur mit:
13 <UL><LI>allen Karten mit Utah-GLX
14 <LI>Matrox Karten mit X/DRI >=4.0.3
15 <LI>Radeon mit X/DRI CVS</UL></TD><TR>
16 <TD></TD><TD VALIGN=top>dga</TD><TD></TD><TD>X11 DGA Erweiterung</TD><TR>
17 <TD></TD><TD VALIGN=top>fbdev</TD><TD></TD><TD>Ausgabe zu allgemeinen Framebuffers</TD><TR>
18 <TD></TD><TD VALIGN=top>svga</TD><TD></TD><TD>Ausgabe zu SVGAlib</TD><TR>
19 <TD></TD><TD VALIGN=top>sdl</TD><TD></TD><TD>
20 &nbsp;&nbsp;<CODE>1.1.7:</CODE> unterstützt Software-Scaling<BR>
21 &nbsp;&nbsp;<CODE>1.1.8:</CODE> unterstützt Xvideo (hardaremäßiges Scaling/Vollbild)<BR>
22 &nbsp;&nbsp;<CODE>1.2.0:</CODE> unterstützt AAlib (-vo aa ist sehr empfohlen, siehe unten!)</TD><TR>
23 <TD></TD><TD VALIGN=top>ggi</TD><TD></TD><TD>vergleichbar mit SDL</TD><TR>
24 <TD></TD><TD VALIGN=top>aa</TD><TD></TD><TD>Textmodus-Rendering mit AAlib</TD><TR>
25
26 <TD COLSPAN=4><P><B>Karten-spezifisch:</B></P></TD><TR>
27
28 <TD>&nbsp;&nbsp;</TD><TD VALIGN=top>mga</TD><TD>&nbsp;&nbsp;</TD><TD>Matrox G200/G400 Hardware-YUV-Overlay via mga_vid-Device</TD><TR>
29 <TD></TD><TD VALIGN=top>xmga</TD><TD></TD><TD>Matrox G200/G400 Overlay (mga_vid) in X11 Fenster<BR>
30 (<I>Xv Emulation auf X 3.3.x !</I>)</TD><TR>
31 <TD></TD><TD VALIGN=top>syncfb</TD><TD></TD><TD>Matrox G400 YUV Unterstützung auf Framebuffer (verwende besser mga/xmga)</TD><TR>
32 <TD></TD><TD VALIGN=top>3dfx</TD><TD></TD><TD>Voodoo2/3 Hardware YUV (/dev/3dfx) Unterstützung (noch nicht getestet,
33 möglicherweise keine Funktion)
34 </TD><TR>
35
36 <TD COLSPAN=4><P><B>Speziell:</B></P></TD><TR>
37
38 <TD>&nbsp;&nbsp;</TD><TD VALIGN=top>png</TD><TD>&nbsp;&nbsp;</TD><TD>PNG-Datei Ausgabe (-z Parameter um die Kompression einzustellen)</TD><TR>
39 <TD></TD><TD VALIGN=top>pgm</TD><TD></TD><TD>PGM-Datei Ausgabe (für Testzwecke oder ffmpeg-Encoding)</TD><TR>
40 <TD></TD><TD VALIGN=top>md5</TD><TD></TD><TD>MD5sum Ausgabe (für MPEG Tests)</TD><TR>
41 <TD></TD><TD VALIGN=top>odivx</TD><TD></TD><TD>OpenDivX AVI-Datei Ausgabe (-br um die Bitrate einzustellen)</TD><TR>
42 <TD></TD><TD VALIGN=top>null</TD><TD></TD><TD>Null Ausgabe (für Geschwindigkeitsmessungen/Benchmark)</TD><TR>
43 </TABLE>
44
45 <P>NOTE: <I>prüfe die folgende Untersektion für Details und Voraussetzungen!</I></P>
46
47
48 <P><B><A NAME=2.2.1.1>2.2.1.1. MTRR</A></B></P>
49
50 <P>Es ist SEHR zu empfehlen, dass man die MTRR Register aktivieren, denn sie
51 können eine großen Geschwindigkeits-Schub bringen. Als erstes musst du die
52 Base-Adresse finden.
53 Du hast 3 Möglichkeiten um sie zu finden:</P>
54
55 <P><UL>
56 <LI>durch die X11 Start-Meldungen, zum Beispiel:
57 <P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
58 (--) SVGA: Linear framebuffer at 0xD8000000</CODE></P>
59 <LI>durch /proc/pci (verwende lspci -v Befehl):
60 <P><TABLE>
61 <TD VALIGN=top><CODE>01:00.0</CODE></TD><TD><CODE>VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE></TD><TR>
62 <TD></TD><TD><CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></TD><TR>
63 </TABLE></P></CODE>
64 <LI>von mga_vid Kerneltreiber-Meldungen (verwende dmesg):
65 <P><CODE>mga_mem_base = d8000000</CODE></P>
66 </UL></P>
67
68 <P>So, nun lass und die Speichergröße finden. Dies ist sehr einfach, rechne
69 einfach die Video-RAM-Größe in Hexdezimal, oder verwende diese Tabelle:</P>
70
71 <TABLE BORDER=0>
72 <TD>&nbsp;&nbsp;</TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD><TR>
73 <TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD><TR>
74 <TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD><TR>
75 <TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD><TR>
76 <TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD><TR>
77 <TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD><TR>
78 </TABLE>
79
80
81 <P>Du weisst die Base-Adresse und die Speichergröße? Lass uns die MTRR Regi-
82 ster einstellen!
83 Zum Beispiel für die Matrox Karte von oben (base=0xd8000000) mit 32MB RAM
84 (size=0x2000000) führe einfach das Folgende aus:</P>
85
86
87 <P><CODE>&nbsp;&nbsp;echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr</CODE></P>
88
89
90 <P>Nicht alle CPUs unterstützen MTRRs. Zum Bespiel ältere K6-2's [etwas bei
91 266Mhz, stepping 0] unterstützen kein MTRR, aber stepping 12 CPUs tuen es
92 ('<CODE>cat /proc/cpuinfo</CODE>' um es zu überprüfen').</P>
93
94 <P><B><A NAME=2.2.1.2>2.2.1.2. Xv</A></B></P>
95
96 <P>Mit XFree86 4.0.2 oder neurer kannst du die Hardware-YUV-Routinen deiner
97 Karte verwenden, mit Hilfe der XVideo Erweiterung. Das ist, was die Option
98 '-vo xv' verwendet. Das es funktioniert, prüfe folgendes:</P>
99 <P><UL>
100 <LI>Du verwendest XFree86 4.0.2 oder neuer (frühere Versionen haben kein
101 XVideo)
102 <LI>Deine Karte unterstützt Hardwarebeschleunigung (die meisten aktuellen
103 tuen das)
104 <LI>X läd die XVideo Erweiterung, das sieht etwa so aus:
105
106 <P><CODE>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
107 <P>in /var/log/XFree86.0.log</P>
108
109 <P>HINWEIS: dies läd nur die XFree86's Erweiterung. In einer guten Installation
110 ist sie immer geladen, aber das bedeutet nicht, dass der Support zu _deiner_
111 Karte geladen wurde!</P>
112
113 <LI>Deine Karte hat Xv Unterstützung unter Linux. Um es zu überprüfen, tippe
114 'xvinfo', es ist ein Teil der XFree86 Distribution. Es sollte einen langen Text
115 anzeigen, vergleichbar mit diesem:
116 <PRE>
117 X-Video Extension version 2.2
118 screen #0
119 Adaptor #0: "Savage Streams Engine"
120 number of ports: 1
121 port base: 43
122 operations supported: PutImage
123 supported visuals:
124 depth 16, visualID 0x22
125 depth 16, visualID 0x23
126 number of attributes: 5
127 (...)
128 Number of image formats: 7
129 id: 0x32595559 (YUY2)
130 guid: 59555932-0000-0010-8000-00aa00389b71
131 bits per pixel: 16
132 number of planes: 1
133 type: YUV (packed)
134 id: 0x32315659 (YV12)
135 guid: 59563132-0000-0010-8000-00aa00389b71
136 bits per pixel: 12
137 number of planes: 3
138 type: YUV (planar)
139 (...usw...)
140 </PRE>
141
142 <P>Es muss YUY2 gepackte und YV12 Planar Pixelformate unterstützen, um
143 hilfreich zu sein für <B>MPlayer</B>.</P>
144
145 <LI>Und zum Schluss prüfe, ob <B>MPlayer</B> mit 'xv' Unterstützung kompi-
146 liert würde.
147 ./configure zeigt dies.
148
149 </UL></P>
150
151 <P><B><A NAME=2.2.1.2.1>2.2.1.2.1. 3dfx Karten</A></B></P>
152
153 <P>Ältere 3dfx Treiber sind bekannt, dass sie Probleme mit der XVideo Beschleu-
154 nigung machen, der Treiber unterstütze weder YUY2 noch YV12. Prüfe ob du XFree86
155 Version 4.1.0 oder neuer hast, da funktioniert es. Alternativ kannst auch auch
156 <A HREF="http://dri.sourceforge.net">DRI</A> cvs verwenden.
157 Wenn du eigenartige Effekte beim Verwenden von -vo xv siehst, versuche SDL (es
158 unterstützt auch XVideo) und schaue ob es funkioniert. Siehe <A HREF="#2.2.1.4">SDL Sektion</A>
159 für Details.</P>
160
161
162 <P><B><A NAME=2.2.1.2.2>2.2.1.2.2. S3 Karten</A></B></P>
163
164 <P>S3 Savage3Ds sollten gut funktionieren, aber für Savage4 verwende XFree86
165 Version 4.0.3 oder neuer. Und für S3 Virge.. verkaufe sie.</P>
166
167 <P><B><A NAME=2.2.1.2.3>2.2.1.2.3. nVidia Karten</A></B></P>
168
169 <P>nVidia ist keine gute Wahl für Linux.. Du musst dazu den binären nVidia-
170 Treiber, verfügbar auf der nVidia Website, verwenden. Der Standard X-Treiber
171 unterstützt kein XVideo für diese Karten, aufgrund der von nVidia geschlossenen
172 Sources/Spezifikationen.</P>
173
174 <P><UL><LI>Riva128 Karten habe keine XVideo Unterstützung, auch nicht mit dem
175 nVidia-Treiber :(
176 Wende dich an NVidia.</UL></P>
177
178
179 <P><B><A NAME=2.2.1.2.4>2.2.1.2.4. ATI Karten</A></B></P>
180
181 <P>Beim GATOS Treiber ist VSYNC standardgemäß eingeschaltet. Das bedeutet, dass
182 die Dekodierungsgeschwindigkeit (!) synchron mit der Monitor-Refeshrate ist.
183 Wenn die Wiedergabe langsam zu sein scheint, versuche irgentwie VSYNC auszu-
184 schalten, oder setze die Refreshrate auf n*(fps des Films) Hz.</P>
185
186
187 <P><B><A NAME=2.2.1.3>2.2.1.3. DGA</A></B></P>
188
189 <P><B><A NAME=2.2.1.3.1>2.2.1.3.1. Zusammenfassung</A></B></P>
190
191 <P>Dieses Dokument versucht mit einigen Worten was DGA allgemein ist und was
192 der DGA Video-Ausgabetreiber für MPlayer alles machen kann (und was es nicht
193 kann).</P>
194
195
196 <P><B><A NAME=2.2.1.3.2>2.2.1.3.2. Was ist DGA</A></B></P>
197
198 <P>DGA ist die Abkürzung für Direct Graphics Access (Direkter Grafik-Zugriff)
199 und bedeutet für ein Programm, das es den X-Server überbrückt und direkt den
200 Framebuffer-Speicher zu ändern.
201 Technisch gesprochen passiert dies durch verschieben des Framebuffer-Speichers
202 in den Speicherbereich des Prozesses. Dies wird vom Kernel nur erlaubt, wenn
203 du Superuser-Rechter besitzt. Du kannst diese bekommen duch Einloggen als
204 Rooot oder durch das Setzen des Suid-Bits für das MPlayer-Programm (NICHT
205 empfohlen!).</P>
206
207 <P>Es gibt zwei Versionen von DGA: DGA1 wird verwendet von XFree 3.x.x und DGA2
208 wurde zu XFree 4.0.1 entwickelt.</P>
209
210 <P>DGA1 unterstützt nur den direkten Framebuffer-Zugriff, wie oben beschrieben.
211 Für das Andern der Farbtiefe eines Video-Signals muss man auf die XVidMode Er-
212 weiterung zugeifen.</P>
213
214 <P>DGA2 arbeitet mit dem Feature der XVidMode Erweiterung zusammen, und erlaubt
215 auch das Ändern der Farbtiefe. So kannst du dem XServer allgemein auf einer
216 32 Bit Auflösung betreiben und die Farbtiefe damit auf 15 Bits verringern. </P>
217
218 <P>Wie auch immer, DGA hat auch einige Nachteile. Es scheint, als ob es irgendwie
219 abhängig ist vom Grafik-Chip und an der Implementation des XServer's Video-
220 Treiber, welcher der Chip kontrolliert. Also funktioniert es nicht auf jedem
221 System ...</P>
222
223
224 <P><B><A NAME=2.2.1.3.3>2.2.1.3.3. Installation von DGA Unterstützung für MPlayer</A></B></P>
225
226 <P>Als erstes prüfe, dass X die DGA Erweiterung läd, siehe in /var/log/XFree86.0.log:</P>
227
228 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
229
230 <P>Siehe, XFree86 4.0.x oder neuer ist SEHR EMPFOHLEN!
231 <B>MPlayer</B>s DGA-Treiber wird automatisch von ./configure erkannt, oder du kannst
232 es erzwingen mit --enable-dga.</P>
233
234 <P>Wenn der Treiber nicht zu einer kleineren Auflösung wechseln kann, versuche
235 mit den Befehlen -vm (nur mit X 3.3.x), -fs, -bpp, -zoom um ein Video-Modus zu
236 finden, dass das Video passt. Es gibt noch keinen Konverter.. :(</P>
237
238 <P>Werde ROOT. DGA braucht Root-Rechte um direkt in den Video-Speicher zu
239 schreiben. Wenn du es auch also Anwender starten willst, installiert bei
240 <B>MPlayer</B> die SUID root:</P>
241
242 <P><CODE>
243 &nbsp;&nbsp;&nbsp;&nbsp;<CODE>chown root /usr/local/bin/mplayer<BR>
244 &nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR>
245 &nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>
246
247
248 <P>Nun funktioniert es auch als einfacher Anwender.</P>
249
250
251 <P><B>!!!! ABER SEIT GEWARNT !!!!</B><BR>
252 Dies ist ein <B>GROSSES</B> Sicherheitsrisiko! Mache das nie auf einem Server oder
253 einem Computer, der von mehreren Personen verwendet wird, da sie durch das
254 SUID Root von <b>MPlayer</B> Root-Rechte erhalten könnten.<BR>
255 <B>!!!! DU WURDEST ALSO GEWARNT ... !!!!</B></P>
256
257 <P>Verwende nun die '-vo dga' Option, und es sollte funktionieren! (hoffe es:)
258 Du solltest auch probieren, ob die '-vo sdl:dga' Option bei die funktioniert!
259 Es ist um einiges schneller!!!</P>
260
261 <P><B><A NAME=2.2.1.3.4>2.2.1.3.4. Änderung der Auflösung</A></B></P>
262
263 <P>Der DGA Treiber erlaubt das Ändern der Auflösung des Ausgabe-Signals. Es er-
264 spart die Verwendung von (langsamen) softwaremäßigen Scaling und ermöglicht zur
265 selben Zeit Vollbild-Grafiken. Ideal wäre es, wenn man auf die genaue Auflösung
266 des Videos (würde die richtige Rate veraussetzen), aber der XServer erlaubt nur
267 das Änderen in eine Auflösung, die in <CODE>/etc/X11/XF86Config</CODE>
268 (<CODE>/etc/X11/XF86Config-4</CODE> für XFree 4.0.X) vordefiniert.
269 Dies sind so genannte "Modelines" und sind von den Fähigkeiten deiner Video-
270 Hardware abhängig. Der XServer scannt die Konfigurationsdatei beim Starten und
271 schaltet die Modelines aus, die nicht zu der Hardware passen. Du kannst die
272 funktionierenden Modelines mithilfe der X11-Logdatei herausfinden. Sie kann
273 funden werden unter:
274 <CODE>/var/log/XFree86.0.log</CODE>.</P>
275 <P>Siehe Anhang A für einige Beispiele für Modeline-Einstellungen.</P>
276
277 <P><B><A NAME=2.2.1.3.5>2.2.1.3.5. DGA &amp; MPlayer</A></B></P>
278
279 <P>DGA wird in zwei Plätzen von <B>MPlayer</B> verwendet: Der SDL Treiber kann
280 davon Verwendung nehmen (-vo sdl:dga) und der DGA-Treiber (-vo dga). Das oben
281 genannte trifft für beide zu; in der folgenden Sektion werde ich erklären, wie
282 der DGA-Treiber für <B>MPlayer</B> funktioniert.</P>
283
284 <P><B><A NAME=2.2.1.3.6>2.2.1.3.6. Features des DGA-Treibers</A></B></P>
285
286 <P>Der DGA Treiber wird wird duch die -vo dga Option auf der Komandozeile aus-
287 gewählt. Das normale verhalten ist, dass der DGA-Treiber die Auflösung so weit
288 wie möglich an das Video anzupassen. Es ignoriert die -vm und -fs Optionen (für
289 Videomodus-Änderung und Vollbild) - es versucht immer so viel Fläche wie mög-
290 lich durch Ändern des Videomodus, dies erspartet eine zusätzliche Verwendung
291 der CPU um das Bild zu vergrößern/verkleinern.
292 Wenn du den Modus nicht magst, den der Treiber gewählt hat, kannst du das Modus
293 das am ehestens passt möglicherweise mit -x und -y auswählen.
294 Mit der -v Option wird der DGA Treiber - neben vielen anderen Dingen - eine
295 Liste der Auflösungen, die von deiner aktuellen XF86-Config Datei unterstützt
296 werden.
297 Unter DGA2 kannst du auch die Farbtiefe mit der -bpp Option einstellen. Gültige
298 Farbtiefen sind 15, 16, 24 und 32. Es hängt von deiner Hardware ab, ob diese
299 Tiefen grundlegend unterstützt werden oder ob sie (was möglichweise langsam
300 ist) konventiert wenden müssen.</P>
301
302 <P>Wenn du Genug glück hast und genug Offscreen-Speicher übrig ist und eine
303 ganzes Bild darin zu speichern, wird der DGA Treiber "Doublebuffering" verwen-
304 den, was ein flüssigeres Bild ermöglicht. Es wird der sagen, ob Doublebuffering
305 eingeschaltet ist oder nicht.</P>
306
307 <P>Doublebuffering bedeutet, dass der nächste Frame des Videos bereits in den
308 Offscreen-Speicher während der akutelle Frame angezeigt wird. Wenn der nächste
309 Wenn der nächster Frame fertig ist, wird dem Grafik-Chip nur die Position im
310 Speicher mitgeteilet, wo sich der nächste Frame befindet und die Grafik ver-
311 verwendet das Bild einfach von dort. In der Zwischenzeit wird der anderer Buf-
312 fer wieder mit Video-Daten aufgefüllt.</P>
313
314 Doublebuffering kann man mit der Option -double ein- und mit der Option
315 -nodouble ausschalten. Zur Zeit ist die Standard-Option den zusätzlichen Buffer
316 ausschaltet. Wenn der DGA-Treiber verwendet wird, funktioniert das Onscreen
317 Display (OSD) nur mit eingeschaltetem Doublebuffering. Wie auch immer, das ein-
318 schalter von Doublebuffering kann ein großer Geschwindigkeitsnachteil sein (auf
319 meinem K6-II+ 525 verwerdet es zusätzliche 20% der CPU-Zeit!), abhängig von der
320 Implementation von DGA für eine Hardware.</P>
321
322
323 <P><B><A NAME=2.2.1.3.7>2.2.1.3.7. Geschwindigkeit</A></B></P>
324
325 <P>Allgemein gesprochen sollte der DGA-Framebuffer Zugriff mindestens so
326 schnell sein wie Verwendung des X11-Treibers mit den zusätzlichen Vorteils des
327 möglichen Vollbildes. Die Prozentuelle Geschwindigkeitsangaben von MPlayer
328 sollten aber mit Vorsicht gesehen werden, denn zum Beispiel wird beim X11-Trei-
329 ber die Zeit, die vom X-Server benötigt wird um das Bild aufzubauen, nicht ein-
330 gerechnet. Logge dich über ein Terminal über eine serielle Verbindung in deine
331 Box ein und starte MPlayer damit du wirklich siehst, was los ist ...</P>
332
333 <P>Allgemein gesprochen ist der Geschwindigkeitsvorteil von DGA im Vergleich
334 zur normalen Verwendung von X11 stark abhängig von der Grafikkarte und wie gut
335 das X-Server Modul dafür optimiert ist.</P>
336
337 <P>Wenn du ein langsames system hat, verwende lieber 15 oder 16bit Farbtiefen,
338 denn es verwendet nur halbe Speicherbandbreiten im Vergleich mit 32 bit.</P>
339
340 <P>Die Verwendung von 24bit ist eine gute Idee, wenn deine Karte 32 Bit Tiefe
341 grundlegend unterstützt, denn es sind 25% weniger Daten im vergleich zu einem
342 32/32 Modus.</P>
343
344 <P>Ich habe einige AVI-Dateien schon auf einem Pentium MMX 266 wiedergeben wur-
345 den. AMD K6-2 CPUs funktioniere vielleicht ab 400 MHZ oder mehr.</P>
346
347 <P><B><A NAME=2.2.1.3.8>2.2.1.3.8. Bekannte Probleme</A></B></P>
348
349 <P>Nun, nach einigen Entwicklern von XFree zur Folge ist DGA immer noch ein
350 wildes Tier. Sie sagen, es ist besser es nicht zu verwenden. Die Implemetation
351 ist noch nicht immer fehlerfrei mit jedem Chipset-Treiber von XFree.</P>
352
353 <P><UL>
354 <LI>mit XFree 4.0.3 und nv.o gibt es einen Bug, zu erkennen in eigenartigen Farben
355 <LI>ATI-Treiber erfordern mehrmaliges zurückschalten nach dem Abspielen mit DGA
356 <LI>einige Treiber schlagen Fehl bei dem Versuch zurück zur normalen Auflösung
357 zu schalten (verwende STRG-ALT-Keypad +, - um manuell zu schalten)
358 <LI>einige Treiber haben kleine Farbfehler
359 <LI>einige Treiber lügen, im Bezug auf die Speichergange für die Anwendung, dieses
360 DGA wird kene Doublebuffering verwenden(SIS?)
361 <LI>einige Treiber scheinen einen Fehler zu berichten zeigen nur eine gültige
362 Auflösung an. In diesem Fall wird der DGA-Treiber abstützen, wenn er von einer
363 unsinnigen Auflösungung von 100000x100000 oder ähnlich berichtet ...
364 <LI>OSD funktionier nur mit eingeschaltetem Doublebuffering
365 </UL></P>
366
367 <P><B><A NAME=2.2.1.3.9>2.2.1.3.9. Zukünftige Arbeiten</A></B></P>
368
369 <P><UL><LI>Verwendung des neuen X11 Render-Interface für OSD
370 <LI>Wo ist meine TODO Liste ???? :-(((</UL></P>
371
372
373 <P><B><A NAME=2.2.1.3.A>2.2.1.3.A. Einige Modus-Einstellungen</A></B></P>
374
375 <PRE>
376 Section "Modes"
377 Identifier "Modes[0]"
378 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
379 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
380 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
381 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
382 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
383 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
384 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
385 EndSection
386 </PRE>
387
388 <P>Diese Einstellungen funktionen sehr gut mit meinem Riva128 Chip unter ver-
389 wendung des nv.o XServer Treibermodules.</P>
390
391
392 <P><B><A NAME=2.2.1.3.B>2.2.1.3.B. Fehlerberichte</A></B></P>
393
394 <P>Wenn du Probleme mt dem DGA-Treibers hat, sende mit einen Fehlerbericht
395 (e-Mail Adresse siehe untern). Bitte starte MPlayer mit der -v Option und
396 sende alle Zeilen in dem Fehlerbericht die mit vo_dga: beginnen</P>
397
398 <P>Bitte schreibe auch, welche Version von X11 du verwendest, die Grafikkarte
399 und die Art von CPU. Das X11-Treiber Module (definiert in XF86-Config) hilft
400 auch möglicherweise. Danke!</P>
401
402
403 <P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P>
404
405
406 <P><B><A NAME=2.2.1.4>2.2.1.4. SDL</A></B></P>
407
408 <P>Hier sind einige Hinweise über SDL-Ausgabe in <B>MPlayer</B>.</P>
409
410
411
412 <P><TABLE BORDER=0>
413 <TD COLSPAN=4><P><B>Es gibt einige Commandline-Optionen für SDL:</B></P></TD><TR>
414 <TD>&nbsp;&nbsp;</TD><TD>-vo sdl:name</TD><TD>&nbsp;&nbsp;</TD><TD>
415 wählt den zu verwendenden Video Treiber aus (z.B. aalib, dga, x11)</TD><TR>
416 <TD></TD><TD>-ao sdl:name</TD><TD></TD><TD>wählt den zu verwendenden Audio Treiber aus (z.B. dsp,
417 esd, arts)</TD><TR>
418 <TD></TD><TD>-noxv</TD><TD></TD><TD>schaltet die Xvideo Hardwarebeschleunigung aus</TD><TR>
419 <TD></TD><TD>-forcexv</TD><TD></TD><TD>versucht die Xvideo-Beschleunigung zu erzwingen</TD><TR>
420
421 <TD COLSPAN=4><P><B>SDL-Tasten:</B></P></TD><TR>
422
423 <TD></TD><TD>F</TD><TD></TD><TD>wählt Vollbild/Fenster Modus</TD><TR>
424 <TD></TD><TD>C</TD><TD></TD><TD>verfügbare Zyklen beim Vollbild-Modus</TD><TR>
425 <TD></TD><TD>W/S</TD><TD></TD><TD>zusammenhängend zu * und / (Mixer-Kontrolle)</TD><TR>
426
427 </TABLE></P>
428
429 <P><B>BEKANNTE FEHLER:</B></P>
430 <P><UL><LI>Wenn Tasten unter dem sdl:aalib Konsolentreiber verwendet werden, wieder-
431 holt es sich für immer. (verwende -vo aa !)
432 Es ist ein Bug in SDL, ich kann es nicht ändern (getestet mit SDL 1.2.1).
433 </UL></P>
434
435 <P><B><A NAME=2.2.1.5>2.2.1.5. SVGAlib</A></B></P>
436
437 <P>Wenn du kein X hast, kannst du SVGAlib verwenden! Sie dir sicher, dass du
438 nicht die -fs Option verwendest, seit es Software-Scaling unterstützt und es
439 nun sehr LANGSAM ist, ausser wenn du eine echt schnelle CPU (und/oder MTRR?)
440 hast. :(</P>
441
442 <P>Natürlich musst du die svgalib und das Development-Paket installieren, damit
443 <B>MPlayer</B> seinen SVGAlib Treiber einbaut (wird automatisch erkannt, kann aber
444 erzwungen werden) und vergiss nicht die /etc/vga/libvga.config passend zu deiner
445 Karte &amp; Monitor zu editieren.</P>
446
447 <P><B><A NAME=2.2.1.6>2.2.1.6. Framebuffer Ausgabe (FBdev)</A></B></P>
448
449 <P>Ob die FBdev Unterstützung eingebaut wird wird während des ./configure
450 Scripts entschieden. Lese die Framebuffer Dokumentation von den Kernel Sourcen
451 (Documentation/fb/*) um zu erfahren wie man es einschaltet, usw.. !</P>
452
453 <P>Wenn deine Karte den VBE 2.0 Standard (ältere ISA/PCI Karten wie S3 Trio64)
454 nicht unterstützt, nur VBE 1.2 (oder älter?) :
455 Nun, VESAfb ist auch verfügbar, aber du musst den SciTech Display Doctor
456 (genannt UniVBE) vor Linux laden. Verwenden eine DOS-Startdiskette oder was
457 auch immer. Und vergiss nicht deinen UniVBE zu registrieren ;))</P>
458
459 <P>Bei der FBdev Ausgabe können einige zusätzliche Parameter verwendet werden:</P>
460
461 <P><TABLE BORDER=0>
462 <TD>&nbsp;&nbsp;</TD><TD>-fb</TD><TD>&nbsp;&nbsp;</TD><TD>
463 spezifiziert den zu verwendenden Framebuffer (/dev/fd0)</TD><TR>
464 <TD></TD><TD>-fbmode</TD><TD></TD><TD>Modus-Name der verwendet werden soll (siehe /etc/fb.modes)</TD><TR>
465 <TD></TD><TD>-fbmodeconfig</TD><TD></TD><TD> Konfiguratiosdatei für Modus-Namen (standard ist /etc/fb.modes)</TD><TR>
466 <TD></TD><TD>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3>WICHTIGE Werte, siehe example.conf</TD><TR>
467 <TD></TD><TD>-monitor_vfreq</TD><TD></TD><TR>
468 <TD></TD><TD>-monitor_dotclock</TD><TD></TD><TR>
469 </TABLE></P>
470
471 <P>Wenn du zu einem speziellen Modus welchsel willst, verwende</P>
472
473 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (NamedesModus) Dateiname</CODE></P>
474
475 <P><UL><LI><B>-vm</B> alleine wird den am ehesten passenden Modus von
476 /etc/fb.modes verwenden. Kann auch mit der -x und -y Option verwendet werden.
477 Die -flip Option wird nur unterstützt, wenn das Pixel-Format des Videos mit dem
478 Video-Modus übereinstimmt.
479 Unter Beobachtung des bpp-Wertes, versucht der fbdev-Treiber den aktuellen oder
480 den mit der -bpp Option eingestellten Wert zu verwenden.
481 <LI><B>-zoom</B> Option ist nicht unterstützt (Software-Scaling ist langsam).
482 -fs Option ist nicht unterstützt. Du kannst keine 8bpp (oder weniger) Moduse
483 verwenden.</UL></P>
484
485 <P>HINWEIS: FBdev Video-Modus-Änderungen _funktionieren nicht_ mit dem VESA
486 Framebuffer, also frage nicht danach, wenn ist keine <B>MPlayer</B> Beschrän-
487 kung ist.</P>
488
489 <P><B><A NAME=2.2.1.7>2.2.1.7. Matrox Framebuffer (mga_vid)</A></B></P>
490
491 <P>Diese Abschnitt ist über Matrox G200/G400/G450 BES (Back-End Scaler) Unter-
492 stützung, dem mga_vid Kernel-Treiber. Ist wird aktiv entwickelt von mir
493 (A'rpi), und es hat Hardware-VSYNC-Unterstützung mit dreifach-Buffering. Es
494 funktiert auf beidem, Konsole oder auch unter X.</P>
495
496 <P>Um es zu verwenden, kompiliere als erstes mga_vid.o:</P>
497
498 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;cd drivers<BR>
499 &nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>
500
501 <P>Dann erstelle das /dev/mga_vid Gerät:</P>
502
503 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mknod /dev/mga_vid c 178 0</CODE></P>
504
505 <P>und laden den Treiber mit</P>
506
507 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o</CODE></P>
508
509 <P>Du sollst die erkannte Videospeichergröße prüfen, dazu verwende den 'dmesg'
510 Befehl. Wenn es nicht stimmt, verwende die mga_ram_size Option (rmmod mga_vid
511 als erstes) und gib die Speichergröße der Karte in MB an:</P>
512
513 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o mga_ram_size=16</CODE></P>
514
515 <P>Um den Treiber automatisch geladen/ungeladen zu machen, wenn er braucht
516 wird, füge die folgende Zeile an Ende der /etc/modules.conf Datei ein:</P>
517
518 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;alias char-major-178 mga_vid</CODE></P>
519
520 <P>Dann starte</P>
521
522 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;depmod -a</CODE></P>
523
524 <P>Jetzt musst du <B>MPlayer</B> (neu)kompilieren, ./configure wird automatisch
525 /dev/mga_vid erkennen und den 'mga' Treiber einbauen. Die Verwendung mit
526 <B>MPlayer</B> wird mit '-vo mga' wenn man eine matroxfb Konsole hat oder mit
527 '-vo xmga' unter XFree86 3.x.x oder 4.x.x realisiert.</P>
528
529 <P>Hinweis: '-vo xmga' funktioniert unter XFree86 4.x.x, aber ist werden Kon-
530 flikte mit dem Xv Treiber auftreten, also verwende nicht beide. Wenn Xv mit mga
531 durcheinanderkommt, versuche <B>MPlayer</B> mit '-vo mga' . Es sollte das Be-
532 heben.</P>
533
534
535 <P><B><A NAME=2.2.1.8>2.2.1.8. SiS 6326 Framebuffer (sis_vid)</A></B></P>
536
537 <P>SiS 6326 YUV Framebuffer Treiber -> sis_vid Kerneltreiber</P>
538
539 <P>Das Interface sollte kompatibel mit dem von the mga_vid sein, aber das Trei-
540 ber wurde nicht aktualisiert, als mga_vid geändert wurde, also ist es nicht mehr
541 aktuell. Es sollte getestet und der Code auf den letzten Stand gebracht werden.</P>
542
543 <P><B><A NAME=2.2.1.9>2.2.1.9. 3dfx YUV Unterstützung</A></B></P>
544
545 <P>3dfx Karten haben YUV+Scaling Support, unter Verwendung vom /dev/3dfx (tdfx.o
546 Treiber?) Der /dev/3dfx Kernel-Treiber existiert nur für 2.2.x Kernels für die
547 Verweundung mit Glide 2.x Linux Ports. Es wurde nicht getestet mit <B>MPlayer</B>,
548 und dadurch nicht mehr unterstützt. Es sollte getestet und der Code up-to-date
549 gebracht werden.</P>
550
551 <P><B><A NAME=2.2.1.10>2.2.1.10. OpenGL Ausgabe</A></B></P>
552
553 <P><B>MPlayer</B> unterstützt die Ausgabe von Videos über OpenGL. Unglück-
554 licherweise unterstützten nicht alle Treiber diese Fähigkeit. Zum Beispiel
555 haben es allen Karte mit Utah-GLX Treibern Unterstützung (für XFree86 3.3.6).
556 Siehe <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
557 für Details für die Installation.</P>
558
559 <P>XFree86(DRI) >= 4.0.3 unterstützt nur Matrox und Radeon Karden.
560 Siehe <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> für Downloads
561 und Installtionsanweisungen.</P>
562
563 <P><B><A NAME=2.2.1.11>2.2.1.11. AAlib - text mode displaying</B></P>
564
565 <P><B>AAlib</B> ist eine Library für die Anzeige im grafischen Modus, unter Ver-
566 wendung des ASCII Renderer. Es gibt EINE MENGE von Programmen die es bereits
567 unterstützen, wie Doom, Quake, usw. MPlayer enthält einen sehr gut brauchbaren
568 Treiber dafür.
569 Wenn ./configure erkennt, dass aalib installiert ist, wird der aalib libvo
570 Treiber eingebaut.</P>
571
572 <P><TABLE BORDER=0>
573 <TD COLSPAN=4><P><B>Du kannst einige Tasten verwenden im AA Fenster, um Rendering-Optionen zu ändern:</B></P></TD><TR>
574 <TD>&nbsp;&nbsp;</TD><TD>1</TD><TD>&nbsp;&nbsp;</TD><TD>verringert Kontrast</TD><TR>
575 <TD></TD><TD>2</TD><TD></TD><TD>erhöht Kontrast</TD><TR>
576 <TD></TD><TD>3</TD><TD></TD><TD>verringert Schärfe</TD><TR>
577 <TD></TD><TD>4</TD><TD></TD><TD>erhöht Schärft</TD><TR>
578 <TD></TD><TD>5</TD><TD></TD><TD>schaltet schnelles Rendern ein/aus</TD><TR>
579 <TD></TD><TD>6</TD><TD></TD><TD>setzt das Farbmischungs-Modus (keine, error dithering, floyd steinberg)</TD><TR>
580 <TD></TD><TD>7</TD><TD></TD><TD>Invertiere Bild</TD><TR>
581 <TD></TD><TD>a</TD><TD></TD><TD>welchselt zwischen AA und MPlayer Kontrolle)</TD><TR>
582
583 <TD COLSPAN=4><P><B>Die folgenden Kommandozeilen-Optionen können verwendet werden:</B></P></TD><TR>
584
585 <TD></TD><TD>-aaosdcolor=V</TD><TD></TD><TD>ändert OSD-Farbe</TD><TR>
586 <TD></TD><TD>-aasubcolor=V</TD><TD></TD><TD>ändert Untertitel-Farbe</TD><TR>
587 <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>
588
589 <TD COLSPAN=4><P><B>AAlib selbst unterstützt eine größe Summe von Optionen.
590 Hier einige wichtige:</P></B></TD><TR>
591
592 <TD></TD><TD>-aadriver</TD><TD></TD><TD>setzt erforderlichen AA Treiber (X11, curses, linux)</TD><TR>
593 <TD></TD><TD>-aaextended</TD><TD></TD><TD>verwende alle 256 Zeichen</TD><TR>
594 <TD></TD><TD>-aaeight</TD><TD></TD><TD>verwendet acht-bit ASCII</TD><TR>
595 <TD></TD><TD>-aahelp</TD><TD></TD><TD>gibt alle AAlib-Optionen aus</TD><TR>
596 </TABLE></P>
597
598 <P>HINWEIS: Das Rendering ist sehr CPU-Intersiv, besonders bei AA-on-X (AAlib
599 Verwendung unter X) und brauch am wenigsten CPU-Leistung auf einer standard,
600 nicht-Framebuffer Konsole. Verwende SVGATextMode im ein großes Textmodus ein-
601 zustellen und geniese es! (Zweikopf (Dual Head) Hercules Karten rock :)) (kann
602 vielleicht irgendjemand bdev erweiteren, um Konversion/Farbmischung bei hgafb?
603 Wäre nett :)</P>
604
605 <P>Verwende die -framedrop Option wenn dein Computer nicht schnell genug ist,
606 um alle Frames zu Verarbeiten!</P>
607
608 <P>Beim Abspielen auf einem Terminal wirst du eine bessere Geschwindigkeit und
609 Qualität bekommen, wenn du den Linux-Treiber, und nicht den Curses (-aadriver
610 linux) verwendest. Aber dazu brauchst du Scheibzugriff auf/dev/vcsa&lt;terminal&gt;!
611 Dies wird nicht automatisch erkannt von aalib, aber vo_aa versucht die beste
612 Möglichkeit zu finden. Siehe <A HREF="http://aa-project.sourceforge.net/tune">http://aa-project.sourceforge.net/tune/</A> für zusätz-
613 liche Tuning-Möglichkeiten.</P>
614
615 <P><B><A NAME=2.2.1.A>2.2.1.A. TV-Out Unterstützung</A></B></P>
616
617 <P><B><A NAME=2.2.1.A.1>2.2.1.A.1. Matrox Karten</A></B></P>
618
619 <P><I> Ich würde gerne MPlayer mit dem selben Feature sehen, wie auf meiner
620 Windows-Box. Wenn ich ein Video unter Windoes starte (als ein Fenster oder
621 in Vollbild) wird das Bild auch über TV-Out wiedergegeben und ich kann es auch
622 mit Vollbild auf meinem Fernseher sehen. Ich liebe diese Feature aber wir ich
623 war verwundet, wie schwer es sich einbauen ließe.</I></P>
624
625 <P>Dies ist eine Treiberbeschränkung. BES (Back-End Scaler, dies ist der
626 Overlay-Erzeuger und die YUV Scaling-Engine für G200/G400/G450 Karte)
627 funitniert nur mit CRTC1. Normalerweise wird CRTC1 (Textmodus, jeder Farbtiefe
628 und BES) auf den Kopf1 (HEAD1) geroutet, und CRTC2 (nur 16/32bpp Grafiken) wird
629 auf den HEAD2 (TV-out) geroutet.</P>
630
631 <P>Unter Linux hast du 2 Möglichkeiten, dass der TV-Out funktioniert:</P>
632
633 <P><UL>
634 <LI>Verwende X 4.0.x + den HAL-Treiber von Matrox, so willst du Dual-Head-
635 Unterstützung erhalten und es wird möglich sein den 2. Ausgang zum TV zu
636 bringen. Unglücklichweise hat es die Macrovision Verschlüsselung aktiviert,
637 also wird es nur bei einem direkt verbunden TV funkioniert, nicht bei einem
638 VCR. Ein anderes Problem ist, dass Xv auf dem 2 Head nicht funkioniert.
639 (ich weiss nicht, wie Windows das Problem löst, möglichweise vertauscht es
640 die CRTCs zwischen den Köpfen oder verwendet nut YUV Framebuffer vom 2. DAC mit
641 einigen Tricks)
642 <LI>Verwende matroxfb mit eingeschalteter Dual-Head Unterstützung (2.4.x
643 Kernel). So wird es möglich sein eine Framebuffer Konsole (Verwendung von CRTC2,
644 also ist es langsam) und TV-Out (Verwendung von CRTC1, mit BES-Unterstützung).
645 Jedoch kannst du X vergessen, während du diese Art von TV-Out verwendest! :(
646 </UL></P>
647
648 <P>Folge diesen Anweisungen:</P>
649
650 <P><UL>
651 <LI>Kompiliere alle sich auf Matrox beziehende Treiber als Module für den Ker-
652 nel. (du MUSST sie als Module kompilieren, zumindest ich konnte bisher nicht
653 zum Funktionieren bringen, wenn es eingebaut war im Kernel)
654 [starte mit dem neuen Kernel & install modules, aber lade sie nicht!]
655 <P><CODE>
656 &nbsp;&nbsp;cd TVout<BR>
657 &nbsp;&nbsp;./compile.sh</CODE></P>
658 <LI>Start den 'modules' Script von TV-Out Verzeichnis von MPlayer.
659 Es wird deine Konsole zum Framebuffer machen.
660 Welchsle auf tty1 (ALT+F1)!
661 Nun start den Script 'independent', es wird deine ttys einstellen:
662 <P>tty 1,2: fb Konsole, CRTC2, Head 1 (Monitor)<BR>
663 tty 3,4,5...: Framebuffer+BES, CRTC1, Head 2 (TV-Out)</P>
664 Du solltest die TV-* und Mon-* Scripts starten um die Auflösung einzustellen:
665 <P>wechsle auf tty1 (ALT+F1) und starte Mon-* (eines davon)<BR>
666 wechsle auf tty3 (ALT+F3) und zurück auf tty1 (ALT+F1)</P>
667 (dies wird tty3 auf /dev/fb1 auswählen)<BR>
668 <P>starte TV-* (eines davon)</P>
669 (nun wirst du eine Konsole auf deinem PAL-Fernseher bekommen - ich weiss nichts
670 über NTSC)
671 <P>Wenn du nun MPlayer (auf tty1) startst, wird das Bild auf tty3 angezeigt,
672 also wirst du es auf dem Fernseher oder dem 2. Monitor sehen.</P>
673 </UL></P>
674
675 <P>Ja, es ist zur Zeit noch ein "hack". Aber ich warte, dass das Marvel-Projekt
676 fertig gestellt wurde. Es wird eine richtigen TV-Out Treiber enhalten, hoffe
677 ich.</P>
678
679 <P>Zur Zeit ist mein Problem das BES nur mit CRTC1 funktioniert. Also wird das
680 Bild immer auf dem Kopf, der auf CRTC1 (normalerweise der Monitor) geroutet
681 ist, darum muss man auch die CRTCs vertauschen, aber dabei wird deine Konsole
682 ein Framebuffer (CRTC2 kann kein Textmode) und ein bisschen schnell (keine
683 Beschleunigung). :(</P>
684
685 <P><I>Irgendwie bekomme ich nur eine Schwarz-Weiss Ausgabe am Fernseher ...</I>
686 Hast du vielleicht einen NTSC Fernseher? Oder hast du vielleicht nicht einen der
687 TV-* Scripts laufen lassen?</P>
688
689 </BODY>
690 </HTML>