Mercurial > mplayer.hg
annotate DOCS/video.html @ 6540:5b3cace64e9d
100l (non mmx versions didnt compile)
some cleanup
author | michael |
---|---|
date | Mon, 24 Jun 2002 00:18:29 +0000 |
parents | ce4647b864e5 |
children | 4b7d097a9c69 |
rev | line source |
---|---|
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
1612 | 2 <HTML> |
4982
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4920
diff
changeset
|
3 |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4920
diff
changeset
|
4 <HEAD> |
6391 | 5 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css"> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
6 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> |
4982
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4920
diff
changeset
|
7 </HEAD> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4920
diff
changeset
|
8 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
9 <BODY> |
1704 | 10 |
1612 | 11 |
2745 | 12 <P><B><A NAME=2.3.1>2.3.1. Video output devices</A></B></P> |
1612 | 13 |
14 | |
2745 | 15 <P><B><A NAME=2.3.1.1>2.3.1.1. Setting up MTRR</A></B></P> |
1612 | 16 |
1946 | 17 <P>It is VERY recommended to check if the MTRR registers are set up properly, |
18 because they can give a big performance boost.</P> | |
19 | |
20 <P>Do a '<CODE>cat /proc/mtrr</CODE>' :</P> | |
21 | |
22 <P><CODE> | |
23 --($:~)-- cat /proc/mtrr<BR> | |
24 reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR> | |
25 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<BR> | |
26 </CODE></P> | |
27 | |
28 <P>It's right, shows my Matrox G400 with 16Mb memory. I did this from | |
29 XFree 4.x.x , which sets up MTRR registers automatically.</P> | |
30 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
31 <P>If nothing worked, you have to do it manually. First, you have to find the base |
1946 | 32 address. |
1682 | 33 You have 3 ways to find it:</P> |
1612 | 34 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
35 <UL> |
1682 | 36 <LI>from X11 startup messages, for example: |
37 <P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR> | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
38 (--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI> |
1682 | 39 <LI>from /proc/pci (use lspci -v command): |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
40 <P> |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
41 <CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE> |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
42 <CODE>Memory at d8000000 (32-bit, prefetchable)</CODE> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
43 </P></LI> |
1682 | 44 <LI>from mga_vid kernel driver messages (use dmesg): |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
45 <P><CODE>mga_mem_base = d8000000</CODE></P></LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
46 </UL> |
1612 | 47 |
1682 | 48 <P>Then let's find the memory size. This is very easy, just convert video ram |
49 size to hexadecimal, or use this table:</P> | |
1612 | 50 |
1682 | 51 <TABLE BORDER=0> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
52 <TR><TD> </TD><TD>1 MB</TD><TD WIDTH="10%"></TD><TD>0x100000</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
53 <TR><TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
54 <TR><TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
55 <TR><TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
56 <TR><TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
57 <TR><TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD></TR> |
1682 | 58 </TABLE> |
1612 | 59 |
60 | |
1682 | 61 <P>You know base address and memory size, let's setup mtrr registers! |
62 For example, for the Matrox card above (base=0xd8000000) with 32MB | |
63 ram (size=0x2000000) just execute:</P> | |
1612 | 64 |
65 | |
1682 | 66 <P><CODE> echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr</CODE></P> |
1612 | 67 |
68 | |
1682 | 69 <P>Not all CPUs support MTRRs. For example older K6-2's [around 266Mhz, |
70 stepping 0] doesn't support MTRR, but stepping 12's do ('<CODE>cat /proc/cpuinfo</CODE>' | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
71 to check it').</P> |
1612 | 72 |
2745 | 73 <P><B><A NAME=2.3.1.2>2.3.1.2. Xv</A></B></P> |
1612 | 74 |
1682 | 75 <P>Under XFree86 4.0.2 or newer, you can use your card's hardware YUV routines |
4498 | 76 using the XVideo extension. This is what the option '-vo xv' uses. Also, |
77 this is driver supports adjusting brightness/contrast/hue/etc (unless you use | |
78 the old, slow DirectShow DivX codec, which supports it everywhere), see the | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
79 man page.</P> |
4498 | 80 |
81 <P>In order to make this work, be sure to check the following:</P> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
82 <UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
83 <LI>You have to use XFree86 4.0.2 or newer (former versions don't have XVideo)</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
84 <LI>Your card actually supports hardware acceleration (modern cards do)</LI> |
1682 | 85 <LI>X loads the XVideo extension, it's something like this: |
1612 | 86 |
1682 | 87 <P><CODE> (II) Loading extension XVideo</CODE></P> |
88 <P>in /var/log/XFree86.0.log</P> | |
1612 | 89 |
1682 | 90 <P>NOTE: this loads only the XFree86's extension. In a good install, this is |
91 always loaded, and doesn't mean that the _card's_ XVideo support is loaded!</P> | |
1612 | 92 |
1682 | 93 <LI>Your card has Xv support under Linux. To check, try 'xvinfo', it is the |
94 part of the XFree86 distribution. It should display a long text, similar | |
95 to this: | |
96 <PRE> | |
1612 | 97 X-Video Extension version 2.2 |
98 screen #0 | |
99 Adaptor #0: "Savage Streams Engine" | |
100 number of ports: 1 | |
101 port base: 43 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
102 operations supported: PutImage |
1612 | 103 supported visuals: |
104 depth 16, visualID 0x22 | |
105 depth 16, visualID 0x23 | |
106 number of attributes: 5 | |
107 (...) | |
108 Number of image formats: 7 | |
109 id: 0x32595559 (YUY2) | |
110 guid: 59555932-0000-0010-8000-00aa00389b71 | |
111 bits per pixel: 16 | |
112 number of planes: 1 | |
113 type: YUV (packed) | |
114 id: 0x32315659 (YV12) | |
115 guid: 59563132-0000-0010-8000-00aa00389b71 | |
116 bits per pixel: 12 | |
117 number of planes: 3 | |
118 type: YUV (planar) | |
119 (...etc...) | |
1682 | 120 </PRE> |
1612 | 121 |
1682 | 122 <P>It must support YUY2 packed, and YV12 planar pixel formats to be |
123 usable with <B>MPlayer</B>.</P> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
124 </LI> |
1612 | 125 |
1682 | 126 <LI>And finally, check if <B>MPlayer</B> was compiled with 'xv' support. |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
127 ./configure prints this.</LI> |
1612 | 128 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
129 </UL> |
1682 | 130 |
2745 | 131 <P><B><A NAME=2.3.1.2.1>2.3.1.2.1. 3dfx cards</A></B></P> |
1612 | 132 |
1682 | 133 <P>Older 3dfx drivers were known to have problems with XVideo acceleration, |
134 it didn't support either YUY2 or YV12, and so. Verify that you have | |
5116 | 135 XFree86 version 4.2.0 or greater, it works ok with YV12 and YUY2. Previous |
136 versions, including 4.1.0 <B>crashes with YV12</B>! | |
1682 | 137 If you experience strange effects using -vo xv, try SDL (it has XVideo too) |
2745 | 138 and see if it helps. Check the <A HREF="#2.3.1.4">SDL section</A> for details.</P> |
1612 | 139 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
140 <P><B>OR</B>, try the NEW -vo tdfxfb driver! See the <A HREF="#2.3.1.9">2.3.1.9</A> |
1992 | 141 section!</P> |
1612 | 142 |
2865 | 143 |
2745 | 144 <P><B><A NAME=2.3.1.2.2>2.3.1.2.2. S3 cards</A></B></P> |
1682 | 145 |
146 <P>S3 Savage3D's should work fine, but for Savage4, use XFree86 version 4.0.3 | |
3942 | 147 or greater (in case of image problems, try 16bpp). As for S3 Virge.. there is |
148 xv support, but the card itself is very slow, so you better sell it.</P> | |
1682 | 149 |
3027 | 150 <P><B>NOTE</B>: Savage cards have a slow YV12 image displaying capability (it needs |
2883 | 151 to do YV12->YUY2 conversion, because the Savage hardware can't display YV12). |
152 So when this documentation says at some point "this has YV12 output use this, | |
4920
089485d69edd
added notes about enhanced Neomagic and Savage4 drivers
gabucino
parents:
4908
diff
changeset
|
153 it's faster", it's not sure. Try <A HREF="http://www.mplayerhq.hu/MPlayer/contrib/Savage-driver/savage_drv.o.mmx2.bz2">this |
089485d69edd
added notes about enhanced Neomagic and Savage4 drivers
gabucino
parents:
4908
diff
changeset
|
154 driver</A>, it uses MMX2 for this task and is faster than the native X driver.</P> |
2865 | 155 |
156 | |
2745 | 157 <P><B><A NAME=2.3.1.2.3>2.3.1.2.3. nVidia cards</A></B></P> |
1612 | 158 |
3938 | 159 <P>nVidia isn't a very good choice under Linux (according to NVidia, this |
160 is <A HREF="users_against_developers.html#nvidia">not true</A>).. You'll have to use the | |
3290 | 161 binary closed-source nVidia driver, available at nVidia's website. The standard XFree86 |
1682 | 162 driver doesn't support XVideo for these cards, due to nVidia's closed |
163 sources/specifications.</P> | |
1612 | 164 |
3290 | 165 <P>As far as I know the latest XFree86 driver contains XVideo support for |
166 Geforce 2 and 3.</P> | |
167 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
168 <P>Riva128 cards don't have XVideo support even with the nvidia driver :( |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
169 Complain to NVidia.</P> |
1612 | 170 |
171 | |
2745 | 172 <P><B><A NAME=2.3.1.2.4>2.3.1.2.4. ATI cards</A></B></P> |
1612 | 173 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
174 <UL> |
4177 | 175 <LI>The <A HREF="http://www.linuxvideo.org/gatos">GATOS driver</A> (which you |
176 should use, unless you have Rage128 or Radeon) has VSYNC enabled by default. It | |
177 means that decoding speed (!) is synced to the monitor's refresh rate. If | |
178 playing seems to be slow, try disabling VSYNC somehow, or set refresh rate to | |
179 n*(fps of the movie) Hz.</LI> | |
1920 | 180 |
181 <LI>Radeon VE - currently only XFree86 CVS has driver for this card, version | |
3027 | 182 4.1.0 doesn't. And no TV out support. Of course with <B>MPlayer</B> you can |
183 happily get <B>accelerated</B> display, with or without <B>TV output</B>, and | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
184 no libraries or X are needed. Read <A HREF="#2.3.1.15">Vidix</A> section.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
185 </UL> |
1612 | 186 |
187 | |
2745 | 188 <P><B><A NAME=2.3.1.2.5>2.3.1.2.5. NeoMagic cards</A></B></P> |
1922
5f0e4310dd4d
NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents:
1920
diff
changeset
|
189 |
4920
089485d69edd
added notes about enhanced Neomagic and Savage4 drivers
gabucino
parents:
4908
diff
changeset
|
190 <P>These cards can be found in many laptops. Unfortunately, the driver in |
089485d69edd
added notes about enhanced Neomagic and Savage4 drivers
gabucino
parents:
4908
diff
changeset
|
191 X 4.2.0 can't do Xv, but we have a modified, Xv-capable driver for you. |
089485d69edd
added notes about enhanced Neomagic and Savage4 drivers
gabucino
parents:
4908
diff
changeset
|
192 <A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">Download from here</A>. |
5359 | 193 Driver provided by Stefan Seyfried.</P> |
5378 | 194 |
195 <P>To allow playback of DVD sized content change your XF86Config like this :</P> | |
196 | |
197 <P> | |
5359 | 198 Section "Device"<BR> |
199 <I>[...]</I><BR> | |
200 Driver "neomagic"<BR> | |
201 <B>Option "OverlayMem" "829440"</B><BR> | |
202 <I>[...]</I><BR> | |
5378 | 203 EndSection |
5359 | 204 </P> |
1922
5f0e4310dd4d
NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents:
1920
diff
changeset
|
205 |
5378 | 206 |
3794 | 207 <P><B><A NAME=2.3.1.2.6>2.3.1.2.6. Trident cards</A></B></P> |
208 | |
209 <P>If you want to use xv with a trident card, provided that it doesn't | |
210 work with 4.1.0, try the latest cvs of Xfree or wait for Xfree 4.2.0. | |
211 The latest cvs adds support for fullscreen xv support with the | |
212 Cyberblade XP card.</P> | |
1922
5f0e4310dd4d
NeoMagic stuff added (legyen egyszer gyereknap...)
gabucino
parents:
1920
diff
changeset
|
213 |
2745 | 214 <P><B><A NAME=2.3.1.3>2.3.1.3. DGA</A></B></P> |
1612 | 215 |
2745 | 216 <P><B><A NAME=2.3.1.3.1>2.3.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 | |
2745 | 222 <P><B><A NAME=2.3.1.3.2>2.3.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 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
225 bypass the X-Server and directly modifying the framebuffer memory. |
1682 | 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 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
228 if you have superuser privileges. You can get these either by logging in |
1682 | 229 as root or by setting the suid bit on the mplayer excecutable (NOT |
230 recommended!).</P> | |
1612 | 231 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
232 <P>There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was |
1682 | 233 introduced with XFree 4.0.1.</P> |
1612 | 234 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
235 <P>DGA1 provides only direct framebuffer access as described above. For |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
236 switching the resolution of the video signal you have to rely on the |
1682 | 237 XVidMode extension.</P> |
1612 | 238 |
1682 | 239 <P>DGA2 incorporates the features of XVidMode extension and also allows |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
240 switching the depth of the display. So you may, although basically |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
241 running a 32 bit depth XServer, switch to a depth of 15 bits and vice |
1682 | 242 versa. </P> |
1612 | 243 |
1682 | 244 <P>However DGA has some drawbacks. It seems it is somewhat dependent on the |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
245 graphics chip you use and on the implementation of the XServer's video |
1682 | 246 driver that controls this chip. So it does not work on every system ...</P> |
1612 | 247 |
248 | |
2745 | 249 <P><B><A NAME=2.3.1.3.3>2.3.1.3.3. Installing DGA support for MPlayer</A></B></P> |
1682 | 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> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
268 chmod 750 /usr/local/bin/mplayer<BR> |
1686 | 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 | |
2745 | 285 <P><B><A NAME=2.3.1.3.4>2.3.1.3.4. Resolution switching</A></B></P> |
1682 | 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 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
295 disables the modelines not suitable for your hardware. You can find |
1682 | 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 | |
2745 | 300 <P><B><A NAME=2.3.1.3.5>2.3.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 |
2745 | 307 <P><B><A NAME=2.3.1.3.6>2.3.1.3.6. Features of the DGA driver</A></B></P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
308 |
1682 | 309 <P>The DGA driver is invoked by specifying -vo dga at the command line. |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
310 The default behaviour is to switch to a resolution matching the original |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
311 resolution of the video as close as possible. It deliberately ignores the |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
312 -vm and -fs switches (enabling of video mode switching and fullscreen) - |
1682 | 313 it always tries to cover as much area of your screen as possible by switching |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
314 the video mode, thus refraining to use a single additional cycle of your CPU |
1682 | 315 to scale the image. |
316 If you don't like the mode it chooses you may force it to choose the mode | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
317 matching closest the resolution you specify by -x and -y. |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
318 By providing the -v option, the DGA driver will print, among a lot of other |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
319 things, a list of all resolutions supported by your current XF86-Config |
1682 | 320 file. |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
321 Having DGA2 you may also force it to use a certain depth by using the -bpp |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
322 option. Valid depths are 15, 16, 24 and 32. It depends on your hardware |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
323 whether these depths are natively supported or if a (possibly slow) |
1682 | 324 conversion has to be done.</P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
325 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
326 <P>If you should be lucky enough to have enough offscreen memory left to |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
327 put a whole image there, the DGA driver will use doublebuffering, which |
1682 | 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 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
333 next frame is ready, the graphics chip is just told the location in memory |
1682 | 334 of the new frame and simply fetches the data to be displayed from there. |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
335 In the meantime the other buffer in memory will be filled again with new |
1682 | 336 video data.</P> |
337 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
338 <P>Doublebuffering may be switched on by using the option -double and may be |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
339 disabled with -nodouble. Current default option is to disable |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
340 doublebuffering. When using the DGA driver, onscreen display (OSD) only |
1682 | 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> | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
344 |
1682 | 345 |
2745 | 346 <P><B><A NAME=2.3.1.3.7>2.3.1.3.7. Speed issues</A></B></P> |
1682 | 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. | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
350 The percentage speed values printed by mplayer have to be interpreted with |
1682 | 351 some care, as for example, with the X11 driver they do not include the time |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
352 used by the X-Server needed for the actual drawing. Hook a terminal to a |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
353 serial line of your box and start top to see what is really going on in your |
1682 | 354 box ...</P> |
355 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
356 <P>Generally spoken, the speedup done by using DGA against 'normal' use of X11 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
357 highly depends on your graphics card and how well the X-Server module for it |
1682 | 358 is optimized.</P> |
359 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
360 <P>If you have a slow system, better use 15 or 16bit depth since they require |
1682 | 361 only half the memory bandwidth of a 32 bit display.</P> |
1612 | 362 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
363 <P>Using a depth of 24bit is even a good idea if your card natively just supports |
1682 | 364 32 bit depth since it transfers 25% less data compared to the 32/32 mode.</P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
365 |
1682 | 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 |
2745 | 369 <P><B><A NAME=2.3.1.3.8>2.3.1.3.8. Known bugs</A></B></P> |
1682 | 370 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
371 <P>Well, according to some developpers of XFree, DGA is quite a beast. They |
1682 | 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 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
375 <UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
376 <LI>With XFree 4.0.3 and nv.o there is a bug resulting in strange colors.</LI> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
377 <LI>ATI driver requires to switch mode back more than once after finishing |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
378 using of DGA.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
379 <LI>Some drivers simply fail to switch back to normal resolution (use |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
380 Ctrl-Alt-Keypad +, - to switch back manually).</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
381 <LI>Some drivers simply display strange colors.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
382 <LI>Some drivers lie about the amount of memory they map into the process's |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
383 address space, thus vo_dga won't use doublebuffering (SIS?).</LI> |
1682 | 384 <LI>some drivers seem to fail to report even a single valid mode. In this |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
385 case the DGA driver will crash telling you about a nonsense mode of |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
386 100000x100000 or the like ...</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
387 <LI>OSD only works with doublebuffering enabled.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
388 </UL> |
1682 | 389 |
2745 | 390 <P><B><A NAME=2.3.1.3.9>2.3.1.3.9. Future work</A></B></P> |
1682 | 391 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
392 <UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
393 <LI>use of the new X11 render interface for OSD</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
394 <LI>where is my TODO list ???? :-(((</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
395 </UL> |
1612 | 396 |
397 | |
2745 | 398 <P><B><A NAME=2.3.1.3.A>2.3.1.3.A. Some modelines</A></B></P> |
1612 | 399 |
1682 | 400 <PRE> |
1612 | 401 Section "Modes" |
402 Identifier "Modes[0]" | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
403 Modeline "800x600" 40 800 840 968 1056 600 601 605 628 |
1612 | 404 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
405 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 |
1612 | 406 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan |
407 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 | |
408 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan | |
409 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan | |
410 EndSection | |
1682 | 411 </PRE> |
1612 | 412 |
1682 | 413 <P>These entries work fine with my Riva128 chip, using nv.o XServer driver |
414 module.</P> | |
1612 | 415 |
416 | |
2745 | 417 <P><B><A NAME=2.3.1.3.B>2.3.1.3.B. Bug Reports</A></B></P> |
1612 | 418 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
419 <P>If you experience troubles with the DGA driver please feel free to file |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
420 a bug report to me (e-mail address below). Please start mplayer with the |
1682 | 421 -v option and include all lines in the bug report that start with vo_dga:</P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
422 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
423 <P>Please do also include the version of X11 you are using, the graphics card |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
424 and your CPU type. The X11 driver module (defined in XF86-Config) might |
1682 | 425 also help. Thanks!</P> |
1612 | 426 |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
427 |
1682 | 428 <P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P> |
1612 | 429 |
430 | |
2745 | 431 <P><B><A NAME=2.3.1.4>2.3.1.4. SDL</A></B></P> |
1612 | 432 |
3988 | 433 <P>SDL (Simple Directmedia Layer) is basically an unified video/audio |
434 interface. Programs that use it know only about SDL, and not about what video | |
435 or audio driver does SDL actually use. For example a Doom port using SDL can | |
436 run on svgalib, aalib, X, fbdev, and others, you only have to specify the | |
437 (for example) video driver to use with the SDL_VIDEODRIVER environment | |
438 variable. Well, in theory.</P> | |
439 | |
440 <P>With <B>MPlayer</B>, we used its X11 driver's software scaler ability for | |
441 cards/drivers that doesn't support XVideo, until we made our own (faster, | |
442 nicer) software scaler. Also we used its aalib output, but now we have ours | |
443 which is more comfortable. Its DGA mode was better than ours, until | |
444 recently. Get it now? :)</P> | |
445 | |
446 <P>It also helps with some buggy drivers/cards if the video is jerky | |
447 (not slow system problem), or audio is lagging.</P> | |
448 | |
5119 | 449 <P>SDL video output supports displaying subtitles under the movie, on the (if |
450 present) black bar.</P> | |
451 | |
1682 | 452 <P>Here are some notes about SDL out in <B>MPlayer</B>.</P> |
1612 | 453 |
454 | |
455 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
456 <TABLE BORDER=0> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
457 <TR><TD COLSPAN=4><P><B>There are several commandline switches for SDL:</B></P></TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
458 <TR><TD> </TD><TD>-vo sdl:name</TD><TD> </TD><TD> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
459 specifies sdl video driver to use (ie. aalib, dga, x11)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
460 <TR><TD></TD><TD>-ao sdl:name</TD><TD></TD><TD>specifies sdl audio driver to use (ie. dsp, |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
461 esd, arts)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
462 <TR><TD></TD><TD>-noxv</TD><TD></TD><TD>disables Xvideo hardware acceleration</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
463 <TR><TD></TD><TD>-forcexv</TD><TD></TD><TD>tries to force Xvideo acceleration</TD></TR> |
1612 | 464 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
465 <TR><TD COLSPAN=4><P><B>SDL Keys:</B></P></TD></TR> |
1612 | 466 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
467 <TR><TD></TD><TD>F</TD><TD></TD><TD>toggles fullscreen/windowed mode</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
468 <TR><TD></TD><TD>C</TD><TD></TD><TD>cycles available fullscreen modes</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
469 <TR><TD></TD><TD>W/S</TD><TD></TD><TD>mappings for * and / (mixer control)</TD></TR> |
1612 | 470 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
471 </TABLE> |
1612 | 472 |
1682 | 473 <P><B>KNOWN BUGS:</B></P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
474 <UL><LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa !) |
1682 | 475 It's bug in SDL, I can't change it (tested with SDL 1.2.1). |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
476 </UL> |
1612 | 477 |
2745 | 478 <P><B><A NAME=2.3.1.5>2.3.1.5. SVGAlib</A></B></P> |
1682 | 479 |
6499 | 480 <P><B><U>Installation</U></B><BR> |
481 You'll have to install svgalib and its development package in order for | |
482 <B>MPlayer</B> build its SVGAlib driver (autodetected, but can be forced), | |
483 and don't forget to edit /etc/vga/libvga.config to suit your card & | |
484 monitor.</P> | |
485 | |
486 <P><B><U>Notes</U></B><BR> | |
487 Be sure not to use the -fs switch, since it toggles the usage of the software | |
488 scaler, and it's slow. If you really need it, use the <CODE>-sws 4</CODE> | |
489 option which will produce bad quality, but is somewhat faster.</P> | |
490 | |
491 <P><B><U>EGA (4bpp) support</U></B><BR> | |
492 SVGAlib incorporates EGAlib, and <B>MPlayer</B> has the possibility to | |
493 display any movie in 16 colors, thus usable in the following sets:</P> | |
1612 | 494 |
6499 | 495 <UL> |
496 <LI>EGA card with EGA monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp</LI> | |
497 <LI>EGA card with CGA monitor: 320x200x4bpp, 640x200x4bpp</LI> | |
498 </UL> | |
499 | |
500 <P>The bpp (bits per pixel) value must be set to 4 by hand:<BR> | |
501 <CODE>-bpp 4</CODE><BR> | |
502 The movie probably must be scaled down to fit in EGA mode:<BR> | |
503 <CODE>-vop scale=640:350</CODE> or<BR> | |
504 <CODE>-vop scale=320:200</CODE><BR> | |
505 For that we need fast but bad quality scaling routine:<BR> | |
506 <CODE>-sws 4</CODE><BR> | |
507 Maybe automatic aspect correction has to be shut off:<BR> | |
508 <CODE>-noaspect</CODE><BR> | |
509 </P> | |
510 | |
1612 | 511 |
2745 | 512 <P><B><A NAME=2.3.1.6>2.3.1.6. Framebuffer output (FBdev)</A></B></P> |
1682 | 513 |
514 <P>Whether to build the FBdev target is autodetected during ./configure . | |
515 Read the framebuffer documentation in the kernel sources | |
516 (Documentation/fb/*) for info on how to enable it, etc.. !</P> | |
1612 | 517 |
1682 | 518 <P>If your card doesn't support VBE 2.0 standard (older ISA/PCI |
519 cards, such as S3 Trio64), only VBE 1.2 (or older?) : | |
520 Well, VESAfb is still available, but you'll have to load SciTech Display | |
521 Doctor (formerly UniVBE) before booting Linux. Use a DOS boot disk or | |
522 whatever. And don't forget to register your UniVBE ;))</P> | |
1612 | 523 |
1682 | 524 <P>The FBdev output takes some additional parameters above the others:</P> |
1612 | 525 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
526 <TABLE BORDER=0> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
527 <TR><TD> </TD><TD>-fb</TD><TD> </TD><TD> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
528 specify the framebuffer device to use (/dev/fb0)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
529 <TR><TD></TD><TD>-fbmode</TD><TD></TD><TD>mode name to use (according to /etc/fb.modes)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
530 <TR><TD></TD><TD>-fbmodeconfig</TD><TD></TD><TD> config file of modes (default /etc/fb.modes)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
531 <TR><TD></TD><TD>-monitor_hfreq</TD><TD></TD><TD ROWSPAN=3>IMPORTANT values, see example.conf</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
532 <TR><TD></TD><TD>-monitor_vfreq</TD><TD></TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
533 <TR><TD></TD><TD>-monitor_dotclock</TD><TD></TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
534 </TABLE> |
1612 | 535 |
1682 | 536 <P>If you want to change to a specific mode, then use</P> |
1612 | 537 |
1682 | 538 <P><CODE> mplayer -vm -fbmode (NameOfMode) filename</CODE></P> |
1612 | 539 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
540 <UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
541 <LI><B>-vm</B> alone will choose the most suitable mode from /etc/fb.modes . Can be |
1682 | 542 used together with -x and -y options too. The -flip option is supported only |
543 if the movie's pixel format matches the video mode's pixel format. | |
544 Pay attention to the bpp value, fbdev driver tries to use the current, | |
2507 | 545 or if you specify the -bpp option, then that.</LI> |
1682 | 546 <LI><B>-zoom</B> option isn't supported (software scaling is slow). -fs option |
2507 | 547 isn't supported. You can't use 8bpp (or less) modes.</LI> |
4701 | 548 <LI>you possibly want to turn the cursor off : <CODE>echo -e '\033[?25l'</CODE> |
549 or <CODE>setterm -cursor off</CODE><BR> | |
2507 | 550 and the screen saver: <CODE>setterm -blank 0</CODE><BR> |
551 To turn the cursor back on : <CODE>echo -e '\033[?25h'</CODE> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
552 or <CODE>setterm -cursor on</CODE></LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
553 </UL> |
1612 | 554 |
1682 | 555 <P>NOTE: FBdev video mode changing _does not work_ with the VESA framebuffer, |
556 and don't ask for it, since it's not an <B>MPlayer</B> limitation.</P> | |
1612 | 557 |
2745 | 558 <P><B><A NAME=2.3.1.7>2.3.1.7. Matrox framebuffer (mga_vid)</A></B></P> |
1612 | 559 |
1992 | 560 <P>This section is about the Matrox G200/G400/G450/G550 BES (Back-End Scaler) |
1682 | 561 support, the mga_vid kernel driver. It's active developed by me (A'rpi), and |
562 it has hardware VSYNC support with triple buffering. It works on both | |
563 framebuffer console and under X.</P> | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
564 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
565 <P><B>WARNING</B>: on non-Linux systems, use <A HREF="#2.3.1.15">Vidix</A> for |
4505
fdeee8424d90
on non-Linux use Vidix instead of mga_vid kernelmodule
gabucino
parents:
4504
diff
changeset
|
566 mga_vid !!!</P> |
fdeee8424d90
on non-Linux use Vidix instead of mga_vid kernelmodule
gabucino
parents:
4504
diff
changeset
|
567 |
1682 | 568 <P>To use it, you first have to compile mga_vid.o:</P> |
1612 | 569 |
1682 | 570 <P><CODE> cd drivers<BR> |
571 make</CODE></P> | |
1612 | 572 |
1682 | 573 <P>Then create /dev/mga_vid device:</P> |
1612 | 574 |
1682 | 575 <P><CODE> mknod /dev/mga_vid c 178 0</CODE></P> |
1612 | 576 |
1682 | 577 <P>and load the driver with</P> |
578 | |
579 <P><CODE> insmod mga_vid.o</CODE></P> | |
1612 | 580 |
1682 | 581 <P>You should verify the memory size detection using the 'dmesg' command. If |
582 it's bad, use the mga_ram_size option (rmmod mga_vid first), specify card's | |
583 memory size in MB:</P> | |
1612 | 584 |
1682 | 585 <P><CODE> insmod mga_vid.o mga_ram_size=16</CODE></P> |
1612 | 586 |
3664
f3a20477f042
added "copy mga_vid to /lib/modules" to install instructions
gabucino
parents:
3583
diff
changeset
|
587 <P>To make it load/unload automatically when needed, first insert the following line |
1682 | 588 at the end of /etc/modules.conf:</P> |
1612 | 589 |
1682 | 590 <P><CODE> alias char-major-178 mga_vid</CODE></P> |
1612 | 591 |
3664
f3a20477f042
added "copy mga_vid to /lib/modules" to install instructions
gabucino
parents:
3583
diff
changeset
|
592 <P>Then copy the <CODE>mga_vid.o</CODE> module to the appropriate place under |
f3a20477f042
added "copy mga_vid to /lib/modules" to install instructions
gabucino
parents:
3583
diff
changeset
|
593 <CODE>/lib/modules/<kernel version>/somewhere</CODE>.</P> |
f3a20477f042
added "copy mga_vid to /lib/modules" to install instructions
gabucino
parents:
3583
diff
changeset
|
594 |
1682 | 595 <P>Then run</P> |
1612 | 596 |
1682 | 597 <P><CODE> depmod -a</CODE></P> |
1612 | 598 |
1682 | 599 <P>Now you have to (re)compile <B>MPlayer</B>, ./configure will detect /dev/mga_vid |
600 and build the 'mga' driver. Using it from <B>MPlayer</B> goes by '-vo mga' if | |
601 you have matroxfb console, or '-vo xmga' under XFree86 3.x.x or 4.x.x.</P> | |
602 | |
2108 | 603 <P>The mga_vid driver cooperates with Xv.</P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
604 |
4504 | 605 <P>The <CODE>/dev/mga_vid</CODE> device file can be read (for example by |
606 <CODE>cat /dev/mga_vid</CODE>) for some info, and written for brightness | |
607 change : <CODE>echo "brightness=120" > /dev/mga_vid</CODE></P> | |
608 | |
1612 | 609 |
2745 | 610 <P><B><A NAME=2.3.1.8>2.3.1.8. SiS 6326 framebuffer (sis_vid)</A></B></P> |
1682 | 611 |
612 <P>SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver</P> | |
1612 | 613 |
1682 | 614 <P>Its interface should be compatible with the mga_vid, but the driver was not |
615 updated after the mga_vid changes, so it's outdated now. Volunteers | |
616 needed to test it and bring the code up-to-date.</P> | |
1612 | 617 |
2745 | 618 <P><B><A NAME=2.3.1.9>2.3.1.9. 3dfx YUV support (tdfxfb)</A></B></P> |
1612 | 619 |
1992 | 620 <P>This driver uses the kernel's tdfx framebuffer driver to play movies with |
621 YUV acceleration. You'll need a kernel with tdfxfb support, and recompile with | |
622 <CODE>./configure --enable-tdfxfb</CODE></P> | |
1612 | 623 |
2745 | 624 <P><B><A NAME=2.3.1.10>2.3.1.10. OpenGL output</A></B></P> |
1612 | 625 |
6309 | 626 <P><B>MPlayer</B> supports displaying movies using OpenGL, but if your |
627 platform/driver supports xv as should be the case on a PC with Linux, use xv | |
628 instead, OpenGL performance is considerably worse. If you have an X11 | |
629 implementation without xv support, OpenGL is a viable alternative.</P> | |
630 | |
631 <P>Unfortunately not all drivers support this feature. The Utah-GLX drivers | |
632 (for XFree86 3.3.6) support it for all cards. See | |
633 <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A> | |
1682 | 634 for details about how to install it.</P> |
1612 | 635 |
6309 | 636 <P>XFree86(DRI) >= 4.0.3 supports OpenGL with Matrox and Radeon cards, >= 4.2 |
637 supports Rage128. See | |
638 <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> | |
639 for download and installation instructions.</P> | |
1612 | 640 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
641 <P><B><A NAME=2.3.1.11>2.3.1.11. AAlib - text mode displaying</A></B></P> |
1612 | 642 |
1682 | 643 <P><B>AAlib</B> is a library for displaying graphics in text mode, using powerful |
644 ASCII renderer. There are LOTS of programs already supporting it, like Doom, | |
645 Quake, etc. MPlayer contains a very usable driver for it. | |
646 If ./configure detects aalib installed, the aalib libvo driver will be built.</P> | |
1612 | 647 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
648 <TABLE BORDER=0> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
649 <TR><TD COLSPAN=4><P><B>You can use some keys in the AA Window to change rendering options:</B></P></TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
650 <TR><TD> </TD><TD>1</TD><TD> </TD><TD>decrease contrast</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
651 <TR><TD></TD><TD>2</TD><TD></TD><TD>increase contrast</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
652 <TR><TD></TD><TD>3</TD><TD></TD><TD>decrease brightness</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
653 <TR><TD></TD><TD>4</TD><TD></TD><TD>increase brightness</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
654 <TR><TD></TD><TD>5</TD><TD></TD><TD>switch fast rendering on/off</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
655 <TR><TD></TD><TD>6</TD><TD></TD><TD>set dithering mode (none, error distribution, floyd steinberg)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
656 <TR><TD></TD><TD>7</TD><TD></TD><TD>invert image</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
657 <TR><TD></TD><TD>a</TD><TD></TD><TD>toggles between aa and mplayer control)</TD></TR> |
1682 | 658 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
659 <TR><TD COLSPAN=4><P><B>The following command line options can be used:</B></P></TD></TR> |
1612 | 660 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
661 <TR><TD></TD><TD>-aaosdcolor=V</TD><TD></TD><TD>change osd color</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
662 <TR><TD></TD><TD>-aasubcolor=V</TD><TD></TD><TD>change subtitle color</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
663 <TR><TD COLSPAN=3></TD><TD><P><I>where V can be: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)</I></P></TD></TR> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
664 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
665 <TR><TD COLSPAN=4><P><B>AAlib itselves provides a large sum of options. |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
666 Here are some important:</B></P></TD></TR> |
1682 | 667 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
668 <TR><TD></TD><TD>-aadriver</TD><TD></TD><TD>set recommended aa driver (X11, curses, linux)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
669 <TR><TD></TD><TD>-aaextended</TD><TD></TD><TD>use all 256 characters</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
670 <TR><TD></TD><TD>-aaeight</TD><TD></TD><TD>use eight bit ascii</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
671 <TR><TD></TD><TD>-aahelp</TD><TD></TD><TD>prints out all aalib options</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
672 </TABLE> |
1682 | 673 |
674 <P>NOTE: the rendering is very CPU intensive, especially when using AA-on-X | |
675 (using aalib on X), and it's least CPU intensive on standard, | |
676 non-framebuffer console. Use SVGATextMode to set up a big textmode, | |
677 then enjoy! (secondary head Hercules cards rock :)) (anyone can enhance | |
678 bdev to do conversion/dithering to hgafb? Would be neat :)</P> | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
679 |
1682 | 680 <P>Use the -framedrop option if your comp isn't fast enough to render all frames!</P> |
1612 | 681 |
1682 | 682 <P>Playing on terminal you'll get better speed and quality using the linux driver, not |
683 curses (-aadriver linux). But therefore you need write access on /dev/vcsa<terminal>! | |
684 That isn't autodetected by aalib, bu vo_aa tries to find the best mode. | |
1731 | 685 See <A HREF="http://aa-project.sourceforge.net/tune/">http://aa-project.sourceforge.net/tune/</A> for further tuning issues.</P> |
1612 | 686 |
2471 | 687 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
688 <P><B><A NAME=2.3.1.12>2.3.1.12. VESA - output to VESA BIOS</A></B></P> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
689 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
690 This driver was designed and introduced as <B>generic driver</B> for any video |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
691 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
|
692 developing of this driver - it's multiple troubles with displaying movie on TV.<BR> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
693 <B>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998</B> (Page 70) |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
694 says: |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
695 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
696 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
697 <BLOCKQUOTE> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
698 <B>Dual-Controller Designs</B><BR> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
699 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
|
700 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
|
701 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
|
702 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
|
703 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
|
704 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
|
705 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
|
706 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
|
707 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
|
708 Each of the remaining VBE functions then operates on the active controller. |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
709 </BLOCKQUOTE> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
710 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
711 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
712 So you have chances to get working TV-out by using this driver.<BR> |
2471 | 713 (I guess that TV-out frequently is standalone head or standalone output |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
714 at least.) |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
715 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
716 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
717 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
718 <B>What are pluses:</B><BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
719 - You have chances to watch movies <B>if Linux even doesn't know</B> your video hardware.<BR> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
720 - 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
|
721 (like X11 (aka XFree86), fbdev and so on). This driver can be run from |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
722 <B>text-mode</B>.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
723 - You have chances to get <B>working TV-out</B>. (It's known at least for ATI's cards).<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
724 - This driver calls <B>int 10h</B> handler thus it's not an emulator - it |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
725 calls <B>real</B> things of <B>real</B> BIOS in <B>real</B>-mode. (Finely - |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
726 in vm86 mode).<BR> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
727 - Most important :) You can watch <B>DVD at 320x200</B> if you don't have a powerful CPU.<BR> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
728 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
729 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
730 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
731 <B>What are minuses:</B><BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
732 - It works only on <B>x86 systems</B>.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
733 - <B>It's the slowest driver</B> from all the available ones for MPlayer.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
734 (But only if your card doesn't support <B>DGA mode</B> - otherwise this |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
735 driver is comparable by speed with <B>-vo dga</B> and <B>-vo fbdev</B> ones.<BR> |
2747 | 736 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
737 - It can be used only by <B>ROOT</B>.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
738 - Currently it's available only for <B>Linux</B>.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
739 - It <B>doesn't use</B> any <B>hardware accelerations</B> (like YUV overlay or hw scaling).<BR> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
740 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
741 |
3141 | 742 <P>Don't use this driver with <B>GCC 2.96</B> ! It won't work !</P> |
743 | |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
744 <TABLE BORDER=0> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
745 <TR><TD COLSPAN=4><P><B>These switches of command line currently are available for VESA:</B></P></TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
746 <TR><TD> </TD><TD>-vo vesa:opts</TD><TD></TD><TD>currently recognized: <B>dga</B> to force dga mode and <B>nodga</B> to disable dga mode. Note: you may omit these parameters to enable <B>autodetect</B> of dga mode. (In the future also will specify mode parameters such as refresh rate, interlacing, doublescan and so on. Samples: i43, 85, d100)</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
747 <TR><TD></TD><TD>-screenw, -screenh, -bpp</TD><TD></TD><TD>force userdefined mode</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
748 <TR><TD></TD><TD>-x, -y</TD><TD></TD><TD>set userdefined prescaling</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
749 <TR><TD></TD><TD>-zoom</TD><TD></TD><TD>enables userdefined prescaling</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
750 <TR><TD></TD><TD>-fs</TD><TD></TD><TD>scales image to fullscreen</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
751 <TR><TD></TD><TD>-fs -zoom</TD><TD></TD><TD>scales userdefined prescaling to fullscreen</TD></TR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
752 <TR><TD></TD><TD>-double</TD><TD></TD><TD>enables double buffering mode. (Available only in DGA mode). Should be slower of single buffering, but has no flickering effects.</TD></TR> |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
753 </TABLE> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
754 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
755 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
756 <B>Known problems and workaround:</B><BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
757 - If you have installed <B>NLS</B> font on your Linux box and run VESA driver |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
758 from text-mode then after terminating mplayer you will have <B>ROM font</B> loaded instead |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
759 of national. You can load national font again by using <B><I>setsysfont</I></B> utility |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
760 from for example Mandrake distribution.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
761 (<B>Hint</B>: The same utility is used for localizating fbdev).<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
762 - Some <B>Linux graphics drivers</B> don't update active <B>BIOS mode</B> in DOS memory. So if you have such |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
763 problem - always use VESA driver only from <B>text-mode</B>. Otherwise text-mode (#03) will be |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
764 activated anyway and you will need restart your computer.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
765 - Often after terminating VESA driver you get <B>black screen</B>. To return your screen |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
766 to original state - simply switch to other console (by pressing <B>Alt-Fx</B>) then switch |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
767 to your previous console by the same way.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
768 - To get <B>working TV-out</B> you need have plugged tv-connector in before booting |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
769 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
|
770 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
771 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
772 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
773 <P><B><A NAME=2.3.1.13>2.3.1.13. X11</A></B></P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
774 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
775 <P>Avoid if possible. Outputs to X11 (uses shared memory extension), with no |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
776 hardware acceleration at all. Supports (MMX/3DNow/SSE accelerated, but still |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
777 slow) software scaling, use the options <CODE>-fs -zoom</CODE>. Most cards have |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
778 hardware scaling support, use the <CODE>-vo xv</CODE> output for them, or |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
779 <CODE>-vo xmga</CODE> for Matroxes.</P> |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
780 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
781 <P>The problem is that most cards' driver doesn't support |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
782 hardware acceleration on the second head/TV. In those cases, you see green/blue |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
783 coloured window instead of the movie. This is where this driver comes in |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
784 handy, but you need powerful CPU to use software scaling. Don't use the |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
785 SDL driver's software output+scaler, it has worse image quality !</P> |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
786 |
3290 | 787 <P>Software scaling is very slow, you better try changing video modes instead. |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
788 It's very simple. See the <A HREF="#2.3.1.3.A">DGA section's modelines</A>, and |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
789 insert them into your XF86Config.</P> |
3290 | 790 <UL> |
791 <LI>If you have XFree86 4.x.x - use the <CODE>-vm</CODE> option. It will | |
792 change to a resolution your movie fits in. If it doesn't :</LI> | |
793 <LI>With XFree86 3.x.x - you have to cycle through available resolutions | |
794 with the <B>CTRL-ALT-plus</B> and <B>minus</B> keys.</LI> | |
795 </UL> | |
796 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
797 <P>If you can't find the modes you inserted, browse XFree86's output. Some |
3290 | 798 drivers can't use low pixelclocks that are needed for low resolution |
799 video modes.</P> | |
800 | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
801 |
3224 | 802 <P><B><A NAME=2.3.1.14>2.3.1.14. Rage128 (Pro) / Radeon video overlay (radeon_vid)</A></B></P> |
2956
f6b51da0a50d
DOXized and applied Nick's radeon_vid patch. Nick, should I update
gabucino
parents:
2883
diff
changeset
|
803 |
5119 | 804 <P>This section is OBSOLETED ! Use Vidix !</P> |
2956
f6b51da0a50d
DOXized and applied Nick's radeon_vid patch. Nick, should I update
gabucino
parents:
2883
diff
changeset
|
805 |
4339 | 806 |
4199 | 807 <P><B><A NAME=2.3.1.15>2.3.1.15. VIDIX</A></B></P> |
808 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
809 <P><B>WHAT IS VIDIX?</B></P> |
4199 | 810 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
811 <P>VIDIX is the abbreviation for <B>VID</B>eo <B>I</B>nterface for |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
812 *ni<B>X</B>.<BR> |
4199 | 813 VIDIX was designed and introduced as an interface for fast user-space drivers |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
814 providing <B>DGA</B> everywhere where it's possible (<B>unlike X11</B>). I |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
815 hope that these drivers will be as portable as X11 (<B>not only on |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
816 *nix</B>).<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
817 What it is:</P> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
818 |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
819 <UL> |
4199 | 820 <LI>It's a portable successor of mga_vid technology, but it's located in |
821 user-space.</LI> | |
822 <LI>Unlike X11 it provides DGA everywhere it's possible</LI> | |
823 <LI>Unlike v4l it provides interface for video playback</LI> | |
824 <LI>Unlike linux's drivers it uses mathematics library</LI> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
825 </UL> |
4199 | 826 |
827 <P>I can tell you in bold capital letters :<BR> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
828 <B>VIDIX PROVIDES DIRECT GRAPHICS ACCESS TO BES YUV MEMORY.</B> |
4199 | 829 </P> |
830 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
831 <P><I>Well (it's in my todo) - implement DGA to MPEG2 decoder.</I></P> |
4199 | 832 |
833 <P>This interface was designed as an attempt to fit existing video acceleration | |
834 interfaces (known as mga_vid, mga_yuv, radeon_vid) into a fixed scheme. It | |
835 provides highlevel interface to chips which are known as BES (BackEnd | |
836 scalers) or OV (Video Overlays). It doesn't provide lowlevel interface to | |
837 things which are known as graphics servers. (I don't want to compete with X11 | |
838 team in graphics mode switching). I.e. main goal of this interface is to | |
839 provide maximal speed of video playback but not putting video signal on | |
840 screen of your TV or on tape of your VCR. Although these things are also very | |
841 significant - it's perfectly other task. (However I guess that it would be | |
842 possible to implement something like mini-X (don't mix it with Minix ;) in | |
843 the future, if some number of volunteers will be found. | |
844 </P> | |
845 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
846 <P><B>USAGE</B></P> |
4199 | 847 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
848 <UL> |
4199 | 849 <LI>You can use standalone video output driver: <CODE>-vo xvidix</CODE><BR> |
850 This driver was developed as X11's front end to VIDIX technology. It | |
851 requires XServer and can work only under XServer.</LI> | |
852 <LI>You can use VIDIX subdevice which was applied to several video output | |
853 drivers, such as:<BR> | |
854 <CODE>-vo vesa:vidix</CODE> and <CODE>-vo fbdev:vidix</CODE></LI> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
855 </UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
856 Indeed it doesn't matter which video output driver is used with <B>VIDIX</B>. |
4199 | 857 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
858 <P><B>REQUIREMENTS</B></P> |
4199 | 859 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
860 <UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
861 <LI>video card should be in graphics mode (I write <B>should</B> simply |
4199 | 862 because I tested it in text mode - it works but has awful output ;) Use |
863 AAlib for that).<BR> | |
864 <I>Note: Everyone can try this trick by commenting out mode switching in | |
865 vo_vesa driver.</I></LI> | |
866 <LI><B>MPlayer</B>'s video output driver should know active video mode and be | |
867 able to tell to VIDIX subdevice some video characteristics of server.</LI> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
868 </UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
869 I hope that probably every video output driver of <B>MPlayer</B> will |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
870 recognize <CODE>:vidix</CODE> subdevice. |
4199 | 871 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
872 <P><B>USAGE METHODS</B></P> |
4199 | 873 |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
874 <P>When VIDIX is used as <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) then |
4199 | 875 video mode configuration is performed by video output device |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
876 (<B>vo_server</B> in short). Therefore you can pass into command line of |
4199 | 877 <B>MPlayer</B> the same keys as for vo_server. In addition it understands |
878 <CODE>-double</CODE> key as globally visible parameter. (I recommend using | |
879 this key with VIDIX at least for ATI's card).<BR> | |
880 As for <CODE>-vo xvidix</CODE> : currently it recognizes the following | |
4356 | 881 options: <CODE>-fs -zoom -x -y -double</CODE>.<BR> |
4199 | 882 </P> |
883 | |
884 <P>Also you can specify VIDIX's driver directly as third subargument in command | |
885 line :<BR> | |
886 <BR> | |
887 <code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double | |
888 file.avi</code><BR> | |
889 or<BR> | |
890 <code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp | |
891 32 file.avi</code><BR> | |
892 <BR> | |
893 But it's dangerous, and you shouldn't do that. In this case given driver will | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
894 be forced and result is unpredictable (it may <B>freeze</B> your |
4339 | 895 computer). You should do that ONLY if you are absolutely sure it will work, |
896 and <B>MPlayer</B> doesn't do it automatically. Please tell about it to the | |
897 developers. The Right Way is to use VIDIX without arguments to enable driver | |
4199 | 898 autodetection. |
899 </P> | |
900 | |
901 <P> | |
902 VIDIX is very new technology and it's extremely possible that on your system | |
903 (OS=abc CPU=xyz) it won't work. In this case only solution for you it's port | |
904 it (mainly libdha). But there is hope that it will work on those systems | |
905 where X11 does. | |
906 </P> | |
907 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
908 <P>And the last <B>WARNING</B>: (un)fortunately you <B>MUST</B> have |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
909 <B>ROOT</B> privileges to use VIDIX due to direct hardware access. At least |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
910 set the <B>suid</B> bit on the <B>MPlayer</B> excecutable. |
4199 | 911 </P> |
912 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
913 <P><B>VIDEO EQUALIZER</B></P> |
4496 | 914 |
915 <P> | |
4506 | 916 This is a video equalizer implemented especially for Vidix. You can use |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
917 it either with <B>1-8</B> keys as described in the man page, or |
4506 | 918 by command line arguments. <B>MPlayer</B> recognizes the |
4496 | 919 following options : |
920 </P> | |
921 | |
922 <P> | |
923 <CODE>-brightness</CODE> - adjust <B>BRIGHTNESS</B> of video | |
924 output. It's not equal to brightness adjusting on monitor panel or on TV. It | |
925 changes intensity of RGB components of video signal from black to white | |
926 screen.<BR> | |
927 <CODE>-contrast</CODE> - adjust <B>CONTRAST</B> of video output. | |
928 Works in similar manner as brightness.<BR> | |
929 <CODE>-saturation</CODE> - adjust <B>SATURATION</B> of video | |
930 output. You can get grayscale output with this option.<BR> | |
931 <CODE>-hue</CODE> - adjust <B>HUE</B> of video signal. You can | |
932 get colored negative of image with this option.<BR> | |
933 <CODE>-red_intensity</CODE> - adjust intensity of <B>RED</B> | |
934 component of video signal.<BR> | |
935 <CODE>-green_intensity</CODE> - adjust intensity of <B>GREEN</B> | |
936 component of video signal.<BR> | |
937 <CODE>-blue_intensity</CODE> - adjust intensity of <B>BLUE</B> | |
938 component of video signal. | |
939 </P> | |
940 <P> | |
941 Each parameter can accept values from <B>-1000</B> to <B>+1000</B>.<BR> | |
942 Default value for each parameter is <B>0</B>. | |
943 </P> | |
944 <P> | |
945 <B>Note:</B> Not every driver provides support for each of those parameters. | |
946 Currently only <B>radeon_vid.so</B> provides full support for video eqalizing. | |
947 Other drivers only partly support these options. | |
948 </P> | |
949 <P><B>Examples:</B><BR> | |
950 <CODE>mplayer -vo vesa:vidix -brightness -300 -contrast 200 | |
951 filename.avi</CODE><BR> | |
952 or<BR> | |
953 <CODE>mplayer -vo xvidix -red_intensity -50 -saturation 400 -hue 300 | |
954 filename.vob</CODE> | |
955 </P> | |
956 | |
2956
f6b51da0a50d
DOXized and applied Nick's radeon_vid patch. Nick, should I update
gabucino
parents:
2883
diff
changeset
|
957 |
4339 | 958 <P><B><A NAME=2.3.1.16>2.3.1.16. Zr</A></B></P> |
959 | |
960 <P>This is a display-driver (<CODE>-vo zr</CODE>) for a number of MJPEG | |
4360 | 961 capture/playback cards (tested for DC10+ and Buz, and it should work for the |
4339 | 962 LML33, the DC10). The driver works by encoding the frame to jpeg and then |
963 sending it to the card. For the jpeg encoding <B>libavcodec</B> is | |
964 used, and required.</P> | |
965 | |
966 <P>This driver talks to the kernel driver available at | |
967 <A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A>, so | |
968 you must get it working first. Then recompile <B>MPlayer</B> with | |
969 <CODE>--enable-zr</CODE>.</P> | |
970 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
971 Some remarks: |
4339 | 972 <UL> |
4360 | 973 <LI>don't start or stop XawTV on the playback device during playback, |
974 it will crash your computer. It is, however, fine to <B>FIRST</B> start | |
975 XawTV, <B>THEN</B> start <B>MPlayer</B>, wait for <B>MPlayer</B> to finish | |
976 and <B>THEN</B> stop XawTV.</LI> | |
4339 | 977 <LI>this driver adds <CODE>-zr*</CODE> commandline options. The explanation |
978 of these options can be viewed with <CODE>-zrhelp</CODE>. It is possible to | |
979 crop the input frame (cut borders to make it fit or to enhance performace) | |
980 and to do other things.</LI> | |
4360 | 981 <LI>the driver takes data in YV12 and YUY2 format, this means that some |
982 codecs won't work. Some old VfW (Video for Windows) codecs, for example, | |
983 are incompatible with this driver. The errormessage that you will see is: | |
984 <CODE>Sorry, selected video_out device is incompatible with this codec. | |
985 </CODE></LI> | |
986 <LI>OSD is currently not supported, so you won't see | |
987 subtitles.</LI> | |
4339 | 988 </UL> |
989 | |
990 | |
4496 | 991 |
2745 | 992 <P><B><A NAME=2.3.1.A>2.3.1.A. TV-out support</A></B></P> |
1612 | 993 |
5116 | 994 <P><B><A NAME=2.3.1.A.1>2.3.1.A.1. Matrox G400 cards</A></B></P> |
1612 | 995 |
5116 | 996 <P>Under Linux you have 2 methods to get G400 TV out working :</P> |
997 | |
998 <P><B>IMPORTANT:</B> Only Matrox G400DH/G400MAX has TV-out support under Linux, others (G450, G550) has <B>NOT!</B></P> | |
2309 | 999 |
2486 | 1000 <UL> |
1001 <LI><B>XFree86</B>: using the driver and the HAL module, available from | |
1002 <A HREF="http://www.matrox.com">Matrox's site</A>. This will give you X on | |
1003 the TV.<BR> <B>This method doesn't give you accelerated playback</B> as | |
1004 under Windoze! The second head has only YUV framebuffer, the <I>BES</I> | |
1005 (Back End Scaler, the YUV scaler on G200/G400/G450/G550 cards) doesn't work | |
1006 on it! The windows driver somehow workarounds this, probably by using the | |
1007 3D engine to zoom, and the YUV framebuffer to display the zoomed | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2747
diff
changeset
|
1008 image. If you really want to use X, use the <CODE>-vo x11 -fs -zoom</CODE> |
2486 | 1009 options, but it will be <B>SLOW</B>, and has <B>Macrovision</B> copyprotection |
4177 | 1010 enabled (you can "workaround" Macrovision using |
1011 <A HREF="http://avifile.sourceforge.net/mgamacro.pl">this</A> perl | |
1012 script.</LI> | |
2486 | 1013 <LI><B>Framebuffer</B>: using the <B>matroxfb modules</B> in the 2.4 kernels. |
1014 2.2 kernels don't have the TVout feature in them, thus unusable for this. | |
3030 | 1015 You have to enable ALL matroxfb-specific feature during compilation (except |
5713 | 1016 MultiHead), and compile them into <B>modules</B>! You'll also need I2C |
1017 enabled. | |
2486 | 1018 <UL> |
1019 <LI> | |
1020 Enter <CODE>TVout/matroxset</CODE> and type <CODE>make</CODE>. Install | |
1021 <CODE>matroxset</CODE> into somewhere in your PATH.</LI> | |
1022 <LI> | |
1023 If you don't have <CODE>fbset</CODE> installed, enter | |
1024 <CODE>TVout/fbset</CODE> and type <CODE>make</CODE>. Install | |
1025 <CODE>fbset</CODE> into somewhere in your PATH.</LI> | |
1026 <LI> | |
1027 Then enter into the <CODE>TVout/</CODE> directory in the <B>MPlayer</B> | |
1028 source, and execute <CODE>./modules</CODE> as root. Your text-mode console | |
1029 will enter into framebuffer mode (no way back!).</LI> | |
1030 <LI>Next, run the <CODE>./matroxtv</CODE> script. This will present you | |
1031 to a very simple menu. Press <B>2</B> and <B>ENTER</B>. Now you should | |
1032 have the same picture on your monitor, and TV. The <B>3.</B> option | |
1033 will turn on independent display, but then you <B>can't use X</B>! If | |
3030 | 1034 the TV (PAL !) picture has some weird stripes on it, the script wasn't able to |
2486 | 1035 set the resolution correctly (to 640x512 by default). Use other menu |
1036 items randomly and it'll be OK :)</LI> | |
1037 </UL> | |
1038 | |
1039 <P> | |
1040 Yoh. Next task is to make the cursor on tty1 (or whatever) to disappear, | |
1041 and turn off screen blanking. Execute the following commands:</P> | |
1042 | |
1043 <P> | |
4701 | 1044 <CODE>echo -e '\033[?25l'</CODE> or <CODE>setterm -cursor off<BR> |
2486 | 1045 setterm -blank 0</CODE> |
1046 </P> | |
1047 | |
1048 <P> | |
1049 You possibly want to put the above into a script, and also clear | |
1050 the screen.. To turn the cursor back :<BR><CODE>echo -e '\033[?25h'</CODE> | |
4701 | 1051 or <CODE>setterm -cursor on</CODE> |
2486 | 1052 </P> |
1053 | |
1054 <P>Yeah kewl. Start movie playing with <CODE>mplayer -vo mga -fs -screenw 640 | |
1055 -screenh 512 <filename></CODE><BR> | |
1056 (if you use X, now change to matroxfb with for example CTRL-ALT-F1 !)<BR> | |
1057 Change 640x512 if you set the resolution to other..<BR> | |
1058 <B>Enjoy the ultra-fast ultra-featured Matrox TV output (better than Xv) !</B> | |
1059 </P> | |
1060 </LI> | |
1061 </UL> | |
2309 | 1062 |
1063 | |
2745 | 1064 <P><B><A NAME=2.3.1.A.2>2.3.1.A.2. ATI cards</A></B></P> |
2206 | 1065 |
1066 <P> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1067 <B>A few word about ATI's TV-out:</B><BR> |
2206 | 1068 Currently ATI doesn't want to support any of its TV-out chips under Linux. |
1069 Below is official answer from ATI Inc.: | |
1070 | |
1071 <P> | |
1072 <code> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1073 <I> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1074 <BR>> Hello! |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1075 <BR>> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1076 <BR>> On your pages you wrote that you support linux developers. |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1077 <BR>> Currently I participate with mplayer project (www.mplayerhq.hu) |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1078 <BR>> I'm interesting with enabling TV-out on Radeon VE chips during |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1079 <BR>> movie playback. I would be glad to add this feature to radeonfb driver |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1080 <BR>> (which can be found in CVS tree of mplayer project at main/drivers/radeon). |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1081 <BR>> Do I have a chance to get any official technical documenation? |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1082 </I> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1083 <BR>We will not provide TV out related documents due to macrovision concerns. |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1084 <BR>Also mpeg2 decoding is something that we MAY consider in the future but not |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1085 <BR>at this current time. This is again due to proprietary and 3rd party |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1086 <BR>information. |
2206 | 1087 </code> |
1088 </P> | |
1089 | |
1090 <P>Pity isn't?</P> | |
1091 | |
1092 <P> | |
1093 <code> | |
1094 <B>Q:What is Macrovision?</B><BR> | |
1095 A:It's copy protection mechanism.</code> | |
1096 </P> | |
1097 | |
1098 <P>It means that if they open any TV-out related information then | |
1099 hackers will be able to disable copy protection on their chips. Therefore | |
1100 we have no chance to get working TV-out on ATI.</P> | |
1101 | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1102 What's status of ATI's tv-out chips under Linux: |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1103 <UL> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1104 <LI><B>ATI Mach64</B> has <I>ImpacTV</I> which is supported by <A HREF="http://gatos.sf.net">gatos</A>.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1105 <LI><B>ASIC Radeon VIVO</B> has <I>Rage Theatre</I> which is supported by <A HREF="http://gatos.sf.net">gatos</A>.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1106 <LI><B>Radeon VE</B> and <B>Rage PRO LT</B> have <I>ImpacTV2+</I> which is not supported under Linux. |
3027 | 1107 But with <B>MPlayer</B> you get <B>full hardware acceleration</B> and <B>TV out</B> |
1108 for Radeons ! | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1109 Check <a href="#2.3.1.12">VESA driver</a> and <A HREF="#2.3.1.14">Radeon |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1110 acceleration</A> sections.</LI> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1111 </UL> |
2206 | 1112 |
1113 <P> | |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1114 Fortunately, owners of fast enough CPUs (Duron, Celeron2 and better) <B>can watch |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1115 movies on their TV</B> through <a href="#2.3.1.12">VESA drivers</a>. |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1116 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1117 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1118 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1119 I should say good words to ATI Inc. too:<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1120 <B>they produce top quality BIOSes.</B> |
2206 | 1121 </P> |
1122 | |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1123 <P> |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1124 <B>VESA drivers</B> don't use any hardware acceleration but it simulates |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1125 <B>DGA</B> through 64K window, which is configured through 32-bit mode |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1126 functions of BIOS. ATI cards have enough <B>fast video memory</B> (DIMM or DDR |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1127 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
|
1128 limitations on which video mode can be displayed on your TV (like on other |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1129 cards) so you can use <B>any video mode</B> on your <B>TV</B> (from |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1130 <B>320x200</B> up to <B>1024x768</B>).<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1131 From other side (it's known at least for <B>Radeons</B>) there is <B>DGA</B> |
2747 | 1132 mode which is detected automatically and in this case you'll get comparable |
6435
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1133 with <B>-vo dga</B> and <B>-vo fbdev</B> drivers speed.<BR> |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1134 Only thing you need to do - <B>have TV connector plugged in before booting your |
d0d74f9d8d4a
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1135 PC</B> since video BIOS initializes itself only once during POST procedure. |
2448
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1136 </P> |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1137 |
1e56c3381d55
'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized)
gabucino
parents:
2408
diff
changeset
|
1138 <P> |
2745 | 1139 For detail see <a href="video.html#2.3.1.12">VESA</a> sections of this |
2471 | 1140 documentation. |
2206 | 1141 </P> |
1142 | |
2472
487f5bbb38ae
link to tomi ollila's voodoo3 tvout text. if he has interest to integrate
gabucino
parents:
2471
diff
changeset
|
1143 |
3027 | 1144 <P><B><A NAME=2.3.1.A.3>2.3.1.A.3. Voodoo 3</A></B></P> |
2472
487f5bbb38ae
link to tomi ollila's voodoo3 tvout text. if he has interest to integrate
gabucino
parents:
2471
diff
changeset
|
1145 |
487f5bbb38ae
link to tomi ollila's voodoo3 tvout text. if he has interest to integrate
gabucino
parents:
2471
diff
changeset
|
1146 <P> |
487f5bbb38ae
link to tomi ollila's voodoo3 tvout text. if he has interest to integrate
gabucino
parents:
2471
diff
changeset
|
1147 Check <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">this URL</A>. |
487f5bbb38ae
link to tomi ollila's voodoo3 tvout text. if he has interest to integrate
gabucino
parents:
2471
diff
changeset
|
1148 </P> |
487f5bbb38ae
link to tomi ollila's voodoo3 tvout text. if he has interest to integrate
gabucino
parents:
2471
diff
changeset
|
1149 |
1612 | 1150 </BODY> |
1151 </HTML> |