aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS/German/video.html
blob: 51fd78a7576fd529405ac6b92dbebb9647909cc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

<HEAD>
  <TITLE>Video - MPlayer - The Movie Player for Linux</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY>


<H3><A NAME="video">2.3.1. Video Ausgabe-Geräte</A></H3>

<H4><A NAME="mtrr">2.3.1.1. MTRR</A></H4>

<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>&nbsp;&nbsp;</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>&nbsp;&nbsp;echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr</CODE></P>

<P>Nicht alle CPUs unterstützen MTRRs. Zum Beispiel ältere K6-2's [z.B. 266MHz,
stepping 0] unterstützen kein MTRR, aber stepping 12 CPUs tuen es
(<CODE>cat /proc/cpuinfo</CODE> um zu überprüfen).</P>


<H4><A NAME="xv">2.3.1.2. Xv</A></H4>

<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 <CODE>-vo xv</CODE>. 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>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
    <P>in /var/log/XFree86.0.log</P>
    <P><B>Hinweis:</B> dies lädt nur die XFree86 Erweiterung. In einer guten Installation
    ist sie immer geladen, aber das bedeutet nicht, dass der Support mit <B>deiner</B>
    Karte funktioniert!</P></LI>
  <LI>Deine Karte hat Xv Unterstützung unter Linux. Um es zu überprüfen, tippe
    <CODE>xvinfo</CODE>, 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 <CODE>xv</CODE> Unterstützung kompiliert wurde.
    ./configure zeigt an, ob es eingebaut wurde.</LI>
</UL>


<H5><A NAME="xv_3dfx">2.3.1.2.1. 3dfx Karten</A></H5>

<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 <CODE>-vo xv</CODE> bemerkst, probier SDL (es unterstützt auch XVideo)
und prüfe ob es funkioniert. Siehe <A HREF="#sdl">SDL Sektion</A> für Details.</P>

<P><B>Oder</B> versuche den <B>neuen</B> <CODE>-vo tdfxfb</CODE> Treiber! Siehe <A HREF="#tdfxfb">Tdfxfb Sektion</A>.</P>


<H5><A NAME="xv_s3">2.3.1.2.2. S3 Karten</A></H5>

<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 zu YUY2 Konversion durchgeführt werden, da 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>


<H5><A NAME="xv_nvidia">2.3.1.2.3. nVidia Karten</A></H5>

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


<H5><A NAME="xv_ati">2.3.1.2.4. ATI Karten</A></H5>

<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="#vidix">Vidix</A> 
    Abteilung.</LI>
</UL>


<H5><A NAME="xv_neomagic">2.3.1.2.5. NeoMagic Karten</A></H5>

<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>
&nbsp; &nbsp; <I>[...]</I><BR>
&nbsp; &nbsp; Driver "neomagic"<BR>
&nbsp; &nbsp; <B>Option "OverlayMem" "829440"</B><BR>
&nbsp; &nbsp; <I>[...]</I><BR>
EndSection</CODE></P>


<H5><A NAME="xv_trident">2.3.1.2.6. Trident Karten</A></H5>

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


<H4><A NAME="dga">2.3.1.3. DGA</A></H4>

<H5><A NAME="dga_summary">2.3.1.3.1. Zusammenfassung</A></H5>

<P>Dieses Dokument versucht mit einigen Worten zu beschreiben, was DGA allgemein
ist und was man mit dem DGA Video-Ausgabetreiber für <B>MPlayer</B> alles machen kann
(und was es nicht kann).</P>


<H5><A NAME="dga_whatis">2.3.1.3.2. Was ist DGA</A></H5>

