annotate DOCS/video.html @ 2408:2453b4af2661

uptodate, baby!
author gabucino
date Tue, 23 Oct 2001 08:52:17 +0000
parents a70571f46bd2
children 1e56c3381d55
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
1 <HTML>
1704
a2e1432f7ac3 Arial font
gabucino
parents: 1686
diff changeset
2 <BODY BGCOLOR=white>
a2e1432f7ac3 Arial font
gabucino
parents: 1686
diff changeset
3
a2e1432f7ac3 Arial font
gabucino
parents: 1686
diff changeset
4 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
5
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
6 <P><B><A NAME=2.2.1>2.2.1. Video output devices</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
7
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
8 <TABLE BORDER=0>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
9
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
10 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>General:</B></P></TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
11
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
12 <TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>x11</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>X11 with optional SHM extension</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
13 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>xv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>X11 using overlays with the Xvideo extension (hardware YUV & scaling)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
14 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>gl</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OpenGL renderer, so far works only with:
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
15 <UL><LI>all cards with Utah-GLX
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
16 <LI>Matrox cards with X/DRI >=4.0.3
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
17 <LI>Radeon with X/DRI CVS</UL></TD><TR>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
18 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>dga</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>X11 DGA extension</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
19 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>fbdev</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Output to general framebuffers</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
20 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>svga</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Output to SVGAlib</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
21 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>sdl</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
22 &nbsp;&nbsp;<CODE>1.1.7:</CODE> supports software scaling<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
23 &nbsp;&nbsp;<CODE>1.1.8:</CODE> supports Xvideo (hardware scaling/fullscreen)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
24 &nbsp;&nbsp;<CODE>1.2.0:</CODE> supports AAlib (-vo aa is very recommended, see below!)</TD><TR>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
25 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ggi</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>similar to SDL</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
26 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aa</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>textmode rendering with AAlib</TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
27
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
28 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Card specific:</B></P></TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
29
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
30 <TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>mga</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Matrox G200/G400 hardware YUV overlay via the mga_vid device</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
31 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>xmga</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Matrox G200/G400 overlay (mga_vid) in X11 window<BR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
32 (<I>Xv emulation on X 3.3.x!</I>)</TD><TR>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
33 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>syncfb</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Matrox G400 YUV support on framebuffer (obsoleted, use mga/xmga)</TD><TR>
2131
b42efb0ddb82 voodoo2/3/banshee lobaszas fixed
gabucino
parents: 2108
diff changeset
34 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>3dfx</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Voodoo3/Banshee hardware YUV (/dev/3dfx) support (not yet tested, maybe
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
35 broken)</TD><TR>
2131
b42efb0ddb82 voodoo2/3/banshee lobaszas fixed
gabucino
parents: 2108
diff changeset
36 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>tdfxfb</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Voodoo3/Banshee hardware YUV support on tdfx framebuffer (works!)</TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
37
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
38 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Special:</B></P></TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
39
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
40 <TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>png</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>PNG files output (use -z switch to set compression)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
41 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>pgm</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>PGM files output (for testing purposes or ffmpeg encoding)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
42 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>md5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>MD5sum output (for MPEG conformance tests)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
43 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>odivx</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OpenDivX AVI File writer (use -br to set encoding bitrate) (<B>WITHOUT SOUND</B>!)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
44 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>null</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Null output (for speed tests/benchmarking)</TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
45 </TABLE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
46
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
47 <P>NOTE: <I>check the following subsections for details and requirements!</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
48
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
49
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
50 <P><B><A NAME=2.2.1.1>2.2.1.1. MTRR</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
51
1946
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
52 <P>It is VERY recommended to check if the MTRR registers are set up properly,
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
53 because they can give a big performance boost.</P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
54
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
55 <P>Do a '<CODE>cat /proc/mtrr</CODE>' :</P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
56
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
57 <P><CODE>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
58 --($:~)-- cat /proc/mtrr<BR>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
59 reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
60 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<BR>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
61 </CODE></P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
62
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
63 <P>It's right, shows my Matrox G400 with 16Mb memory. I did this from
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
64 XFree 4.x.x , which sets up MTRR registers automatically.</P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
65
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
66 If nothing worked, you have to do it manually. First, you have to find the base
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
67 address.
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
68 You have 3 ways to find it:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
69
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
70 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
71 <LI>from X11 startup messages, for example:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
72 <P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
73 (--) SVGA: Linear framebuffer at 0xD8000000</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
74 <LI>from /proc/pci (use lspci -v command):
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
75 <P><TABLE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
76 <TD VALIGN=top><CODE>01:00.0</CODE></TD><TD><CODE>VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE></TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
77 <TD></TD><TD><CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
78 </TABLE></P></CODE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
79 <LI>from mga_vid kernel driver messages (use dmesg):
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
80 <P><CODE>mga_mem_base = d8000000</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
81 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
82
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
83 <P>Then let's find the memory size. This is very easy, just convert video ram
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
84 size to hexadecimal, or use this table:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
85
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
86 <TABLE BORDER=0>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
87 <TD>&nbsp;&nbsp;</TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
88 <TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
89 <TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
90 <TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
91 <TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
92 <TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
93 </TABLE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
94
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
95
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
96 <P>You know base address and memory size, let's setup mtrr registers!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
97 For example, for the Matrox card above (base=0xd8000000) with 32MB
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
98 ram (size=0x2000000) just execute:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
99
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
100
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
101 <P><CODE>&nbsp;&nbsp;echo "base=0xd8000000 size=0x2000000 type=write-combining" &gt;| /proc/mtrr</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
102
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
103
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
104 <P>Not all CPUs support MTRRs. For example older K6-2's [around 266Mhz,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
105 stepping 0] doesn't support MTRR, but stepping 12's do ('<CODE>cat /proc/cpuinfo</CODE>'
1686
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
106 to check it</CODE>').</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
107
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
108 <P><B><A NAME=2.2.1.2>2.2.1.2. Xv</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
109
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
110 <P>Under XFree86 4.0.2 or newer, you can use your card's hardware YUV routines
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
111 using the XVideo extension. This is what the option '-vo xv' uses.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
112 In order to make this work, be sure to check the following:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
113 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
114 <LI>You have to use XFree86 4.0.2 or newer (former versions don't have XVideo)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
115 <LI>Your card actually supports harware acceleration (modern cards do)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
116 <LI>X loads the XVideo extension, it's something like this:
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
117
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
118 <P><CODE>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
119 <P>in /var/log/XFree86.0.log</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
120
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
121 <P>NOTE: this loads only the XFree86's extension. In a good install, this is
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
122 always loaded, and doesn't mean that the _card's_ XVideo support is loaded!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
123
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
124 <LI>Your card has Xv support under Linux. To check, try 'xvinfo', it is the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
125 part of the XFree86 distribution. It should display a long text, similar
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
126 to this:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
127 <PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
128 X-Video Extension version 2.2
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
129 screen #0
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
130 Adaptor #0: "Savage Streams Engine"
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
131 number of ports: 1
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
132 port base: 43
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
133 operations supported: PutImage
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
134 supported visuals:
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
135 depth 16, visualID 0x22
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
136 depth 16, visualID 0x23
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
137 number of attributes: 5
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
138 (...)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
139 Number of image formats: 7
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
140 id: 0x32595559 (YUY2)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
141 guid: 59555932-0000-0010-8000-00aa00389b71
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
142 bits per pixel: 16
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
143 number of planes: 1
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
144 type: YUV (packed)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
145 id: 0x32315659 (YV12)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
146 guid: 59563132-0000-0010-8000-00aa00389b71
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
147 bits per pixel: 12
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
148 number of planes: 3
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
149 type: YUV (planar)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
150 (...etc...)
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
151 </PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
152
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
153 <P>It must support YUY2 packed, and YV12 planar pixel formats to be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
154 usable with <B>MPlayer</B>.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
155
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
156 <LI>And finally, check if <B>MPlayer</B> was compiled with 'xv' support.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
157 ./configure prints this.
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
158
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
159 </UL></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
160
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
161 <P><B><A NAME=2.2.1.2.1>2.2.1.2.1. 3dfx cards</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
162
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
163 <P>Older 3dfx drivers were known to have problems with XVideo acceleration,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
164 it didn't support either YUY2 or YV12, and so. Verify that you have
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
165 XFree86 version 4.1.0 or greater, it works ok. Alternatively, you can use
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
166 <A HREF="http://dri.sourceforge.net">DRI</A> cvs.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
167 If you experience strange effects using -vo xv, try SDL (it has XVideo too)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
168 and see if it helps. Check the <A HREF="#2.2.1.4">SDL section</A> for details.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
169
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
170 <P><B>OR</B>, try the NEW -vo tdfxfb driver! See the <A HREF=#2.2.1.9>2.2.1.9</A>
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
171 section!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
172
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
173 <P><B><A NAME=2.2.1.2.2>2.2.1.2.2. S3 cards</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
174
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
175 <P>S3 Savage3D's should work fine, but for Savage4, use XFree86 version 4.0.3
1988
f21bf0842a55 reviewed for release : round 2
gabucino
parents: 1987
diff changeset
176 or greater (in case of image problems, try 16bpp). As for S3 Virge.. sell it.</P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
177
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
178 <P><B><A NAME=2.2.1.2.3>2.2.1.2.3. nVidia cards</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
179
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
180 <P>nVidia isn't a very good choice under Linux.. You'll have to use the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
181 binary nVidia driver, available at nVidia's website. The standard X
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
182 driver doesn't support XVideo for these cards, due to nVidia's closed
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
183 sources/specifications.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
184
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
185 <P><UL><LI>Riva128 cards don't have XVideo support even with the nvidia driver :(
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
186 Complain to NVidia.</UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
187
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
188
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
189 <P><B><A NAME=2.2.1.2.4>2.2.1.2.4. ATI cards</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
190
1920
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
191 <P>
2063
gabucino
parents: 1992
diff changeset
192 <LI>The GATOS driver (which you should use) has VSYNC enabled by default. It means that decoding speed
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
193 (!) is synced to the monitor's refresh rate. If playing seems to be slow, try
1920
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
194 disabling VSYNC somehow, or set refresh rate to n*(fps of the movie) Hz.</LI>
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
195
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
196 <LI>Radeon VE - currently only XFree86 CVS has driver for this card, version
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
197 4.1.0 doesn't. No TV-out support.</LI>
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
198 </P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
199
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
200
1922
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
201 <P><B><A NAME=2.2.1.2.5>2.2.1.2.5. NeoMagic cards</A></B></P>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
202
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
203 <P>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
204 These cards can be found in many laptops. Under Linux, their peak is only DGA.
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
205 Unfortunately, the DGA driver in X 4.1.0 doesn't work, you'll have to wait for
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
206 4.2.0, or download a modified driver for 4.0.3 or 4.1.0 from here :
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
207 <A HREF="http://www.mplayerhq.hu/MPlayer/incoming/NeoMagic-driver">http://www.mplayerhq.hu/MPlayer/incoming/NeoMagic-driver</A>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
208 (there is also the patch to the driver's source).<BR>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
209 Drivers provided by <A HREF="mailto:tomee@cpi.pl">Tomek Jarzynka</A>.
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
210 </P>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
211
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
212
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
213 <P><B><A NAME=2.2.1.3>2.2.1.3. DGA</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
214
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
215 <P><B><A NAME=2.2.1.3.1>2.2.1.3.1. Summary</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
216
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
217 <P>This document tries to explain in some words what DGA is in general and
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
218 what the DGA video output driver for mplayer can do (and what it can't).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
219
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
220
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
221 <P><B><A NAME=2.2.1.3.2>2.2.1.3.2. What is DGA</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
222
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
223 <P>DGA is short for Direct Graphics Access and is a means for a program to
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
224 bypass the X-Server and directly modifying the framebuffer memory.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
225 Technically spoken this happens by mapping the framebuffer memory into
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
226 the memory range of your process. This is allowed by the kernel only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
227 if you have superuser privileges. You can get these either by logging in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
228 as root or by setting the suid bit on the mplayer excecutable (NOT
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
229 recommended!).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
230
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
231 <P>There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
232 introduced with XFree 4.0.1.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
233
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
234 <P>DGA1 provides only direct framebuffer access as described above. For
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
235 switching the resolution of the video signal you have to rely on the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
236 XVidMode extension.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
237
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
238 <P>DGA2 incorporates the features of XVidMode extension and also allows
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
239 switching the depth of the display. So you may, although basically
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
240 running a 32 bit depth XServer, switch to a depth of 15 bits and vice
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
241 versa. </P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
242
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
243 <P>However DGA has some drawbacks. It seems it is somewhat dependent on the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
244 graphics chip you use and on the implementation of the XServer's video
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
245 driver that controls this chip. So it does not work on every system ...</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
246
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
247
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
248 <P><B><A NAME=2.2.1.3.3>2.2.1.3.3. Installing DGA support for MPlayer</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
249
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
250 <P>First make sure X loads the DGA extension, see in /var/log/XFree86.0.log:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
251
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
252 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
253
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
254 <P>See, XFree86 4.0.x or greater is VERY RECOMMENDED!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
255 <B>MPlayer</B>'s DGA driver is autodetected on ./configure, or you can force it
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
256 with --enable-dga.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
257
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
258 <P>If the driver couldn't switch to a smaller resolution, experiment with
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
259 switches -vm (only with X 3.3.x), -fs, -bpp, -zoom to find a video mode that
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
260 the movie fits in. There is no converter right now.. :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
261
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
262 <P>Become ROOT. DGA needs root access to be able to write directly video memory.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
263 If you want to run it as user, then install <B>MPlayer</B> SUID root:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
264
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
265 <P><CODE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
266 &nbsp;&nbsp;&nbsp;&nbsp;<CODE>chown root /usr/local/bin/mplayer<BR>
1686
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
267 &nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR>
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
268 &nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
269
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
270
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
271 <P>Now it works as a simple user, too.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
272
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
273
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
274 <P><B>!!!! BUT STAY TUNED !!!!</B><BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
275 This is a <B>BIG</B> security risk! Never do this on a server or on a computer
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
276 can be accessed by more people than only you because they can gain root
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
277 privilegies through suid root mplayer.<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
278 <B>!!!! SO YOU HAVE BEEN WARNED ... !!!!</B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
279
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
280 <P>Now use '-vo dga' option, and there you go! (hope so:)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
281 You should also try if the '-vo sdl:dga' option works for you! It's much
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
282 faster!!!</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
283
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
284 <P><B><A NAME=2.2.1.3.4>2.2.1.3.4. Resolution switching</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
285
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
286 <P>The DGA driver allows for switching the resolution of the output signal.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
287 This avoids the need for doing (slow) software scaling and at the same
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
288 time provides a fullscreen image. Ideally it would switch to the exact
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
289 resolution (except for honouring aspect ratio) of the video data, but the
1686
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
290 XServer only allows switching to resolutions predefined in
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
291 <CODE>/etc/X11/XF86Config</CODE> (<CODE>/etc/X11/XF86Config-4</CODE> for XFree 4.0.X respectively).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
292 Those are defined by so-called modelines and depend on the capabilites
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
293 of your video hardware. The XServer scans this config file on startup and
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
294 disables the modelines not suitable for your hardware. You can find
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
295 out which modes survive with the X11 log file. It can be found at:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
296 <CODE>/var/log/XFree86.0.log</CODE>.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
297 <P>See appendix A for some sample modeline definitions.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
298
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
299 <P><B><A NAME=2.2.1.3.5>2.2.1.3.5. DGA &amp; MPlayer</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
300
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
301 <P>DGA is used in two places with <B>MPlayer</B>: The SDL driver can be made to make
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
302 use of it (-vo sdl:dga) and within the DGA driver (-vo dga).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
303 The above said is true for both; in the following sections I'll explain
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
304 how the DGA driver for <B>MPlayer</B> works.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
305
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
306 <P><B><A NAME=2.2.1.3.6>2.2.1.3.6. Features of the DGA driver</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
307
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
308 <P>The DGA driver is invoked by specifying -vo dga at the command line.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
309 The default behaviour is to switch to a resolution matching the original
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
310 resolution of the video as close as possible. It deliberately ignores the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
311 -vm and -fs switches (enabling of video mode switching and fullscreen) -
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
312 it always tries to cover as much area of your screen as possible by switching
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
313 the video mode, thus refraining to use a single additional cycle of your CPU
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
314 to scale the image.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
315 If you don't like the mode it chooses you may force it to choose the mode
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
316 matching closest the resolution you specify by -x and -y.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
317 By providing the -v option, the DGA driver will print, among a lot of other
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
318 things, a list of all resolutions supported by your current XF86-Config
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
319 file.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
320 Having DGA2 you may also force it to use a certain depth by using the -bpp
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
321 option. Valid depths are 15, 16, 24 and 32. It depends on your hardware
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
322 whether these depths are natively supported or if a (possibly slow)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
323 conversion has to be done.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
324
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
325 <P>If you should be lucky enough to have enough offscreen memory left to
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
326 put a whole image there, the DGA driver will use doublebuffering, which
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
327 results in much smoother movie replaying. It will tell you whether double-
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
328 buffering is enabled or not.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
329
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
330 <P>Doublebuffering means that the next frame of your video is being drawn in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
331 some offscreen memory while the current frame is being displayed. When the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
332 next frame is ready, the graphics chip is just told the location in memory
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
333 of the new frame and simply fetches the data to be displayed from there.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
334 In the meantime the other buffer in memory will be filled again with new
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
335 video data.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
336
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
337 Doublebuffering may be switched on by using the option -double and may be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
338 disabled with -nodouble. Current default option is to disable
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
339 doublebuffering. When using the DGA driver, onscreen display (OSD) only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
340 works with doublebuffering enabled. However, enabling doublebuffering may
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
341 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
342 CPU time!) depending on the implementation of DGA for your hardware.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
343
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
344
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
345 <P><B><A NAME=2.2.1.3.7>2.2.1.3.7. Speed issues</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
346
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
347 <P>Generally spoken, DGA framebuffer access should be at least as fast as using
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
348 the X11 driver with the additional benefit of getting a fullscreen image.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
349 The percentage speed values printed by mplayer have to be interpreted with
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
350 some care, as for example, with the X11 driver they do not include the time
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
351 used by the X-Server needed for the actual drawing. Hook a terminal to a
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
352 serial line of your box and start top to see what is really going on in your
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
353 box ...</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
354
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
355 <P>Generally spoken, the speedup done by using DGA against 'normal' use of X11
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
356 highly depends on your graphics card and how well the X-Server module for it
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
357 is optimized.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
358
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
359 <P>If you have a slow system, better use 15 or 16bit depth since they require
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
360 only half the memory bandwidth of a 32 bit display.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
361
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
362 <P>Using a depth of 24bit is even a good idea if your card natively just supports
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
363 32 bit depth since it transfers 25% less data compared to the 32/32 mode.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
364
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
365 <P>I've seen some avi files already be replayed on a Pentium MMX 266. AMD K6-2
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
366 CPUs might work at 400 MHZ and above.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
367
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
368 <P><B><A NAME=2.2.1.3.8>2.2.1.3.8. Known bugs</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
369
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
370 <P>Well, according to some developpers of XFree, DGA is quite a beast. They
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
371 tell you better not to use it. Its implementation is not always flawless
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
372 with every chipset driver for XFree out there.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
373
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
374 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
375 <LI>with XFree 4.0.3 and nv.o there is a bug resulting in strange colors
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
376 <LI>ATI driver requires to switch mode back more than once after finishing
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
377 using of DGA
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
378 <LI>some drivers simply fail to switch back to normal resolution (use
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
379 Ctrl-Alt-Keypad +, - to switch back manually)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
380 <LI>some drivers simply display strange colors
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
381 <LI>some drivers lie about the amount of memory they map into the process's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
382 address space, thus vo_dga won't use doublebuffering (SIS?)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
383 <LI>some drivers seem to fail to report even a single valid mode. In this
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
384 case the DGA driver will crash telling you about a nonsense mode of
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
385 100000x100000 or the like ...
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
386 <LI>OSD only works with doublebuffering enabled
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
387 </UL></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
388
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
389 <P><B><A NAME=2.2.1.3.9>2.2.1.3.9. Future work</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
390
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
391 <P><UL><LI>use of the new X11 render interface for OSD
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
392 <LI>where is my TODO list ???? :-(((</UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
393
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
394
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
395 <P><B><A NAME=2.2.1.3.A>2.2.1.3.A. Some modelines</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
396
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
397 <PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
398 Section "Modes"
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
399 Identifier "Modes[0]"
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
400 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
401 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
402 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
403 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
404 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
405 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
406 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
407 EndSection
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
408 </PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
409
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
410 <P>These entries work fine with my Riva128 chip, using nv.o XServer driver
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
411 module.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
412
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
413
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
414 <P><B><A NAME=2.2.1.3.B>2.2.1.3.B. Bug Reports</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
415
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
416 <P>If you experience troubles with the DGA driver please feel free to file
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
417 a bug report to me (e-mail address below). Please start mplayer with the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
418 -v option and include all lines in the bug report that start with vo_dga:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
419
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
420 <P>Please do also include the version of X11 you are using, the graphics card
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
421 and your CPU type. The X11 driver module (defined in XF86-Config) might
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
422 also help. Thanks!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
423
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
424
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
425 <P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
426
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
427
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
428 <P><B><A NAME=2.2.1.4>2.2.1.4. SDL</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
429
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
430 <P>Here are some notes about SDL out in <B>MPlayer</B>.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
431
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
432
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
433
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
434 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
435 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>There are several commandline switches for SDL:</B></P></TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
436 <TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo sdl:name</TD><TD>&nbsp;&nbsp;</TD><TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
437 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specifies sdl video driver to use (ie. aalib, dga, x11)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
438 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-ao sdl:name</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specifies sdl audio driver to use (ie. dsp,
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
439 esd, arts)</TD><TR>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
440 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-noxv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>disables Xvideo hardware acceleration</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
441 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-forcexv</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>tries to force Xvideo acceleration</TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
442
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
443 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>SDL Keys:</B></P></TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
444
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
445 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>F</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>toggles fullscreen/windowed mode</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
446 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>C</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cycles available fullscreen modes</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
447 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>W/S</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>mappings for * and / (mixer control)</TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
448
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
449 </TABLE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
450
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
451 <P><B>KNOWN BUGS:</B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
452 <P><UL><LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa !)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
453 It's bug in SDL, I can't change it (tested with SDL 1.2.1).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
454 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
455
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
456 <P><B><A NAME=2.2.1.5>2.2.1.5. SVGAlib</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
457
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
458 <P>If you don't have X, you can use the SVGAlib target! Be sure not to use the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
459 -fs switch, since it toggles the usage of the software scaler, and it's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
460 SLOOOW now, unless you have a real fast CPU (and/or MTRR?). :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
461
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
462 <P>Of course you'll have to install svgalib and its development package in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
463 order for <B>MPlayer</B> build its SVGAlib driver (autodetected, but can be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
464 forced), and don't forget to edit /etc/vga/libvga.config to suit your
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
465 card &amp; monitor.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
466
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
467 <P><B><A NAME=2.2.1.6>2.2.1.6. Framebuffer output (FBdev)</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
468
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
469 <P>Whether to build the FBdev target is autodetected during ./configure .
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
470 Read the framebuffer documentation in the kernel sources
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
471 (Documentation/fb/*) for info on how to enable it, etc.. !</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
472
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
473 <P>If your card doesn't support VBE 2.0 standard (older ISA/PCI
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
474 cards, such as S3 Trio64), only VBE 1.2 (or older?) :
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
475 Well, VESAfb is still available, but you'll have to load SciTech Display
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
476 Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
477 whatever. And don't forget to register your UniVBE ;))</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
478
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
479 <P>The FBdev output takes some additional parameters above the others:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
480
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
481 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
482 <TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fb</TD><TD>&nbsp;&nbsp;</TD><TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
483 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specify the framebuffer device to use (/dev/fd0)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
484 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmode</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>mode name to use (according to /etc/fb.modes)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
485 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmodeconfig</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> config file of modes (default /etc/fb.modes)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
486 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>IMPORTANT values, see example.conf</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
487 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_vfreq</TD><TD></TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
488 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor_dotclock</TD><TD></TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
489 </TABLE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
490
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
491 <P>If you want to change to a specific mode, then use</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
492
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
493 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (NameOfMode) filename</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
494
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
495 <P><UL><LI><B>-vm</B> alone will choose the most suitable mode from /etc/fb.modes . Can be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
496 used together with -x and -y options too. The -flip option is supported only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
497 if the movie's pixel format matches the video mode's pixel format.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
498 Pay attention to the bpp value, fbdev driver tries to use the current,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
499 or if you specify the -bpp option, then that.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
500 <LI><B>-zoom</B> option isn't supported (software scaling is slow). -fs option
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
501 isn't supported. You can't use 8bpp (or less) modes.</UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
502
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
503 <P>NOTE: FBdev video mode changing _does not work_ with the VESA framebuffer,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
504 and don't ask for it, since it's not an <B>MPlayer</B> limitation.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
505
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
506 <P><B><A NAME=2.2.1.7>2.2.1.7. Matrox framebuffer (mga_vid)</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
507
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
508 <P>This section is about the Matrox G200/G400/G450/G550 BES (Back-End Scaler)
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
509 support, the mga_vid kernel driver. It's active developed by me (A'rpi), and
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
510 it has hardware VSYNC support with triple buffering. It works on both
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
511 framebuffer console and under X.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
512
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
513 <P>To use it, you first have to compile mga_vid.o:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
514
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
515 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;cd drivers<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
516 &nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
517
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
518 <P>Then create /dev/mga_vid device:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
519
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
520 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mknod /dev/mga_vid c 178 0</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
521
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
522 <P>and load the driver with</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
523
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
524 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
525
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
526 <P>You should verify the memory size detection using the 'dmesg' command. If
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
527 it's bad, use the mga_ram_size option (rmmod mga_vid first), specify card's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
528 memory size in MB:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
529
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
530 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o mga_ram_size=16</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
531
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
532 <P>To make it load/unload automatically when needed, insert the following line
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
533 at the end of /etc/modules.conf:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
534
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
535 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;alias char-major-178 mga_vid</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
536
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
537 <P>Then run</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
538
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
539 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;depmod -a</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
540
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
541 <P>Now you have to (re)compile <B>MPlayer</B>, ./configure will detect /dev/mga_vid
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
542 and build the 'mga' driver. Using it from <B>MPlayer</B> goes by '-vo mga' if
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
543 you have matroxfb console, or '-vo xmga' under XFree86 3.x.x or 4.x.x.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
544
2108
767dbc5b7daa mga_vid now cooperates with xv
gabucino
parents: 2063
diff changeset
545 <P>The mga_vid driver cooperates with Xv.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
546
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
547
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
548 <P><B><A NAME=2.2.1.8>2.2.1.8. SiS 6326 framebuffer (sis_vid)</A></B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
549
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
550 <P>SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
551
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
552 <P>Its interface should be compatible with the mga_vid, but the driver was not
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
553 updated after the mga_vid changes, so it's outdated now. Volunteers
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
554 needed to test it and bring the code up-to-date.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
555
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
556 <P><B><A NAME=2.2.1.9>2.2.1.9. 3dfx YUV support (tdfxfb)</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
557
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
558 <P>This driver uses the kernel's tdfx framebuffer driver to play movies with
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
559 YUV acceleration. You'll need a kernel with tdfxfb support, and recompile with
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
560 <CODE>./configure --enable-tdfxfb</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
561
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
562 <P><B><A NAME=2.2.1.10>2.2.1.10. OpenGL output</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
563
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
564 <P><B>MPlayer</B> support displaying movies using OpenGL. Unfortunately, not all
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
565 drivers support this ability. For example the Utah-GLX drivers
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
566 (for XFree86 3.3.6) have it, with all cards.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
567 See <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
568 for details about how to install it.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
569
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
570 <P>XFree86(DRI) >= 4.0.3 supports it only with Matrox, and Radeon cards.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
571 See <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> for download,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
572 and installation instructions.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
573
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
574 <P><B><A NAME=2.2.1.11>2.2.1.11. AAlib - text mode displaying</B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
575
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
576 <P><B>AAlib</B> is a library for displaying graphics in text mode, using powerful
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
577 ASCII renderer. There are LOTS of programs already supporting it, like Doom,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
578 Quake, etc. MPlayer contains a very usable driver for it.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
579 If ./configure detects aalib installed, the aalib libvo driver will be built.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
580
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
581 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
582 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>You can use some keys in the AA Window to change rendering options:</B></P></TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
583 <TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>1</TD><TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>decrease contrast</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
584 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>2</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>increase contrast</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
585 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>3</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>decrease brightness</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
586 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>4</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>increase brightness</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
587 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>switch fast rendering on/off</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
588 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>6</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>set dithering mode (none, error distribution, floyd steinberg)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
589 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>7</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>invert image</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
590 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>a</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>toggles between aa and mplayer control)</TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
591
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
592 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>The following command line options can be used:</B></P></TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
593
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
594 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaosdcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>change osd color</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
595 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aasubcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>change subtitle color</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
596 <TD COLSPAN=3></TD><TD><P><I><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>where V can be: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)</P></TD><TR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
597
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
598 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>AAlib itselves provides a large sum of options.
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
599 Here are some important:</P></B></TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
600
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
601 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aadriver</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>set recommended aa driver (X11, curses, linux)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
602 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaextended</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>use all 256 characters</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
603 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaeight</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>use eight bit ascii</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
604 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aahelp</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>prints out all aalib options</TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
605 </TABLE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
606
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
607 <P>NOTE: the rendering is very CPU intensive, especially when using AA-on-X
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
608 (using aalib on X), and it's least CPU intensive on standard,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
609 non-framebuffer console. Use SVGATextMode to set up a big textmode,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
610 then enjoy! (secondary head Hercules cards rock :)) (anyone can enhance
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
611 bdev to do conversion/dithering to hgafb? Would be neat :)</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
612
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
613 <P>Use the -framedrop option if your comp isn't fast enough to render all frames!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
614
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
615 <P>Playing on terminal you'll get better speed and quality using the linux driver, not
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
616 curses (-aadriver linux). But therefore you need write access on /dev/vcsa&lt;terminal&gt;!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
617 That isn't autodetected by aalib, bu vo_aa tries to find the best mode.
1731
07e2dfca67a3 can't stop commiting :)
gabucino
parents: 1704
diff changeset
618 See <A HREF="http://aa-project.sourceforge.net/tune/">http://aa-project.sourceforge.net/tune/</A> for further tuning issues.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
619
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
620 <P><B><A NAME=2.2.1.A>2.2.1.A. TV-out support</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
621
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
622 <P><B><A NAME=2.2.1.A.1>2.2.1.A.1. Matrox cards</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
623
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
624 <P><I> What I'd love to see in mplayer is the the same feature that I see in my
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
625 windows box. When I start a movie in windows (in a window or in full screen)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
626 the movie is also redirected to the tv-out and I can also see it full screen
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
627 on my tv. I love this feature and was wondering how hard it would be to add
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
628 such a feature to mplayer.</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
629
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
630 <P>It's a driver limitation. BES (Back-End Scaler, it's the overlay generator
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
631 and YUV scaling engine of G200/G400/G450/G550 cards) works only with CRTC1.
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
632 Normally, CRTC1 (textmode, every bpp gfx and BES) is routed to HEAD1,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
633 and CRTC2 (only 16/32bpp gfx) is routed to HEAD2 (TV-out).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
634
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
635 <P>Under linux, you have two choices to get TV-out working:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
636
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
637 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
638 <LI>Using X 4.0.x + the HAL driver from matrox, so you'll get dual-head
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
639 support, and you'll be able to redirect second output to the TV.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
640 Unfortunately it has Macrovision encryption enabled, so it will
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
641 only work on directly-connected TV, no through VCR.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
642 Other problem is that Xv doesn't work on the second head.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
643 (I don't know how Windows solve it, maybe it swaps the CRTCs between
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
644 the heads, or just uses YUV framebuffer of second DAC with some trick)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
645 <LI>Using matroxfb with dual-head support enabled (2.4.x kernels).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
646 You'll be able to get a framebuffer console (using CRTC2, so it's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
647 slow), and TV-out (using CRTC1, with BES support).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
648 You have to forget X while using this kind of TV-out! :(
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
649 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
650
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
651 <P>Follow these instructions:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
652
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
653 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
654 <LI>Compile all the matrox-related things to modules in the kernel.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
655 (you MUST compile them to modules, at least I couldn't get them
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
656 working built-in yet)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
657 [reboot to new kernel & install modules, but don't load them yet!]
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
658 <P><CODE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
659 &nbsp;&nbsp;cd TVout<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
660 &nbsp;&nbsp;./compile.sh</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
661 <LI>Run the 'modules' script from the TV-out directory of mplayer.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
662 It will switch your console to framebuffer.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
663 Change to tty1 (ALT+F1)!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
664 Now run the script 'independent', it will set up your tty's:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
665 <P>tty 1,2: fb console, CRTC2, head 1 (monitor)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
666 tty 3,4,5...: framebuffer+BES, CRTC1, head 2 (TV-out)</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
667 You should run the scripts TV-* and Mon-* to set up resolutions:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
668 <P>change to tty1 (ALT+F1), and run Mon-* (one of them)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
669 change to tty3 (ALT+F3) and then back to tty1 (ALT+F1)</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
670 (this change will select tty3 on /dev/fb1 - tricky)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
671 <P>run TV-* (one of them)</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
672 (now you'll get a console on your PAL TV - don't know about NTSC)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
673 <P>Now if you start mplayer (on tty1), the picture will show up on
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
674 the tty3, so you'll see it on your TV or second monitor.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
675 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
676
2320
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
677 You should edit your config file, to contain the <CODE>screenw</CODE> and
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
678 <CODE>screenh</CODE> options (the first should be set to the horizontal
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
679 resolution of the framebuffer, and the latter to the vertical. See
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
680 <CODE>example.conf</CODE>). This is required for fullscreen playing, and for
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
681 the aspect code to work.</P>
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
682
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
683 <P>Yes, it is a bit 'hack' now. But I'm waiting for the marvel
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
684 project to be finished, it will provide real TV-out drivers, I hope.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
685
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
686 <P>My current problem is that BES is working only with CRTC1. So picture
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
687 will always shown up on head routed to CRTC1 (normaly the monitor),
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
688 so i have to swap CRTC's, but this way your console will framebuffer
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
689 (CRTC2 can't do text-mode) and a bit slow (no acceleration). :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
690
2334
a70571f46bd2 stuff.. (sorry, forgot:P)
gabucino
parents: 2320
diff changeset
691 <P><I>Anyway i also just get monochrome output on the tv ...</I><BR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
692 Maybe you have NTSC TV? Or just didn't run one of TV-* scripts.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
693
2206
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
694
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
695 <P><B><A NAME=2.2.1.A.1a>2.2.1.A.1a. Matrox cards (method 2 - the XFree approach)</A></B></P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
696
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
697 <P>The previous method doesn't work very good for X users, since either they
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
698 have to shutdown it, or it becomes uselessly messy. This section is for them.</P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
699
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
700 <P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
701 <LI>compile the matroxfb stuff to modules</LI>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
702 <LI>load modules with the <CODE>./modules</CODE> script</LI>
2334
a70571f46bd2 stuff.. (sorry, forgot:P)
gabucino
parents: 2320
diff changeset
703 <LI>turn on display cloning with <CODE>./cloning</CODE> . This way CRTC2
a70571f46bd2 stuff.. (sorry, forgot:P)
gabucino
parents: 2320
diff changeset
704 won't be used, CRTC1 will display on <I>both</I> heads.
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
705 <LI>execute <CODE>./TV-640x512</CODE> or whichever resolution you
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
706 wish to use</LI>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
707 </P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
708
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
709 <P>Now you should have a clean picture on the TV, and maybe a somewhat strange
2313
0b87ac046b87 *** empty log message ***
gabucino
parents: 2309
diff changeset
710 picture on the monitor. But monitor doesn't matter, start X. Your TV
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
711 goes black or have strange stripes, but monitor/X is fine !<BR>
2320
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
712
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
713 <P>
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
714 So, anytime you want to start watching something on TV, just start
2408
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
715 <B>MPlayer</B> in X with the <CODE>-vo mga -screenw XXX -screenh XXX</CODE>
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
716 (write the horizontal and vertical resolution of your framebuffer to the XXX's,
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
717 respectively) options, change to tty1 (with ctrl-alt-f1), and turn off the
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
718 monitor.
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
719 </P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
720
2206
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
721 <P><B><A NAME=2.2.1.A.2>2.2.1.A.2. ATI cards</A></B></P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
722
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
723 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
724 <b>A few word about ATI's TV-out:</b><BR>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
725 Currently ATI doesn't want to support any of its TV-out chips under Linux.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
726 Below is official answer from ATI Inc.:
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
727
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
728 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
729 <code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
730 <i>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
731 <br>&gt; Hello!
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
732 <br>&gt;
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
733 <br>&gt; On your pages you wrote that you support linux developers.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
734 <br>&gt; Currently I participate with mplayer project (www.mplayerhq.hu)
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
735 <br>&gt; I'm interesting with enabling TV-out on Radeon VE chips during
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
736 <br>&gt; movie playback. I would be glad to add this feature to radeonfb driver
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
737 <br>&gt; (which can be found in CVS tree of mplayer project at main/drivers/radeon).
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
738 <br>&gt; Do I have a chance to get any official technical documenation?
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
739 </i>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
740 <br>We will not provide TV out related documents due to macrovision concerns.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
741 <br>Also mpeg2 decoding is something that we MAY consider in the future but not
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
742 <br>at this current time. This is again due to proprietary and 3rd party
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
743 <br>information.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
744 </code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
745 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
746
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
747 <P>Pity isn't?</P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
748
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
749 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
750 <code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
751 <B>Q:What is Macrovision?</B><BR>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
752 A:It's copy protection mechanism.</code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
753 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
754
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
755 <P>It means that if they open any TV-out related information then
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
756 hackers will be able to disable copy protection on their chips. Therefore
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
757 we have no chance to get working TV-out on ATI.</P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
758
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
759 <P>What's status of ATI's tv-out chips under Linux:
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
760 <LI><b>ATI Mach64</b> has <i>ImpacTV</i> which is supported by gatos.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
761 <LI><b>ASIC Radeon VIVO</b> has <i>Rage Theatre</i> which is supported by gatos.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
762 <LI><b>Radeon VE</b> and <b>Rage PRO LT</b> have <i>ImpacTV2+</i> which is not supported under Linux.</P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
763
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
764 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
765 From other side - we could have a chance to have TV-out support through
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
766 <b>VESA drivers</b> on x86 systems but since Linux has too limited <i>vm86 syscall</i>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
767 - it's unreachable on practice. Finely every access to IO space causes exception
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
768 and driver attempts to emulate even VESA calls instead passing them to native
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
769 int_10h handler.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
770 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
771
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
772 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
773
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
774 </BODY>
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
775 </HTML>