annotate DOCS/video.html @ 2448:1e56c3381d55

'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
author gabucino
date Wed, 24 Oct 2001 13:03:56 +0000
parents 2453b4af2661
children 7da4afe26f6b
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>
2448
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
27 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2><a href="video.html#2.2.1.12">vesa</a></TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Output to VESA BIOS.</TD><TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
28
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
29 <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
30
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
31 <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
32 <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
33 (<I>Xv emulation on X 3.3.x!</I>)</TD><TR>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
34 <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
35 <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
36 broken)</TD><TR>
2131
b42efb0ddb82 voodoo2/3/banshee lobaszas fixed
gabucino
parents: 2108
diff changeset
37 <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
38
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
39 <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
40
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
41 <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
42 <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
43 <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
44 <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
45 <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
46 </TABLE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
47
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
48 <P>NOTE: <I>check the following subsections for details and requirements!</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
49
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
50
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
51 <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
52
1946
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
53 <P>It is VERY recommended to check if the MTRR registers are set up properly,
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
54 because they can give a big performance boost.</P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
55
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
56 <P>Do a '<CODE>cat /proc/mtrr</CODE>' :</P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
57
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
58 <P><CODE>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
59 --($:~)-- cat /proc/mtrr<BR>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
60 reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
61 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<BR>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
62 </CODE></P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
63
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
64 <P>It's right, shows my Matrox G400 with 16Mb memory. I did this from
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
65 XFree 4.x.x , which sets up MTRR registers automatically.</P>
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
66
7fb1fb6f295f *** empty log message ***
gabucino
parents: 1922
diff changeset
67 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
68 address.
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
69 You have 3 ways to find it:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
70
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
71 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
72 <LI>from X11 startup messages, for example:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
73 <P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
74 (--) SVGA: Linear framebuffer at 0xD8000000</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
75 <LI>from /proc/pci (use lspci -v command):
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
76 <P><TABLE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
77 <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
78 <TD></TD><TD><CODE>Memory at d8000000 (32-bit, prefetchable)</CODE></TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
79 </TABLE></P></CODE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
80 <LI>from mga_vid kernel driver messages (use dmesg):
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
81 <P><CODE>mga_mem_base = d8000000</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
82 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
83
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
84 <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
85 size to hexadecimal, or use this table:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
86
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
87 <TABLE BORDER=0>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
88 <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
89 <TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
90 <TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
91 <TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
92 <TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
93 <TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
94 </TABLE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
95
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
96
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
97 <P>You know base address and memory size, let's setup mtrr registers!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
98 For example, for the Matrox card above (base=0xd8000000) with 32MB
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
99 ram (size=0x2000000) just execute:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
100
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
101
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
102 <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
103
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
104
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
105 <P>Not all CPUs support MTRRs. For example older K6-2's [around 266Mhz,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
106 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
107 to check it</CODE>').</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
108
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
109 <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
110
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
111 <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
112 using the XVideo extension. This is what the option '-vo xv' uses.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
113 In order to make this work, be sure to check the following:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
114 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
115 <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
116 <LI>Your card actually supports harware acceleration (modern cards do)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
117 <LI>X loads the XVideo extension, it's something like this:
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
118
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
119 <P><CODE>&nbsp;&nbsp;(II) Loading extension XVideo</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
120 <P>in /var/log/XFree86.0.log</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
121
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
122 <P>NOTE: this loads only the XFree86's extension. In a good install, this is
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
123 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
124
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
125 <LI>Your card has Xv support under Linux. To check, try 'xvinfo', it is the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
126 part of the XFree86 distribution. It should display a long text, similar
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
127 to this:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
128 <PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
129 X-Video Extension version 2.2
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
130 screen #0
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
131 Adaptor #0: "Savage Streams Engine"
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
132 number of ports: 1
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
133 port base: 43
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
134 operations supported: PutImage
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
135 supported visuals:
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
136 depth 16, visualID 0x22
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
137 depth 16, visualID 0x23
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
138 number of attributes: 5
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
139 (...)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
140 Number of image formats: 7
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
141 id: 0x32595559 (YUY2)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
142 guid: 59555932-0000-0010-8000-00aa00389b71
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
143 bits per pixel: 16
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
144 number of planes: 1
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
145 type: YUV (packed)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
146 id: 0x32315659 (YV12)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
147 guid: 59563132-0000-0010-8000-00aa00389b71
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
148 bits per pixel: 12
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
149 number of planes: 3
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
150 type: YUV (planar)
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
151 (...etc...)
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
152 </PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
153
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
154 <P>It must support YUY2 packed, and YV12 planar pixel formats to be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
155 usable with <B>MPlayer</B>.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
156
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
157 <LI>And finally, check if <B>MPlayer</B> was compiled with 'xv' support.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
158 ./configure prints this.
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
159
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
160 </UL></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
161
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
162 <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
163
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
164 <P>Older 3dfx drivers were known to have problems with XVideo acceleration,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
165 it didn't support either YUY2 or YV12, and so. Verify that you have
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
166 XFree86 version 4.1.0 or greater, it works ok. Alternatively, you can use
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
167 <A HREF="http://dri.sourceforge.net">DRI</A> cvs.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
168 If you experience strange effects using -vo xv, try SDL (it has XVideo too)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
169 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
170
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
171 <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
172 section!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
173
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
174 <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
175
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
176 <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
177 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
178
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
179 <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
180
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
181 <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
182 binary nVidia driver, available at nVidia's website. The standard X
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
183 driver doesn't support XVideo for these cards, due to nVidia's closed
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
184 sources/specifications.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
185
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
186 <P><UL><LI>Riva128 cards don't have XVideo support even with the nvidia driver :(
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
187 Complain to NVidia.</UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
188
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
189
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
190 <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
191
1920
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
192 <P>
2063
gabucino
parents: 1992
diff changeset
193 <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
194 (!) 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
195 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
196
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
197 <LI>Radeon VE - currently only XFree86 CVS has driver for this card, version
2448
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
198 4.1.0 doesn't. No TV-out support. (But see <a href="video.html#2.2.1.12">VESA</a> sections).</LI>
1920
99ae4b6d4c9b Note about Radeon VE
gabucino
parents: 1898
diff changeset
199 </P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
200
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
201
1922
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
202 <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
203
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
204 <P>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
205 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
206 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
207 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
208 <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
209 (there is also the patch to the driver's source).<BR>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
210 Drivers provided by <A HREF="mailto:tomee@cpi.pl">Tomek Jarzynka</A>.
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
211 </P>
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
212
5f0e4310dd4d NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents: 1920
diff changeset
213
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
214 <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
215
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
216 <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
217
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
218 <P>This document tries to explain in some words what DGA is in general and
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
219 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
220
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
221
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
222 <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
223
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
224 <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
225 bypass the X-Server and directly modifying the framebuffer memory.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
226 Technically spoken this happens by mapping the framebuffer memory into
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
227 the memory range of your process. This is allowed by the kernel only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
228 if you have superuser privileges. You can get these either by logging in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
229 as root or by setting the suid bit on the mplayer excecutable (NOT
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
230 recommended!).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
231
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
232 <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
233 introduced with XFree 4.0.1.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
234
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
235 <P>DGA1 provides only direct framebuffer access as described above. For
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
236 switching the resolution of the video signal you have to rely on the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
237 XVidMode extension.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
238
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
239 <P>DGA2 incorporates the features of XVidMode extension and also allows
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
240 switching the depth of the display. So you may, although basically
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
241 running a 32 bit depth XServer, switch to a depth of 15 bits and vice
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
242 versa. </P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
243
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
244 <P>However DGA has some drawbacks. It seems it is somewhat dependent on the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
245 graphics chip you use and on the implementation of the XServer's video
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
246 driver that controls this chip. So it does not work on every system ...</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
247
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
248
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
249 <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
250
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
251 <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
252
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
253 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
254
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
255 <P>See, XFree86 4.0.x or greater is VERY RECOMMENDED!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
256 <B>MPlayer</B>'s DGA driver is autodetected on ./configure, or you can force it
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
257 with --enable-dga.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
258
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
259 <P>If the driver couldn't switch to a smaller resolution, experiment with
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
260 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
261 the movie fits in. There is no converter right now.. :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
262
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
263 <P>Become ROOT. DGA needs root access to be able to write directly video memory.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
264 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
265
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
266 <P><CODE>
2448
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
267 &nbsp;&nbsp;&nbsp;&nbsp;chown root /usr/local/bin/mplayer<BR>
1686
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
268 &nbsp;&nbsp;&nbsp;&nbsp;chmod 750 /usr/local/bin/mplayer<BR>
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
269 &nbsp;&nbsp;&nbsp;&nbsp;chmod +s /usr/local/bin/mplayer</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
270
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
271
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
272 <P>Now it works as a simple user, too.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
273
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
274
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
275 <P><B>!!!! BUT STAY TUNED !!!!</B><BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
276 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
277 can be accessed by more people than only you because they can gain root
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
278 privilegies through suid root mplayer.<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
279 <B>!!!! SO YOU HAVE BEEN WARNED ... !!!!</B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
280
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
281 <P>Now use '-vo dga' option, and there you go! (hope so:)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
282 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
283 faster!!!</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
284
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
285 <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
286
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
287 <P>The DGA driver allows for switching the resolution of the output signal.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
288 This avoids the need for doing (slow) software scaling and at the same
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
289 time provides a fullscreen image. Ideally it would switch to the exact
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
290 resolution (except for honouring aspect ratio) of the video data, but the
1686
f314e83b78e6 *** empty log message ***
gabucino
parents: 1682
diff changeset
291 XServer only allows switching to resolutions predefined in
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
292 <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
293 Those are defined by so-called modelines and depend on the capabilites
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
294 of your video hardware. The XServer scans this config file on startup and
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
295 disables the modelines not suitable for your hardware. You can find
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
296 out which modes survive with the X11 log file. It can be found at:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
297 <CODE>/var/log/XFree86.0.log</CODE>.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
298 <P>See appendix A for some sample modeline definitions.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
299
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
300 <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
301
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
302 <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
303 use of it (-vo sdl:dga) and within the DGA driver (-vo dga).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
304 The above said is true for both; in the following sections I'll explain
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
305 how the DGA driver for <B>MPlayer</B> works.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
306
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
307 <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
308
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
309 <P>The DGA driver is invoked by specifying -vo dga at the command line.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
310 The default behaviour is to switch to a resolution matching the original
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
311 resolution of the video as close as possible. It deliberately ignores the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
312 -vm and -fs switches (enabling of video mode switching and fullscreen) -
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
313 it always tries to cover as much area of your screen as possible by switching
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
314 the video mode, thus refraining to use a single additional cycle of your CPU
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
315 to scale the image.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
316 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
317 matching closest the resolution you specify by -x and -y.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
318 By providing the -v option, the DGA driver will print, among a lot of other
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
319 things, a list of all resolutions supported by your current XF86-Config
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
320 file.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
321 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
322 option. Valid depths are 15, 16, 24 and 32. It depends on your hardware
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
323 whether these depths are natively supported or if a (possibly slow)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
324 conversion has to be done.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
325
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
326 <P>If you should be lucky enough to have enough offscreen memory left to
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
327 put a whole image there, the DGA driver will use doublebuffering, which
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
328 results in much smoother movie replaying. It will tell you whether double-
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
329 buffering is enabled or not.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
330
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
331 <P>Doublebuffering means that the next frame of your video is being drawn in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
332 some offscreen memory while the current frame is being displayed. When the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
333 next frame is ready, the graphics chip is just told the location in memory
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
334 of the new frame and simply fetches the data to be displayed from there.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
335 In the meantime the other buffer in memory will be filled again with new
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
336 video data.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
337
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
338 Doublebuffering may be switched on by using the option -double and may be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
339 disabled with -nodouble. Current default option is to disable
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
340 doublebuffering. When using the DGA driver, onscreen display (OSD) only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
341 works with doublebuffering enabled. However, enabling doublebuffering may
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
342 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
343 CPU time!) depending on the implementation of DGA for your hardware.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
344
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
345
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
346 <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
347
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
348 <P>Generally spoken, DGA framebuffer access should be at least as fast as using
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
349 the X11 driver with the additional benefit of getting a fullscreen image.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
350 The percentage speed values printed by mplayer have to be interpreted with
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
351 some care, as for example, with the X11 driver they do not include the time
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
352 used by the X-Server needed for the actual drawing. Hook a terminal to a
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
353 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
354 box ...</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
355
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
356 <P>Generally spoken, the speedup done by using DGA against 'normal' use of X11
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
357 highly depends on your graphics card and how well the X-Server module for it
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
358 is optimized.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
359
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
360 <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
361 only half the memory bandwidth of a 32 bit display.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
362
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
363 <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
364 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
365
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
366 <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
367 CPUs might work at 400 MHZ and above.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
368
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
369 <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
370
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
371 <P>Well, according to some developpers of XFree, DGA is quite a beast. They
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
372 tell you better not to use it. Its implementation is not always flawless
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
373 with every chipset driver for XFree out there.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
374
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
375 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
376 <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
377 <LI>ATI driver requires to switch mode back more than once after finishing
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
378 using of DGA
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
379 <LI>some drivers simply fail to switch back to normal resolution (use
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
380 Ctrl-Alt-Keypad +, - to switch back manually)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
381 <LI>some drivers simply display strange colors
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
382 <LI>some drivers lie about the amount of memory they map into the process's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
383 address space, thus vo_dga won't use doublebuffering (SIS?)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
384 <LI>some drivers seem to fail to report even a single valid mode. In this
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
385 case the DGA driver will crash telling you about a nonsense mode of
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
386 100000x100000 or the like ...
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
387 <LI>OSD only works with doublebuffering enabled
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
388 </UL></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
389
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
390 <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
391
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
392 <P><UL><LI>use of the new X11 render interface for OSD
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
393 <LI>where is my TODO list ???? :-(((</UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
394
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
395
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
396 <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
397
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
398 <PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
399 Section "Modes"
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
400 Identifier "Modes[0]"
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
401 Modeline "800x600" 40 800 840 968 1056 600 601 605 628
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
402 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
403 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
404 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
405 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
406 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
407 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
408 EndSection
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
409 </PRE>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
410
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
411 <P>These entries work fine with my Riva128 chip, using nv.o XServer driver
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
412 module.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
413
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
414
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
415 <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
416
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
417 <P>If you experience troubles with the DGA driver please feel free to file
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
418 a bug report to me (e-mail address below). Please start mplayer with the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
419 -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
420
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
421 <P>Please do also include the version of X11 you are using, the graphics card
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
422 and your CPU type. The X11 driver module (defined in XF86-Config) might
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
423 also help. Thanks!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
424
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
425
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
426 <P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
427
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
428
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
429 <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
430
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
431 <P>Here are some notes about SDL out in <B>MPlayer</B>.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
432
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
433
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
434
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
435 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
436 <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
437 <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
438 <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
439 <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
440 esd, arts)</TD><TR>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
441 <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
442 <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
443
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
444 <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
445
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
446 <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
447 <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
448 <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
449
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
450 </TABLE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
451
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
452 <P><B>KNOWN BUGS:</B></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
453 <P><UL><LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa !)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
454 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
455 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
456
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
457 <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
458
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
459 <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
460 -fs switch, since it toggles the usage of the software scaler, and it's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
461 SLOOOW now, unless you have a real fast CPU (and/or MTRR?). :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
462
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
463 <P>Of course you'll have to install svgalib and its development package in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
464 order for <B>MPlayer</B> build its SVGAlib driver (autodetected, but can be
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
465 forced), and don't forget to edit /etc/vga/libvga.config to suit your
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
466 card &amp; monitor.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
467
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
468 <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
469
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
470 <P>Whether to build the FBdev target is autodetected during ./configure .
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
471 Read the framebuffer documentation in the kernel sources
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
472 (Documentation/fb/*) for info on how to enable it, etc.. !</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
473
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
474 <P>If your card doesn't support VBE 2.0 standard (older ISA/PCI
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
475 cards, such as S3 Trio64), only VBE 1.2 (or older?) :
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
476 Well, VESAfb is still available, but you'll have to load SciTech Display
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
477 Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
478 whatever. And don't forget to register your UniVBE ;))</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
479
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
480 <P>The FBdev output takes some additional parameters above the others:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
481
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
482 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
483 <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
484 <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
485 <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
486 <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
487 <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
488 <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
489 <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
490 </TABLE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
491
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
492 <P>If you want to change to a specific mode, then use</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
493
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
494 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -vm -fbmode (NameOfMode) filename</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
495
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
496 <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
497 used together with -x and -y options too. The -flip option is supported only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
498 if the movie's pixel format matches the video mode's pixel format.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
499 Pay attention to the bpp value, fbdev driver tries to use the current,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
500 or if you specify the -bpp option, then that.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
501 <LI><B>-zoom</B> option isn't supported (software scaling is slow). -fs option
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
502 isn't supported. You can't use 8bpp (or less) modes.</UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
503
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
504 <P>NOTE: FBdev video mode changing _does not work_ with the VESA framebuffer,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
505 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
506
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
507 <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
508
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
509 <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
510 support, the mga_vid kernel driver. It's active developed by me (A'rpi), and
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
511 it has hardware VSYNC support with triple buffering. It works on both
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
512 framebuffer console and under X.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
513
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
514 <P>To use it, you first have to compile mga_vid.o:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
515
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
516 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;cd drivers<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
517 &nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
518
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
519 <P>Then create /dev/mga_vid device:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
520
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
521 <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
522
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
523 <P>and load the driver with</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
524
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
525 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;insmod mga_vid.o</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
526
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
527 <P>You should verify the memory size detection using the 'dmesg' command. If
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
528 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
529 memory size in MB:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
530
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
531 <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
532
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
533 <P>To make it load/unload automatically when needed, insert the following line
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
534 at the end of /etc/modules.conf:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
535
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
536 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;alias char-major-178 mga_vid</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
537
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
538 <P>Then run</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
539
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
540 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;depmod -a</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
541
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
542 <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
543 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
544 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
545
2108
767dbc5b7daa mga_vid now cooperates with xv
gabucino
parents: 2063
diff changeset
546 <P>The mga_vid driver cooperates with Xv.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
547
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
548
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
549 <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
550
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
551 <P>SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
552
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
553 <P>Its interface should be compatible with the mga_vid, but the driver was not
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
554 updated after the mga_vid changes, so it's outdated now. Volunteers
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
555 needed to test it and bring the code up-to-date.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
556
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
557 <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
558
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
559 <P>This driver uses the kernel's tdfx framebuffer driver to play movies with
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
560 YUV acceleration. You'll need a kernel with tdfxfb support, and recompile with
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
561 <CODE>./configure --enable-tdfxfb</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
562
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
563 <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
564
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
565 <P><B>MPlayer</B> support displaying movies using OpenGL. Unfortunately, not all
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
566 drivers support this ability. For example the Utah-GLX drivers
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
567 (for XFree86 3.3.6) have it, with all cards.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
568 See <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
569 for details about how to install it.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
570
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
571 <P>XFree86(DRI) >= 4.0.3 supports it only with Matrox, and Radeon cards.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
572 See <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> for download,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
573 and installation instructions.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
574
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
575 <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
576
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
577 <P><B>AAlib</B> is a library for displaying graphics in text mode, using powerful
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
578 ASCII renderer. There are LOTS of programs already supporting it, like Doom,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
579 Quake, etc. MPlayer contains a very usable driver for it.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
580 If ./configure detects aalib installed, the aalib libvo driver will be built.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
581
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
582 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
583 <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
584 <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
585 <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
586 <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
587 <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
588 <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
589 <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
590 <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
591 <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
592
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
593 <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
594
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
595 <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
596 <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
597 <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
598
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
599 <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
600 Here are some important:</P></B></TD><TR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
601
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1946
diff changeset
602 <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
603 <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
604 <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
605 <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
606 </TABLE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
607
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
608 <P>NOTE: the rendering is very CPU intensive, especially when using AA-on-X
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
609 (using aalib on X), and it's least CPU intensive on standard,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
610 non-framebuffer console. Use SVGATextMode to set up a big textmode,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
611 then enjoy! (secondary head Hercules cards rock :)) (anyone can enhance
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
612 bdev to do conversion/dithering to hgafb? Would be neat :)</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
613
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
614 <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
615
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
616 <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
617 curses (-aadriver linux). But therefore you need write access on /dev/vcsa&lt;terminal&gt;!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
618 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
619 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
620
2448
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
621 <P><B><A NAME=2.2.1.12>2.2.1.12. VESA - output to VESA BIOS</B></P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
622 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
623 This driver was designed and introduced as <b>generic driver</b> for any video
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
624 card which has VESA VBE 2.0 compatible BIOS. But exists still one reason of
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
625 developing of this driver - it's multiple troubles with displaying movie on TV.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
626 <b>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998</b> (Page 70)
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
627 says:
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
628 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
629
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
630 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
631 <code><i>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
632 <b>Dual-Controller Designs</b><br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
633 VBE 3.0 supports the dual-controller design by assuming that since both
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
634 controllers are typically provided by the same OEM, under control of a
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
635 single BIOS ROM on the same graphics card, it is possible to hide the fact
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
636 that two controllers are indeed present from the application. This has the
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
637 limitation of preventing simultaneous use of the independent controllers,
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
638 but allows applications released before VBE 3.0 to operate normally. The
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
639 VBE Function 00h (Return Controller Information) returns the combined
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
640 information of both controllers, including the combined list of available modes.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
641 When the application selects a mode, the appropriate controller is activated.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
642 Each of the remaining VBE functions then operates on the active controller.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
643 </i></code>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
644 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
645
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
646 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
647 So you have chances to get working tv-out by using this driver.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
648 <br>(I guess that TV-out frequently is standalone head or standalone output
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
649 at least.)
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
650 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
651
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
652 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
653 <b>What are pluses:</b><BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
654 - You have chances to watch movies <b>if Linux even doesn't know</b> your video hardware.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
655 - You don't need to have installed any graphics' related things on your Linux
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
656 (like X11 (aka XFree86), fbdev and so on). This driver can be run from
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
657 <b>text-mode</b>.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
658 - You have chances to get <b>working TV-out</b>. (It's known at least for ATI's cards).<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
659 - This driver calls <b>int 10h</b> handler thus it's not an emulator - it
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
660 calls <b>real</b> things of <b>real</b> BIOS in <b>real</b>-mode. (Finely -
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
661 in vm86 mode).<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
662 - Most important :) You can watch <b>DVD at 320x200</b> if you don't have a powerful CPU.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
663 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
664
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
665 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
666 <b>What are minuses:</b><BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
667 - It works only on <b>x86 systems</b>.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
668 - <b>It's the slowest driver</b> from all the available ones for MPlayer.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
669 - It can be used only by <b>ROOT</b>.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
670 - Currently it's available only for <b>Linux</b>.<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
671 - It <b>doesn't use</b> any <b>hardware accelerations</b> (like YUV overlay or hw scaling).<BR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
672 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
673
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
674 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
675 <TABLE BORDER=0>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
676 <TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>These switches of command line currently are available for VESA:</B></P></TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
677 <TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vo vesa:opts</TD><TD>&nbsp;&nbsp;</TD><TD>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
678 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>will be implemented soon. (Will specify mode parameters such as refresh rate, interlacing, doublescan and so on. Samples: i43, 85, d100)</TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
679 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-screenw, -screenh, -bpp</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>force userdefined mode</TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
680 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-x, -y</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>set userdefined prescaling</TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
681 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-zoom</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>enables userdefined prescaling</TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
682 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fs</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>scales image to fullscreen</TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
683 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fs -zoom</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>scales userdefined prescaling to fullscreen</TD><TR>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
684 </TABLE>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
685 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
686
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
687 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
688 <b>Known problems and workaround:</b><br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
689 - If you have installed <b>NLS</b> font on your Linux box and run VESA driver
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
690 from text-mode then after terminating mplayer you will have <b>ROM font</b> loaded instead
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
691 of national. You can load national font again by using <b><i>setsysfont</i></b> utility
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
692 from for example Mandrake distribution.<br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
693 (<b>Hint</b>: The same utility is used for localizating fbdev).<br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
694 - Some <b>Linux graphics drivers</b> don't update active <b>BIOS mode</b> in DOS memory. So if you have such
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
695 problem - always use VESA driver only from <b>text-mode</b>. Otherwise text-mode (#03) will be
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
696 activated anyway and you will need restart your computer.<br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
697 - Often after terminating VESA driver you get <b>black screen</b>. To return your screen
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
698 to original state - simply switch to other console (by pressing <b>Alt-Fx</b>) then switch
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
699 to your previous console by the same way.<br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
700 - To get <b>working TV-out</b> you need have plugged tv-connector in before booting
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
701 your PC since video BIOS initializes itself only once during POST procedure.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
702 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
703
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
704
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
705 <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
706
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
707 <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
708
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
709 <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
710 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
711 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
712 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
713 such a feature to mplayer.</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
714
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
715 <P>It's a driver limitation. BES (Back-End Scaler, it's the overlay generator
1992
156639eddf49 tdfxfb added
gabucino
parents: 1988
diff changeset
716 and YUV scaling engine of G200/G400/G450/G550 cards) works only with CRTC1.
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
717 Normally, CRTC1 (textmode, every bpp gfx and BES) is routed to HEAD1,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
718 and CRTC2 (only 16/32bpp gfx) is routed to HEAD2 (TV-out).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
719
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
720 <P>Under linux, you have two choices to get TV-out working:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
721
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
722 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
723 <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
724 support, and you'll be able to redirect second output to the TV.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
725 Unfortunately it has Macrovision encryption enabled, so it will
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
726 only work on directly-connected TV, no through VCR.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
727 Other problem is that Xv doesn't work on the second head.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
728 (I don't know how Windows solve it, maybe it swaps the CRTCs between
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
729 the heads, or just uses YUV framebuffer of second DAC with some trick)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
730 <LI>Using matroxfb with dual-head support enabled (2.4.x kernels).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
731 You'll be able to get a framebuffer console (using CRTC2, so it's
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
732 slow), and TV-out (using CRTC1, with BES support).
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
733 You have to forget X while using this kind of TV-out! :(
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
734 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
735
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
736 <P>Follow these instructions:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
737
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
738 <P><UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
739 <LI>Compile all the matrox-related things to modules in the kernel.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
740 (you MUST compile them to modules, at least I couldn't get them
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
741 working built-in yet)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
742 [reboot to new kernel & install modules, but don't load them yet!]
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
743 <P><CODE>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
744 &nbsp;&nbsp;cd TVout<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
745 &nbsp;&nbsp;./compile.sh</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
746 <LI>Run the 'modules' script from the TV-out directory of mplayer.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
747 It will switch your console to framebuffer.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
748 Change to tty1 (ALT+F1)!
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
749 Now run the script 'independent', it will set up your tty's:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
750 <P>tty 1,2: fb console, CRTC2, head 1 (monitor)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
751 tty 3,4,5...: framebuffer+BES, CRTC1, head 2 (TV-out)</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
752 You should run the scripts TV-* and Mon-* to set up resolutions:
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
753 <P>change to tty1 (ALT+F1), and run Mon-* (one of them)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
754 change to tty3 (ALT+F3) and then back to tty1 (ALT+F1)</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
755 (this change will select tty3 on /dev/fb1 - tricky)<BR>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
756 <P>run TV-* (one of them)</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
757 (now you'll get a console on your PAL TV - don't know about NTSC)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
758 <P>Now if you start mplayer (on tty1), the picture will show up on
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
759 the tty3, so you'll see it on your TV or second monitor.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
760 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
761
2320
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
762 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
763 <CODE>screenh</CODE> options (the first should be set to the horizontal
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
764 resolution of the framebuffer, and the latter to the vertical. See
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
765 <CODE>example.conf</CODE>). This is required for fullscreen playing, and for
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
766 the aspect code to work.</P>
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
767
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
768 <P>Yes, it is a bit 'hack' now. But I'm waiting for the marvel
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
769 project to be finished, it will provide real TV-out drivers, I hope.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
770
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
771 <P>My current problem is that BES is working only with CRTC1. So picture
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
772 will always shown up on head routed to CRTC1 (normaly the monitor),
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
773 so i have to swap CRTC's, but this way your console will framebuffer
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
774 (CRTC2 can't do text-mode) and a bit slow (no acceleration). :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
775
2334
a70571f46bd2 stuff.. (sorry, forgot:P)
gabucino
parents: 2320
diff changeset
776 <P><I>Anyway i also just get monochrome output on the tv ...</I><BR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
777 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
778
2206
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
779
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
780 <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
781
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
782 <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
783 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
784
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
785 <P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
786 <LI>compile the matroxfb stuff to modules</LI>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
787 <LI>load modules with the <CODE>./modules</CODE> script</LI>
2334
a70571f46bd2 stuff.. (sorry, forgot:P)
gabucino
parents: 2320
diff changeset
788 <LI>turn on display cloning with <CODE>./cloning</CODE> . This way CRTC2
a70571f46bd2 stuff.. (sorry, forgot:P)
gabucino
parents: 2320
diff changeset
789 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
790 <LI>execute <CODE>./TV-640x512</CODE> or whichever resolution you
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
791 wish to use</LI>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
792 </P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
793
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
794 <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
795 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
796 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
797
338d42d079eb added matrox fullscreen/aspect tvout stuff
gabucino
parents: 2313
diff changeset
798 <P>
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
799 So, anytime you want to start watching something on TV, just start
2408
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
800 <B>MPlayer</B> in X with the <CODE>-vo mga -screenw XXX -screenh XXX</CODE>
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
801 (write the horizontal and vertical resolution of your framebuffer to the XXX's,
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
802 respectively) options, change to tty1 (with ctrl-alt-f1), and turn off the
2453b4af2661 uptodate, baby!
gabucino
parents: 2334
diff changeset
803 monitor.
2309
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
804 </P>
3128b9d8b4ea New section: Matrox TVout - method 2
gabucino
parents: 2206
diff changeset
805
2206
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
806 <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
807
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
808 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
809 <b>A few word about ATI's TV-out:</b><BR>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
810 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
811 Below is official answer from ATI Inc.:
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
812
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
813 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
814 <code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
815 <i>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
816 <br>&gt; Hello!
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
817 <br>&gt;
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
818 <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
819 <br>&gt; Currently I participate with mplayer project (www.mplayerhq.hu)
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
820 <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
821 <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
822 <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
823 <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
824 </i>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
825 <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
826 <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
827 <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
828 <br>information.
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
829 </code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
830 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
831
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
832 <P>Pity isn't?</P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
833
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
834 <P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
835 <code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
836 <B>Q:What is Macrovision?</B><BR>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
837 A:It's copy protection mechanism.</code>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
838 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
839
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
840 <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
841 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
842 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
843
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
844 <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
845 <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
846 <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
847 <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
848
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
849 <P>
2448
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
850 Fortunately, owners of fast enough CPUs (Duron, Celeron2 and better) <b>can watch
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
851 movies on their TV</b> through <a href="video.html#2.2.1.12">VESA drivers</a>.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
852 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
853
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
854 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
855 I should say good words into address of ATI Inc. too:<br>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
856 <b>it produces top quality BIOSes.</b>
2206
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
857 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
858
2448
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
859 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
860 <b>VESA drivers</b> don't use any hardware acceleration but it simulates
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
861 <b>DGA</b> through 64K window, which is configured through 32-bit mode
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
862 functions of BIOS. ATI cards have enough <b>fast video memory</b> (DIMM or DDR
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
863 chips with 64 - 128-bit access) so it's not bottleneck for them. There are no
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
864 limitations on which video mode can be displayed on your TV (like on other
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
865 cards) so you can use <b>any video mode</b> on your <b>TV</b> (from
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
866 <b>320x200</b> up to <b>1024x768</b>). <br>Only thing you need to do - <b>have
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
867 plugged tv-connector in before booting your PC</b> since video BIOS initializes
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
868 itself only once during POST procedure.
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
869 </P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
870
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
871 <P>
1e56c3381d55 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents: 2408
diff changeset
872 For detail see <a href="video.html#2.2.1.12">VESA</a> sections of this documentation.
2206
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
873 </P>
0e8e8fed492e ATI TVout stuff added (from Nick Kurshev)
gabucino
parents: 2131
diff changeset
874
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
875 </BODY>
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
876 </HTML>