<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 (<B>nicht</B> 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 X Server 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 X Server Video-Treibers,
welcher den Chip kontrolliert. Also funktioniert es nicht auf jedem System...</P>


<H5><A NAME="dga_installation">2.3.1.3.3. Installation der DGA Unterstützung für MPlayer</A></H5>

<P>Als erstes prüfe, ob X die DGA Erweiterung lädt, siehe /var/log/XFree86.0.log:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>

<P>XFree86 4.0.x oder neuer sind STARK EMPFOHLEN! <B>MPlayers</B> DGA-Treiber wird
automatisch von ./configure erkannt, oder du kannst es mit --enable-dga erzwingen.</P>

<P>Wenn der Treiber nicht zu einer kleineren Auflösung wechseln kann, versuche
mit den Optionen -vm (nur unter X 3.3.x), -fs, -bpp, -zoom um ein Video-Modus zu
finden, dass das Video passt. Es gibt noch keinen Konverter :(</P>

<P>Werde root. DGA braucht Root-Rechte um direkt in den Video-Speicher zu
schreiben. Wenn du es auch also Anwender starten willst, installiere bei
<B>MPlayer</B> die SUID root:</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;chown root /usr/local/bin/mplayer<BR>
&nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR> 
&nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>

<P>Nun funktioniert es auch als einfacher Anwender.</P>

<P><BLOCKQUOTE>
<B>Warnung: Sicherheitsrisiko</B><BR>
Dies ist ein <B>grvsseres</B> Sicherheitsrisiko! Es sollte <B>nie</B> auf einem Server oder
einem Computer, der nicht vollstdndig kontrolliert wird angewandt werden. Da die User durch
einen SUID root <B>MPlayer</B> Root-Privilegien bekommen!<BR>
<B>Du bist also gewarnt worden!</B>
</BLOCKQUOTE></P>

<P>Verwende nun die <CODE>-vo dga</CODE> Option und es sollte funktionieren! (hoffe es:)
Du solltest auch probieren, ob die <CODE>-vo sdl:dga</CODE> Option bei dir funktioniert!
Es ist um einiges schneller!</P>


<H5><A NAME="dga_resolution">2.3.1.3.4. Änderung der Auflösung</A></H5>

<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 X Server
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 X Server 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>


<H5><A NAME="dga_mplayer">2.3.1.3.5. DGA &amp; MPlayer</A></H5>

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


<H5><A NAME="dga_features">2.3.1.3.6. Features des DGA-Treibers</A></H5>
 
<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>

 
<H5><A NAME="dga_speed">2.3.1.3.7. Geschwindigkeit</A></H5>

<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 <B>MPlayer</B> 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>


<H5><A NAME="dga_bugs">2.3.1.3.8. Bekannte Probleme</A></H5>

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


<H5><A NAME="dga_future">2.3.1.3.9. Zukünftige Arbeiten</A></H5>

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


<H5><A NAME="dga_modelines">2.3.1.3.A. Einige Modus-Einstellungen</A></H5>

<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 X Server Treibermodules.</P>


<H5><A NAME="dga_bug_reports">2.3.1.3.B. Fehlerberichte</A></H5>

<P>Wenn du Probleme mit dem DGA-Treibers hast, sende einen Fehlerbericht
(e-Mail Adresse siehe untern). Bitte starte <B>MPlayer</B> 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>


<H4><A NAME="sdl">2.3.1.4. SDL</A></H4>

<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>&nbsp;&nbsp;</TD><TD><CODE>-vo sdl:name</CODE></TD><TD>&nbsp;&nbsp;</TD>
    <TD>wählt den zu verwendenden Video Treiber aus (z.B. aalib, dga, x11)</TD></TR>
  <TR><TD></TD><TD><CODE>-ao sdl:name</CODE></TD><TD></TD><TD>wählt den zu verwendenden Audio Treiber aus
    (z.B. dsp, esd, arts)</TD></TR>
  <TR><TD></TD><TD><CODE>-noxv</CODE></TD><TD></TD><TD>schaltet die Xvideo Hardwarebeschleunigung aus</TD></TR>
  <TR><TD></TD><TD><CODE>-forcexv</CODE></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><CODE>F</CODE></TD><TD></TD><TD>wählt Vollbild-/Fenster-Modus</TD></TR>
  <TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>verfügbare Zyklen beim Vollbild-Modus</TD></TR>
  <TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>zusammenhängend mit * und / (Mixer-Kontrolle)</TD></TR>
</TABLE>

<H4>BEKANNTE FEHLER:</H4>

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


<H4><A NAME="svgalib">2.3.1.5. SVGAlib</A></H4>

<H4>Installation</H4>

<P>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 &amp; Monitor anzupassen.</P>

<H4>Hinweise</H4>

<P>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>

<H4>EGA (4bpp) Unterstützung</H4>

<P>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>
&nbsp;&nbsp;<CODE>-bpp 4</CODE><BR>
Wahrscheinlich muss der Film dabei verkleinert (skaliert) werden, um dem EGA
Modus gerecht zu werden:<BR>
&nbsp;&nbsp;<CODE>-vop scale=640:350</CODE> oder<BR>
&nbsp;&nbsp;<CODE>-vop scale=320:200</CODE><BR>
Dazu wird eine schnelle Skalierungsroutine mit schlechte Qualität benötigt:<BR>
&nbsp;&nbsp;<CODE>-sws 4</CODE><BR>
Vielleicht muss die automatische Verhältniskorrektur deaktiviert werden:<BR>
&nbsp;&nbsp;<CODE>-noaspect</CODE></P>


<H4><A NAME="fbdev">2.3.1.6. Framebuffer Ausgabe (FBdev)</A></H4>

<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>&nbsp;&nbsp;</TD><TD><CODE>-fb</CODE></TD><TD>&nbsp;&nbsp;</TD>
    <TD>spezifiziert den zu verwendenden Framebuffer (/dev/fb0)</TD></TR>
  <TR><TD></TD><TD><CODE>-fbmode</CODE></TD><TD></TD><TD>Modus das verwendet werden soll (siehe /etc/fb.modes)</TD></TR>
  <TR><TD></TD><TD><CODE>-fbmodeconfig</CODE></TD><TD></TD><TD>Konfigurationsdatei für das Modus (standard ist /etc/fb.modes)</TD></TR>
  <TR><TD></TD><TD><CODE>-monitor_hfreq</CODE></TD><TD></TD><TD ROWSPAN=3>WICHTIGE Werte, siehe example.conf</TD></TR>
  <TR><TD></TD><TD><CODE>-monitor_vfreq</CODE></TD><TD></TD></TR>
  <TR><TD></TD><TD><CODE>-monitor_dotclock</CODE></TD><TD></TD></TR>
</TABLE>

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

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;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><B>Hinweis:</B> FBdev Video-Modus-Änderungen _funktionieren nicht_ mit dem VESA
Framebuffer, also frage nicht danach, denn es ist keine <B>MPlayer</B> Beschränkung.</P>


<H4><A NAME="mga_vid">2.3.1.7. Matrox Framebuffer (mga_vid)</A></H4>

<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="#vidix">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>&nbsp;&nbsp;&nbsp;&nbsp;cd drivers<BR>
&nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>

<P>Dann erstelle das /dev/mga_vid Gerät:</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mknod /dev/mga_vid c 178 0</CODE></P>

<P>und laden den Treiber mit</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o</CODE></P>

<P>Du sollst die erkannte Videospeichergröße prüfen, dazu verwende den <CODE>dmesg</CODE>
Befehl. Wenn es nicht stimmt, verwende die mga_ram_size Option (rmmod mga_vid
als erstes) und gib die Speichergröße der Karte in MB an:</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o mga_ram_size=16</CODE></P>

<P>Um den Treiber automatisch zu laden / unzuladen wenn er braucht wird, füge
die folgende Zeile an Ende der /etc/modules.conf Datei ein:</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;alias char-major-178 mga_vid</CODE></P>

<P>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/&lt;Kernel Version&gt;/irgendwo</CODE>.</P>
  
<P>Dann starte</P>

<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;depmod -a</CODE></P>

<P>Jetzt musst du <B>MPlayer</B> (neu)kompilieren, ./configure wird automatisch
/dev/mga_vid erkannen und den <CODE>mga</CODE> Treiber einbauen. Die Verwendung mit
<B>MPlayer</B> wird wenn man eine matroxfb Konsole hat mit <CODE>-vo mga</CODE> oder mit
<CODE>-vo xmga</CODE> unter XFree86 3.x.x oder 4.x.x realisiert.</P>

<P>Der mga_vid Treiber arbeitet nun auch mit dem Xv zusammen.
  

<H4><A NAME="sis_vid">2.3.1.8. SiS 6326 Framebuffer (sis_vid)</A></H4>

<P>SiS 6326 YUV Framebuffer Treiber -&gt; 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>


<H4><A NAME="tdfxfb">2.3.1.9. 3dfx YUV Unterstützung (tdfxfb)</A></H4>

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


<H4><A NAME="opengl">2.3.1.10. OpenGL Ausgabe</A></H4>

<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, &gt;= 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>


<H4><A NAME="aalib">2.3.1.11. AAlib - Textmodus-Ausgabe</A></H4>

<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. <B>MPlayer</B> 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>&nbsp;&nbsp;</TD><TD><CODE>1</CODE></TD><TD>&nbsp;&nbsp;</TD><TD>verringert Kontrast</TD></TR>
  <TR><TD></TD><TD><CODE>2</CODE></TD><TD></TD><TD>erhöht Kontrast</TD></TR>
  <TR><TD></TD><TD><CODE>3</CODE></TD><TD></TD><TD>verringert Schärfe</TD></TR>
  <TR><TD></TD><TD><CODE>4</CODE></TD><TD></TD><TD>erhöht Schärfe</TD></TR>
  <TR><TD></TD><TD><CODE>5</CODE></TD><TD></TD><TD>schaltet schnelles Rendern ein/aus</TD></TR>
  <TR><TD></TD><TD><CODE>6</CODE></TD><TD></TD><TD>wählt das Farbmischungs-Modus (keine, error dithering, Floyd Steinberg)</TD></TR>
  <TR><TD></TD><TD><CODE>7</CODE></TD><TD></TD><TD>invertiert Bild</TD></TR>
  <TR><TD></TD><TD><CODE>a</CODE></TD><TD></TD><TD>wechselt zwischen AA und <B>MPlayer</B> 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><CODE>-aaosdcolor=V</CODE></TD><TD></TD><TD>ändert OSD-Farbe</TD></TR>
  <TR><TD></TD><TD><CODE>-aasubcolor=V</CODE></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><CODE>-aadriver</CODE></TD><TD></TD><TD>setzt erforderlichen AA Treiber (X11, curses, Linux)</TD></TR>
  <TR><TD></TD><TD><CODE>-aaextended</CODE></TD><TD></TD><TD>verwende alle 256 Zeichen</TD></TR>
  <TR><TD></TD><TD><CODE>-aaeight</CODE></TD><TD></TD><TD>verwendet acht-bit ASCII</TD></TR>
  <TR><TD></TD><TD><CODE>-aahelp</CODE></TD><TD></TD><TD>gibt alle AAlib-Optionen aus</TD></TR>
</TABLE>

<P><B>Hinweis:</B> 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 <CODE>-framedrop</CODE> 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&lt;terminal&gt;!
Dies wird nicht automatisch erkannt von aalib, aber vo_aa versucht die beste
Möglichkeit zu finden. Siehe
<A HREF="http://aa-project.sourceforge.net/tune">http://aa-project.sourceforge.net/tune/</A>
für zusätzliche Tuning-Möglichkeiten.</P>


<H4><A NAME="vesa">2.3.1.12.  VESA - output to VESA BIOS</A></H4>

<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. Ein weiterer Vorteil dieses
Treibers ist, dass er versucht, die TV Ausgabe zu erzwingen.<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>

<H4>Vorteile:</H4>

<UL>
  <LI>Du hast Chance Videos zu sehen, <B>auch wenn Linux nicht mal deine Videohardware kennt</B>.</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>Du kannst Vidix damit verwenden und dadurch eine beschleunigte Videowiedergabe
    <B>und</B> den TV Ausgang gleichzeitig verwenden. (empfohlen für ATI Karten)</LI>
</UL>

<H4>Nachteile:</H4>

<UL>
  <LI>Es funktioniert nut auf <B>x86 Systemen</B>.</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>
</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>&nbsp;&nbsp;</TD><TD><CODE>-vo vesa:opts</CODE></TD>
    <TD>&nbsp;&nbsp;</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><CODE>-screenw, -screenh, -bpp</CODE></TD><TD></TD><TD>verwendet von Anwender definierte Modie</TD></TR>
  <TR><TD></TD><TD><CODE>-x, -y</CODE></TD><TD></TD><TD>setzt Prescaling-Auflösung</TD></TR>
  <TR><TD></TD><TD><CODE>-zoom</CODE></TD><TD></TD><TD>aktiviert Prescaling</TD></TR>
  <TR><TD></TD><TD><CODE>-fs</CODE></TD><TD></TD><TD>Vollbild-Scaling</TD></TR>
  <TR><TD></TD><TD><CODE>-fs -zoom</CODE></TD><TD></TD><TD>Vollbild-Scaling des prescalten Bildes</TD></TR>
  <TR><TD></TD><TD><CODE>-double</CODE></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>
  
<H4>Bekannte Probleme und Workarounds:</H4>

<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 <B>MPlayer</B> 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 Lokalisieren 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>
    

<H4><A NAME="x11">2.3.1.13.  X11</A></H4>

<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 und Skalierer
von SDL, er hat eine noch schlimmere Bildqualität!</P>

<P>Software-Skalierung ist <B>sehr langsam</B>. Du solltest besser versuchen den Videomodus zu ändern.
Es ist sehr einfach. Lies in der Sektion <A HREF="#dga_modelines">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>


<H4><A NAME="vidix">2.3.1.14. Vidix</A></H4>

<H4>WAS IST VIDIX?</H4>

<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 Videoleistungen wie mga_vid von Matrox Karten zur Verfügung stellt. Die Treiber sind
auch sehr portierbar.</P>

<P>Dieses Interface wurde als Versuch entworfen, die existierenden Videobeschleunigungs-Interfaces
(bekannt als mga_vid, rage128_vid, radeon_vid, pm3_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.</P>

<H4>VERWENDUNG</H4>

<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 X Server 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> (<B>NUR LINUX</B>) und <CODE>-vo fbdev:vidix</CODE></LI>
</UL>

<P>Allerdings spielt es keine Rolle, welche Videoausgabe-Treiber mit <B>VIDIX</B> verwendet werden.</P>

<H4>VORAUSSETZUNGEN</H4>

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

<H4>GEBRAUCHSMETHODEN</H4>

<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>
&nbsp;&nbsp;<CODE>mplayer -vo xvidix:mga_vid.so -fs -zoom -double datei.avi</CODE><BR>
oder<BR>
&nbsp;&nbsp;<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>musst</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>

<H4>VIDEO EQUALIZER</H4>

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

<TABLE BORDER=0>
  <TR><TD>&nbsp;&nbsp;</TD><TD VALIGN="top"><CODE>-brightness</CODE></TD><TD>&nbsp;&nbsp;</TD>
    <TD>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.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-contrast</CODE></TD><TD></TD>
    <TD>verstellt den <B>KONTRAST</B> der Videoausgabe. Funktioniert ähnlich wie bei der Helligkeit.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-saturation</CODE></TD><TD></TD>
    <TD>verstellt die <B>SÄTTIGUNG</B> der Videoausgabe. Du kannst mit dieser Option eine Graustuffen-Ausgabe erhalten.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-hue</CODE></TD><TD></TD>
    <TD>verstellt den <B>FARBTON</B> des Videosignals. Du kannst mit dieser Option ein negatives Abbild der Farben der Bilder erhalten.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-red_intensity</CODE></TD><TD></TD>
    <TD>verstellt die Intensität der <B>ROTEN</B> Komponenten des Videosignals.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-green_intensity</CODE></TD><TD></TD>
    <TD>verstellt die Intensität der <B>GRÜNEN</B> Komponenten des Videosignals.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-blue_intensity</CODE></TD><TD></TD>
    <TD>verstellt die Intensität der <B>BLAUEN</B> Komponenten des Videosignals.</TD></TR>
</TABLE>

<P>Jeder Parameter akzeptiert Werte von <B>-100</B> bis <B>+100</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>


<H4><A NAME="zr">2.3.1.15. Zr</A></H4>

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


<H4><A NAME="dvb">2.3.1.16. DVB</A></H4>

<P><B>MPlayer</B> unterstützt Karten mit dem Siemens DVB Chip von Herstellern wie
Siemens, Technotrend, Galaxis oder Hauppauge. Die neusten DVB Treiber sind auf der
<A HREF="http://www.linuxtv.org">Linux TV Seite</A> erhältlich. Wenn man Software
Transcoding machen will, sollte man jedoch mindestens eine 1GHz CPU besitzen.</P>

<P>Configure sollte die DVB Karte erkennen. Falls nicht, kann eine Erkennung
erzwungen werden mit folgendem Befehl:</P>

<PRE>
  ./configure --enable-dvb
</PRE>

<P>Wenn sich die ost Headers nicht im Standard Pfad befinden, sollte der Pfad wie
folgt angegeben werden:</P>

<PRE>
  ./configure --with-extraincdir=&lt;DVB Quellverzeichnis&gt;/ost/include
</PRE>

<P>Darauf folgt wie gewöhnlich die Kompilierung und Installation.</P>

<H4>VERWENDUNG</H4>

<P>Hardware Decodierung (Wiedergabe von gewöhnlichen MPEG1/2 Dateien) kann
durch folgenden Befehl erreicht werden:</P>

<PRE>
  mplayer -ao mpegpes -vo mpegpes datei.mpg|vob
</PRE>

<P>Software Decodierung oder Transcoding verschiedener Formate zu MPEG1 kann
z.B. durch folgende Befehle erreicht werden:</P>

<PRE>
  mplayer -ao mpegpes -vo mpegpes -vop lavc datei.ext
  mplayer -ao mpegpes -vo mpegpes -vop fame,expand datei.ext
</PRE>

<P>Es sei darauf hingewiesen, dass DVB Karten nur Höhen von 288 und 576 für
PAL bzw 240 und 480 für NTSC unterstützen. Für eine andere Hähenänderung
<B>muss</B> eine neue Skalierung mit folgendem <CODE>-vop</CODE> Plugin
durchgeführt werden (mit der Höhe und Breite die gewünscht wird):
<CODE>scale=breite:höhe</CODE>. DVB Karten akzeptieren viele Breiten wie
720, 704, 640, 512, 480, 352 etc und können Hardware Skalierungen in horizontaler
Richtung durchführen, so dass in horizontaler Richtung meist nicht skaliert
werden muss. Für ein 512x384 (Seitenverhältnis 4:3) DivX, sollte folgender Befehl
getestet werden:</P>

<PRE>
  mplayer -ao mpegpes -vo mpegpes -vop lavc,scale=512:576
</PRE>

<P>Wenn man ein Widescreen Film besitzt und ihn auf die volle Breite skalieren will,
kann das <CODE>expand=w:h</CODE> Plugin verwendet werden, um schwarze Ränder hinzuzufügen.
Um ein 640x384 DivX wiederzugeben, kann folgender Befehl verwendet werden:</P>

<PRE>
  mplayer -ao mpegpes -vo mpegpes -vop lavc,expand=640:576 datei.avi
</PRE>

<P>If your CPU is too slow for a full size 720x576 DivX, try downscaling:</P>

<PRE>
  mplayer -ao mpegpes -vo mpegpes -vop lavc,scale=352:576 datei.avi
</PRE>

<P>Wenn die Geschwindigkeit sich nicht verbessert, kann auch eine vertikale Skalierung
auf einen niedrigeren Wert verwendet werden:</P>

<PRE>
  mplayer -ao mpegpes -vo mpegpes -vop lavc,scale=352:288 datei.avi
</PRE>

<P>Für OSD und Untertitel sollte das expand Feature des OSD Plugins verwendet werden.
So sollte anstelle von <CODE>expand=w:h</CODE> oder <CODE>expand=w:h:x:y</CODE>
<CODE>expand=w:h:x:y:1</CODE> verwendet werden (der 5. Parameter <CODE>:1</CODE> am
Ende aktiviert die OSD Wiedergabe). Falls erwünscht kann das Bild noch ein bisschen
nach oben bewegt werden, um eine grössere Zone für die Untertitel zu erhalten.
Die Untertitel können natürlich auch verschoben werden, falls diese auf dem TV Bildschirm
nicht sichtbar sind. Dazu kann die <CODE>-subpos &lt;0-100&gt;</CODE> Option verwendet werden
um die Untertitel ensprechend anzupassen (<CODE>-subpos 80</CODE> ist z.B. gut).</P>

<P>Um nicht-25fps Filme auf einem PAL TV oder einer langsamen CPU wiederzugeben, sollte
die <CODE>-framedrop</CODE> Option aktiviert werden.</P>

<P>Um das Seitenverhältnis von DivX Dateien aufrecht und optimale Skalierungsparameter
zu erhalten (horizontale Hardwareskalierung und vertikale softwareskalierung unter
beibehaltung des Seitenverhältnis), sollte das neue dvbscale Plugin verwendet werden:</P>

<PRE>
für  3:4 TV:  -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale
für 16:9 TV:  -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale=1024
</PRE>

<H4>ZUKUNFT</H4>

<P>Wenn Fragen bestehen oder Feature Ankündigungen und Diskussionen zum Thema erwünscht sind,
sollte der <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A>
Mailingliste beigetreten werden. Auf der Liste sollte immer Englisch gesprochen werden.</P>

<P>In Zukunft wird man OSD und Untertitel mit dem eingebauten OSD Feature der DVB Karten
anzeigen können, sowie eine flüssige Wiedergabe von nicht-25fps Filmen und Echtzeit
Transcodierungen zwischen MPEG2 und MPEG4 (teilweise Dekomprimierung).</P>


<H4><A NAME="dxr3">2.3.1.17. DXR3</A></H4>

<P><B>MPlayer</B> unterstützt eine hardwarebeschleunigte Wiedergabe mit den
Creative DXR3 und Sigma Designs Hollywood Plus Karten.</P>

<P>Zuerst sollten die DXR3/H+ Treiber korrekt installiert werden (Version
0.12.0 oder neuer). Sie und die Installationsanweisungen können auf der
<A HREF="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus für Linux</A>
Seite gefunden weredn. <CODE>configure</CODE> sollte die Karte automatisch erkennen.
Auch die Kompilierung sollte problemlos verlaufen.</P>

<H4>VERWENDUNG</H4>

<TABLE>
  <TR><TD>&nbsp;&nbsp;</TD><TD VALIGN="top"><CODE>-vo dxr3:&lt;noprebuf&gt;:&lt;codec&gt;:&lt;device&gt;</CODE></TD><TD>&nbsp;&nbsp;</TD>
    <TD>Where <CODE>&lt;noprebuf&gt;</CODE> specifies turning off prebuffering.
    Dies wird auf Athlons automatisch erledigt. Falls die Wiedergabe desynchronisiert
    ist, sollte das Prebuffering deaktiviert werden. Wenn noprebuf ausgelassen wird,
    wird das Prebuffering aktiviert (ausser auf Athlons).<BR>
    <CODE>&lt;codec&gt;</CODE> = fame/avcodec, avcodec erzeugt eine bessere
    Ausgabequalität, ist jedoch langsamer als fame, der auf langsamen Maschninen
    verwendet werden sollte. Standardmässig wird libavcodec verwendet. Dazu muss
    libabvcodec natürlich korrekt installiert sein (näheres dazu in
    <A HREF="codecs.html">codecs.html</A>).<BR>
    <CODE>&lt;device&gt;</CODE> = Gerätenummer die verwendet werden soll bei mehreren
    em8300 Karten.<BR>
    Alle dieser Optionen können ausgelassen werden, müssen jedoch in der genannten
    Reihenfolge angegeben werden, so funktioniert <CODE>dxr3:fame</CODE> und <CODE>dxr3:1</CODE>,
    <CODE>dxr3:1:avcodec</CODE> jedoch nicht.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-ao oss:/dev/em8300_ma-X</CODE></TD>
    <TD></TD><TD>Für die Audioausgabe, wobei <CODE>X</CODE> die Gerätenummer ist
    (0 mit einer Karte).</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-ac hwac3</CODE></TD>
    <TD></TD><TD>Für die digitale anstatt analoge Audioausgabe.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-vc mpegpes</CODE></TD>
    <TD></TD><TD>Erzwingt die Hardwarebeschleunigung, funktioniert jedoch nur mit MPEG1/2.</TD></TR>
  <TR><TD></TD><TD VALIGN="top"><CODE>-aop list=resample:fout=xxxxx</CODE></TD>
    <TD></TD><TD>Falls die Samplerate unter 44100Hz liegt, sollte entweder 44100Hz oder 48000Hz
    verwendet werden. Das passendere ist dabei vorzuziehen: So sollte 44100Hz für einen
    22050Hz Film verwendet werden (44100 / 2 = 22050). Bei 24000Hz sollte ensprechend 48000Hz
    verwendet werden (48000 / 2 = 24000) usw... Dies funktioniert nicht mit der digitalen Audioausgabe
    (<CODE>-ac hwac3</CODE>).</TD></TR>
</TABLE>

<H4>Überlagerung (overlay)</H4>

<P>Um ein overlay zu erhalten, sollte <CODE>dxr3view</CODE>, welches sich im
em8300 Paket befindet, vor dem Start von <B>MPlayer</B> aufgerufen werden.
Man kann dabei in <CODE>dxr3view</CODE> viele Optionen setzten durch Drücken der Taste
<CODE>T</CODE>, dabei muss der Mauszeiger über dem Fenster bleiben.</P>

<H4>MPEG1, MPEG2, VCD und DVD Hinweise</H4>

<P>MPEG1/2 Inhalt sollte nun automatisch von <B>MPlayer</B> erkannt mit der
Hardwarebeschleunigung von DXR3 wiedergegeben werden. Falls nicht, kann die
Hardwarebeschleunigung mit der Option <CODE>-vc mpegpes</CODE> erzwungen werden.
Falls jedoch irgendwelche Nachbearbeitungsfilter verwendet werden sollen, muss
<CODE>-vc mpeg12</CODE> verwendet werden.</P>

<P>In einigen Fällen, erscheinen die Untertitel nicht synchron mit dem A/V Stream
bei der Verwendung der Hardware Decodierung (<CODE>-vc mpegpes</CODE>). Dies ist
ein bekannter Fehler. em8300 behandelt auch zu grosse Untertitel falsch und kann dabei
1 bis 2 Sekunden stillstehen. Momentan lässt sich der Fehler bei der Wiedergabe von
DVDs mit Untertiteln nur durch die Verwendung von <CODE>-vc mpeg12</CODE> umgehen.</P>


<H4><A NAME="tvout">2.3.1.A. TV-Out Unterstützung</A></H4>

<H5><A NAME="tvout_matrox">2.3.1.A.1. Matrox G400 Karten</A></H5>

<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 <B>alle</B> 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 &lt;dateiname&gt;</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>


<H5><A NAME="tvout_ati">2.3.1.A.2. ATI Karten</A></H5>

<H4>EINLEITUNG</H4>

<P>ATI will momentan keine ihrer TV-out Chips unter Linux unterstützen, auf Grund
ihrer lizenzierten Macrovision Technologie.</P>

<H4>STATUS DER ATI TV-OUT KARTEN UNTER LINUX</H4>

<UL>
  <LI><B>ATI Mach64</B>: unterstützt von <A HREF="http://gatos.sf.net">gatos</A>.</LI>
  <LI><B>ASIC Radeon VIVO</B>: unterstütz von <A HREF="http://gatos.sf.net">gatos</A>.</LI>
  <LI><B>Radeon</B> und <B>Rage128</B>: unterstützt von <B>MPlayer</B>
    Es sollte die <a href="#vesa">VESA Treiber</a> und <A HREF="#vidix">Vidix</A>
    Sektion überprüft werden.</LI>
</UL>

<P>Auf anderen Karten sollten bloss die <A HREF="#vesa">VESA Treiber</A>, ohne
Vidix verwendet werden. Es wird jedoch eine leistungsfähige CPU benötigt.</P>

<P>Das einzige, was zu tun ist - <B>den TV Stecker eingesteckt haben, bevor man
den PC bootet</B>, da das Video BIOS sich nur einmal während der POST Prozedur
initialisiert.</P>


<H5><A NAME="tv_out_voodoo">2.3.1.A.3. Voodoo 3</A></H5>

<P>Überprüfe <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">diese URL</A>.</P>

</BODY>
</HTML>