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