Mercurial > mplayer.hg
annotate DOCS/xml/en/video.xml @ 20862:c542d92ea51b
[cosmetics]
- fix end-tag not being in the same column as start-tag
- some more indentation fixes
- blank lines added/removed for consistency and visual markup
- visual separation of sect* tags
author | torinthiel |
---|---|
date | Mon, 13 Nov 2006 10:47:38 +0000 |
parents | f973dc7132a8 |
children | 8488e29241a5 |
rev | line source |
---|---|
20535 | 1 <?xml version="1.0" encoding="utf-8"?> |
10913
49b1a67e7381
Add revision keyword to english xml files, to ease translation synchronization
lumag
parents:
10869
diff
changeset
|
2 <!-- $Revision$ --> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
3 <chapter id="video"> |
9675 | 4 <title>Video output devices</title> |
5 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
6 <sect1 id="mtrr"> |
9675 | 7 <title>Setting up MTRR</title> |
8 | |
9 <para> | |
10 It is VERY recommended to check if the MTRR registers | |
11 are set up properly, because they can give a big performance boost. | |
12 </para> | |
13 | |
14 <para> | |
11359 | 15 Do a <command>cat /proc/mtrr</command>: |
9675 | 16 <screen> |
17 <prompt>--($:~)--</prompt> cat /proc/mtrr | |
18 reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9 | |
19 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!-- | |
20 --></screen> | |
21 </para> | |
22 | |
23 <para> | |
24 It's right, shows my Matrox G400 with 16MB memory. I did this from | |
25 XFree 4.x.x , which sets up MTRR registers automatically. | |
26 </para> | |
27 | |
28 <para> | |
29 If nothing worked, you have to do it manually. First, you have to find the | |
30 base address. You have 3 ways to find it: | |
31 | |
32 <orderedlist> | |
33 <listitem><para> | |
34 from X11 startup messages, for example: | |
35 <screen> | |
36 (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 | |
37 (--) SVGA: Linear framebuffer at 0xD8000000<!-- | |
20862 | 38 --></screen> |
39 </para></listitem> | |
9675 | 40 <listitem><para> |
41 from <filename>/proc/pci</filename> (use <command>lspci -v</command> | |
42 command): | |
43 <screen> | |
44 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 | |
45 Memory at d8000000 (32-bit, prefetchable) | |
46 </screen> | |
20862 | 47 </para></listitem> |
9675 | 48 <listitem><para> |
49 from mga_vid kernel driver messages (use <command>dmesg</command>): | |
50 <screen>mga_mem_base = d8000000</screen> | |
20862 | 51 </para></listitem> |
9675 | 52 </orderedlist> |
53 </para> | |
54 | |
55 <para> | |
56 Then let's find the memory size. This is very easy, just convert video RAM | |
57 size to hexadecimal, or use this table: | |
58 <informaltable frame="none"> | |
59 <tgroup cols="2"> | |
60 <tbody> | |
61 <row><entry>1 MB</entry><entry>0x100000</entry></row> | |
62 <row><entry>2 MB</entry><entry>0x200000</entry></row> | |
63 <row><entry>4 MB</entry><entry>0x400000</entry></row> | |
64 <row><entry>8 MB</entry><entry>0x800000</entry></row> | |
65 <row><entry>16 MB</entry><entry>0x1000000</entry></row> | |
66 <row><entry>32 MB</entry><entry>0x2000000</entry></row> | |
67 </tbody> | |
68 </tgroup> | |
69 </informaltable> | |
70 </para> | |
71 | |
72 <para> | |
73 You know base address and memory size, let's setup MTRR registers! | |
74 For example, for the Matrox card above (<literal>base=0xd8000000</literal>) | |
75 with 32MB ram (<literal>size=0x2000000</literal>) just execute: | |
76 <screen> | |
77 echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr | |
78 </screen> | |
79 </para> | |
80 | |
81 <para> | |
12364 | 82 Not all CPUs have MTRRs. For example older K6-2 (around 266MHz, |
83 stepping 0) CPUs don't have MTRRs, but stepping 12 does | |
84 (execute <command>cat /proc/cpuinfo</command> to check it). | |
9675 | 85 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
86 </sect1> |
9675 | 87 |
20862 | 88 |
89 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
90 | |
91 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
92 <sect1 id="output-trad"> |
9675 | 93 <title>Video outputs for traditional video cards</title> |
20862 | 94 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
95 <sect2 id="xv"> |
9675 | 96 <title>Xv</title> |
97 | |
98 <para> | |
99 Under XFree86 4.0.2 or newer, you can use your card's hardware YUV routines | |
11359 | 100 using the XVideo extension. This is what the option |
101 '<option>-vo xv</option>' uses. Also, this driver supports adjusting | |
9675 | 102 brightness/contrast/hue/etc (unless you use the old, slow DirectShow DivX |
103 codec, which supports it everywhere), see the man page. | |
104 </para> | |
105 | |
106 <para> | |
107 In order to make this work, be sure to check the following: | |
108 | |
109 <orderedlist> | |
110 <listitem><para> | |
111 You have to use XFree86 4.0.2 or newer (former versions don't have XVideo) | |
20862 | 112 </para></listitem> |
9675 | 113 <listitem><para> |
114 Your card actually supports hardware acceleration (modern cards do) | |
20862 | 115 </para></listitem> |
9675 | 116 <listitem><para> |
117 X loads the XVideo extension, it's something like this: | |
118 <programlisting>(II) Loading extension XVideo</programlisting> | |
119 in <filename>/var/log/XFree86.0.log</filename> | |
120 <note><para> | |
121 This loads only the XFree86's extension. In a good install, this is | |
122 always loaded, and doesn't mean that the <emphasis role="bold">card's</emphasis> | |
123 XVideo support is loaded! | |
124 </para></note> | |
20862 | 125 </para></listitem> |
9675 | 126 <listitem><para> |
127 Your card has Xv support under Linux. To check, try | |
128 <command>xvinfo</command>, it is the part of the XFree86 distribution. It | |
129 should display a long text, similar to this: | |
130 <screen> | |
131 X-Video Extension version 2.2 | |
132 screen #0 | |
133 Adaptor #0: "Savage Streams Engine" | |
134 number of ports: 1 | |
135 port base: 43 | |
136 operations supported: PutImage | |
137 supported visuals: | |
138 depth 16, visualID 0x22 | |
139 depth 16, visualID 0x23 | |
140 number of attributes: 5 | |
141 (...) | |
142 Number of image formats: 7 | |
143 id: 0x32595559 (YUY2) | |
144 guid: 59555932-0000-0010-8000-00aa00389b71 | |
145 bits per pixel: 16 | |
146 number of planes: 1 | |
147 type: YUV (packed) | |
148 id: 0x32315659 (YV12) | |
149 guid: 59563132-0000-0010-8000-00aa00389b71 | |
150 bits per pixel: 12 | |
151 number of planes: 3 | |
152 type: YUV (planar) | |
153 (...etc...)<!-- | |
154 --></screen> | |
155 It must support YUY2 packed, and YV12 planar pixel formats to be usable | |
156 with <application>MPlayer</application>. | |
20862 | 157 </para></listitem> |
9675 | 158 <listitem><para> |
159 And finally, check if <application>MPlayer</application> was compiled | |
11738 | 160 with 'xv' support. Do a <command>mplayer -vo help | grep xv </command>. |
11520
dd17c00dff68
Commands should be in <command> tags, better wording.
diego
parents:
11504
diff
changeset
|
161 If 'xv' support was built a line similar to this should appear: |
11504 | 162 <screen> |
163 xv X11/Xv<!-- | |
164 --></screen> | |
20862 | 165 </para></listitem> |
9675 | 166 </orderedlist> |
167 </para> | |
168 | |
20862 | 169 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
170 <sect3 id="tdfx"> |
9675 | 171 <title>3dfx cards</title> |
172 | |
173 <para> | |
174 Older 3dfx drivers were known to have problems with XVideo acceleration, it | |
20857 | 175 didn't support YUY2 or YV12 colorspaces. Verify that you have XFree86 |
176 version 4.2.0 or later, it can handle YV12 and YUY2 while previous | |
177 versions, including 4.1.0, <emphasis role="bold">crash with YV12</emphasis>. | |
11136 | 178 If you experience strange effects using <option>-vo xv</option>, try SDL |
179 (it has XVideo, too) and see if it helps. Check the | |
11483 | 180 <link linkend="sdl">SDL</link> section for details. |
9675 | 181 </para> |
182 | |
183 <para> | |
184 <emphasis role="bold">OR</emphasis>, try the NEW | |
185 <option>-vo tdfxfb</option> driver! See the <link linkend="tdfxfb">tdfxfb</link> | |
186 section. | |
187 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
188 </sect3> |
9675 | 189 |
190 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
191 <sect3 id="s3"> |
9675 | 192 <title>S3 cards</title> |
193 | |
194 <para> | |
195 S3 Savage3D's should work fine, but for Savage4, use XFree86 version 4.0.3 | |
196 or greater (in case of image problems, try 16bpp). As for S3 Virge: there is | |
197 xv support, but the card itself is very slow, so you better sell it. | |
198 </para> | |
20862 | 199 |
18535
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
17559
diff
changeset
|
200 <para> |
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
17559
diff
changeset
|
201 There is now a native framebuffer driver for S3 Virge cards similiar to |
18547 | 202 tdfxfb. Set up your framebuffer (e.g. append |
20857 | 203 "<option>vga=792 video=vesa:mtrr</option>" to your kernel comand line) and use |
18535
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
17559
diff
changeset
|
204 <option>-vo s3fb</option> (<option>-vf yuy2</option> and <option>-dr</option> |
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
17559
diff
changeset
|
205 will also help). |
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
17559
diff
changeset
|
206 </para> |
9675 | 207 |
208 <note> | |
209 <para> | |
210 It's currently unclear which Savage models lack YV12 support, and convert by | |
211 driver (slow). If you suspect your card, get a newer driver, or ask politely | |
15029 | 212 on the MPlayer-users mailing list for an MMX/3DNow! enabled driver. |
9675 | 213 </para> |
214 </note> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
215 </sect3> |
9675 | 216 |
217 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
218 <sect3 id="nvidia"> |
9675 | 219 <title>nVidia cards</title> |
220 | |
221 <para> | |
19736
f7ad44a81a2c
Remove reference to nvidia-opinions section, it's completely outdated.
diego
parents:
19734
diff
changeset
|
222 nVidia isn't always a very good choice under Linux ... XFree86's |
11065 | 223 open-source driver supports most of these cards, but for some cases, you'll |
12815 | 224 have to use the binary closed-source nVidia driver, available at |
11524 | 225 <ulink url="http://www.nvidia.com/object/linux.html">nVidia's web site</ulink>. |
226 You'll always need this driver if you want 3D acceleration, too. | |
9675 | 227 </para> |
228 | |
229 <para> | |
11065 | 230 Riva128 cards don't have XVideo support with XFree86's nVidia driver :( |
231 Complain to nVidia. | |
9675 | 232 </para> |
233 | |
234 <para> | |
11540 | 235 However, <application>MPlayer</application> contains a |
236 <link linkend="vidix">VIDIX</link> driver for most nVidia cards. Currently it | |
237 is in beta stage, and has some drawbacks. For more information, see | |
238 <link linkend="vidix-nvidia">nVidia VIDIX</link> section. | |
9675 | 239 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
240 </sect3> |
9675 | 241 |
242 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
243 <sect3 id="ati"> |
9675 | 244 <title>ATI cards</title> |
245 | |
246 <para> | |
14113 | 247 The <ulink url="http://gatos.sf.net">GATOS driver</ulink> |
9675 | 248 (which you should use, unless you have Rage128 or Radeon) has VSYNC enabled |
249 by default. It means that decoding speed (!) is synced to the monitor's | |
250 refresh rate. If playing seems to be slow, try disabling VSYNC somehow, or | |
251 set refresh rate to a n*(fps of the movie) Hz. | |
252 </para> | |
253 | |
254 <para> | |
10132 | 255 Radeon VE - if you need X, use XFree86 4.2.0 or greater for this card. |
256 No TV out support. Of course with <application>MPlayer</application> you can | |
9675 | 257 happily get <emphasis role="bold">accelerated</emphasis> display, with or without |
258 <emphasis role="bold">TV output</emphasis>, and no libraries or X are needed. | |
259 Read the <link linkend="vidix">VIDIX</link> section. | |
260 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
261 </sect3> |
9675 | 262 |
263 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
264 <sect3 id="neomagic"> |
9675 | 265 <title>NeoMagic cards</title> |
266 | |
267 <para> | |
10132 | 268 These cards can be found in many laptops. You must use XFree86 4.3.0 or |
269 above, or else use Stefan Seyfried's | |
10068 | 270 <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-capable drivers</ulink>. |
10132 | 271 Just choose the one that applies to your version of XFree86. |
10068 | 272 </para> |
273 | |
274 <para> | |
275 XFree86 4.3.0 includes Xv support, yet Bohdan Horst sent a small | |
276 <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">patch</ulink> | |
10132 | 277 against the XFree86 sources that speeds up framebuffer operations (so XVideo) |
278 up to four times. The patch has been included in XFree86 CVS and should be in the | |
279 next release after 4.3.0. | |
9675 | 280 </para> |
281 | |
282 <para> | |
283 To allow playback of DVD sized content change your XF86Config like this: | |
284 <programlisting> | |
285 Section "Device" | |
286 [...] | |
287 Driver "neomagic" | |
288 <emphasis>Option "OverlayMem" "829440"</emphasis> | |
289 [...] | |
290 EndSection<!-- | |
291 --></programlisting> | |
292 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
293 </sect3> |
9675 | 294 |
295 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
296 <sect3 id="trident"> |
9675 | 297 <title>Trident cards</title> |
20862 | 298 |
9675 | 299 <para> |
14319 | 300 If you want to use Xv with a Trident card, provided that it doesn't work |
11497 | 301 with 4.1.0, install XFree 4.2.0. 4.2.0 adds support for fullscreen Xv |
9675 | 302 support with the Cyberblade XP card. |
303 </para> | |
11079
d4df1e5e5e49
the author's homepage points to us as the latest driver's source, so we
gabucino
parents:
11067
diff
changeset
|
304 |
d4df1e5e5e49
the author's homepage points to us as the latest driver's source, so we
gabucino
parents:
11067
diff
changeset
|
305 <para> |
11540 | 306 Alternatively, <application>MPlayer</application> contains a |
307 <link linkend="vidix">VIDIX</link> driver for the Cyberblade/i1 card. | |
11079
d4df1e5e5e49
the author's homepage points to us as the latest driver's source, so we
gabucino
parents:
11067
diff
changeset
|
308 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
309 </sect3> |
9675 | 310 |
311 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
312 <sect3 id="kyro"> |
9675 | 313 <title>Kyro/PowerVR cards</title> |
20862 | 314 |
9675 | 315 <para> |
316 If you want to use Xv with a Kyro based card (for example Hercules | |
317 Prophet 4000XT), you should download the drivers from the | |
318 <ulink url="http://www.powervr.com/">PowerVR site</ulink> | |
319 </para> | |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
320 </sect3> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
321 </sect2> |
9675 | 322 |
323 <!-- ********** --> | |
324 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
325 <sect2 id="dga"> |
9675 | 326 <title>DGA</title> |
327 | |
328 <formalpara> | |
329 <title>PREAMBLE</title> | |
330 <para> | |
331 This document tries to explain in some words what DGA is in general and | |
332 what the DGA video output driver for <application>MPlayer</application> | |
333 can do (and what it can't). | |
334 </para> | |
335 </formalpara> | |
336 | |
337 <formalpara> | |
338 <title>WHAT IS DGA</title> | |
339 <para> | |
340 <acronym>DGA</acronym> is short for <emphasis>Direct Graphics | |
341 Access</emphasis> and is a means for a program to bypass the X server and | |
14318 | 342 directly modifying the framebuffer memory. Technically spoken this happens |
9675 | 343 by mapping the framebuffer memory into the memory range of your process. |
344 This is allowed by the kernel only if you have superuser privileges. You | |
345 can get these either by logging in as <systemitem | |
346 class="username">root</systemitem> or by setting the SUID bit on the | |
347 <application>MPlayer</application> executable (<emphasis role="bold">not | |
348 recommended</emphasis>). | |
349 </para> | |
350 </formalpara> | |
351 <para> | |
352 There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was | |
353 introduced with XFree 4.0.1. | |
354 </para> | |
355 | |
356 <para> | |
357 DGA1 provides only direct framebuffer access as described above. For | |
358 switching the resolution of the video signal you have to rely on the | |
359 XVidMode extension. | |
360 </para> | |
361 | |
362 <para> | |
363 DGA2 incorporates the features of XVidMode extension and also allows | |
364 switching the depth of the display. So you may, although basically | |
365 running a 32 bit depth X server, switch to a depth of 15 bits and vice | |
366 versa. | |
367 </para> | |
368 | |
369 <para> | |
370 However DGA has some drawbacks. It seems it is somewhat dependent on the | |
371 graphics chip you use and on the implementation of the X server's video | |
372 driver that controls this chip. So it does not work on every system... | |
373 </para> | |
374 | |
375 <formalpara> | |
376 <title>INSTALLING DGA SUPPORT FOR MPLAYER</title> | |
377 | |
378 <para> | |
379 First make sure X loads the DGA extension, see in | |
380 <filename>/var/log/XFree86.0.log</filename>: | |
381 | |
382 <programlisting>(II) Loading extension XFree86-DGA</programlisting> | |
383 | |
11499 | 384 See, XFree86 4.0.x or greater is <emphasis role="bold">highly recommended</emphasis>! |
9675 | 385 <application>MPlayer</application>'s DGA driver is autodetected by |
386 <filename>./configure</filename>, or you can force it | |
387 with <option>--enable-dga</option>. | |
388 </para> | |
389 </formalpara> | |
390 | |
391 <para> | |
392 If the driver couldn't switch to a smaller resolution, experiment with | |
393 options <option>-vm</option> (only with X 3.3.x), <option>-fs</option>, | |
394 <option>-bpp</option>, <option>-zoom</option> to find a video mode that | |
395 the movie fits in. There is no converter right now :( | |
396 </para> | |
397 | |
398 <para> | |
399 Become <systemitem class="username">root</systemitem>. DGA needs root | |
400 access to be able to write directly video memory. If you want to run it as | |
401 user, then install <application>MPlayer</application> SUID root: | |
402 | |
403 <screen> | |
11713 | 404 chown root <replaceable>/usr/local/bin/mplayer</replaceable> |
405 chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable> | |
406 chmod +s <replaceable>/usr/local/bin/mplayer</replaceable> | |
9675 | 407 </screen> |
408 | |
409 Now it works as a simple user, too. | |
410 </para> | |
411 | |
412 <caution> | |
413 <title>Security risk</title> | |
414 <para> | |
10111 | 415 This is a <emphasis role="bold">big</emphasis> security risk! |
11497 | 416 <emphasis role="bold">Never</emphasis> do this on a server or on a computer that can be |
10111 | 417 accessed by other people because they can gain root privileges through SUID root |
9675 | 418 <application>MPlayer</application>. |
419 </para> | |
420 </caution> | |
421 | |
422 <para> | |
423 Now use <option>-vo dga</option> option, and there you go! (hope so:) You | |
17496 | 424 should also try if the <option>-vo sdl:driver=dga</option> option works for you! |
9675 | 425 It's much faster! |
426 </para> | |
427 | |
428 | |
429 <formalpara id="dga-modelines"> | |
430 <title>RESOLUTION SWITCHING</title> | |
431 | |
432 <para> | |
433 The DGA driver allows for switching the resolution of the output signal. | |
434 This avoids the need for doing (slow) software scaling and at the same time | |
435 provides a fullscreen image. Ideally it would switch to the exact | |
436 resolution (except for honoring aspect ratio) of the video data, but the X | |
437 server only allows switching to resolutions predefined in | |
438 <filename>/etc/X11/XF86Config</filename> | |
439 (<filename>/etc/X11/XF86Config-4</filename> for XFree 4.X.X respectively). | |
440 Those are defined by so-called modelines and depend on | |
441 the capabilities of your video hardware. The X server scans this config | |
442 file on startup and disables the modelines not suitable for your hardware. | |
443 You can find out which modes survive with the X11 log file. It can be found | |
444 at: <filename>/var/log/XFree86.0.log</filename>. | |
445 </para> | |
446 </formalpara> | |
447 | |
448 <para> | |
449 These entries are known to work fine with a Riva128 chip, using the nv.o X | |
450 server driver module. | |
451 </para> | |
452 | |
453 <para><programlisting> | |
454 Section "Modes" | |
455 Identifier "Modes[0]" | |
456 Modeline "800x600" 40 800 840 968 1056 600 601 605 628 | |
457 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 | |
458 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 | |
459 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan | |
460 Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 | |
461 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan | |
462 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan | |
463 EndSection | |
464 </programlisting></para> | |
465 | |
466 | |
467 <formalpara> | |
468 <title>DGA & MPLAYER</title> | |
469 <para> | |
470 DGA is used in two places with <application>MPlayer</application>: The SDL | |
17496 | 471 driver can be made to make use of it (<option>-vo sdl:driver=dga</option>) and |
9675 | 472 within the DGA driver (<option>-vo dga</option>). The above said is true |
473 for both; in the following sections I'll explain how the DGA driver for | |
474 <application>MPlayer</application> works. | |
475 </para> | |
476 </formalpara> | |
477 | |
478 | |
479 <formalpara> | |
480 <title>FEATURES</title> | |
481 | |
482 <para> | |
483 The DGA driver is invoked by specifying <option>-vo dga</option> at the | |
14318 | 484 command line. The default behavior is to switch to a resolution matching |
9675 | 485 the original resolution of the video as close as possible. It deliberately |
486 ignores the <option>-vm</option> and <option>-fs</option> options | |
487 (enabling of video mode switching and fullscreen) - it always tries to | |
488 cover as much area of your screen as possible by switching the video mode, | |
13908
befd295c58d3
small clarification and syntactic fix (approved by Diego)
rathann
parents:
13490
diff
changeset
|
489 thus refraining from using additional cycles of your CPU to scale the |
9675 | 490 image. If you don't like the mode it chooses you may force it to choose |
491 the mode matching closest the resolution you specify by <option>-x</option> | |
492 and <option>-y</option>. By providing the <option>-v</option> option, the | |
493 DGA driver will print, among a lot of other things, a list of all | |
494 resolutions supported by your current <filename>XF86Config</filename> file. | |
495 Having DGA2 you may also force it to use a certain depth by using the | |
496 <option>-bpp</option> option. Valid depths are 15, 16, 24 and 32. It | |
497 depends on your hardware whether these depths are natively supported or if | |
498 a (possibly slow) conversion has to be done. | |
499 </para> | |
500 </formalpara> | |
501 <para> | |
502 If you should be lucky enough to have enough offscreen memory left to | |
13082 | 503 put a whole image there, the DGA driver will use double buffering, which |
13087 | 504 results in much smoother movie playback. It will tell you whether |
13082 | 505 double buffering is enabled or not. |
9675 | 506 </para> |
507 | |
508 <para> | |
13082 | 509 Double buffering means that the next frame of your video is being drawn in |
9675 | 510 some offscreen memory while the current frame is being displayed. When the |
511 next frame is ready, the graphics chip is just told the location in memory | |
512 of the new frame and simply fetches the data to be displayed from there. | |
513 In the meantime the other buffer in memory will be filled again with new | |
514 video data. | |
515 </para> | |
516 | |
517 <para> | |
13082 | 518 Double buffering may be switched on by using the option |
9675 | 519 <option>-double</option> and may be disabled with |
520 <option>-nodouble</option>. Current default option is to disable | |
13082 | 521 double buffering. When using the DGA driver, onscreen display (OSD) only |
522 works with double buffering enabled. However, enabling double buffering may | |
9675 | 523 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% |
524 of CPU time!) depending on the implementation of DGA for your hardware. | |
525 </para> | |
526 | |
527 | |
528 <formalpara> | |
529 <title>SPEED ISSUES</title> | |
530 | |
531 <para> | |
532 Generally spoken, DGA framebuffer access should be at least as fast as | |
533 using the X11 driver with the additional benefit of getting a fullscreen | |
14318 | 534 image. The percentage speed values printed by |
9675 | 535 <application>MPlayer</application> have to be interpreted with some care, |
536 as for example, with the X11 driver they do not include the time used by | |
537 the X server needed for the actual drawing. Hook a terminal to a serial | |
538 line of your box and start <command>top</command> to see what is really | |
539 going on in your box. | |
540 </para> | |
541 </formalpara> | |
542 | |
543 <para> | |
544 Generally spoken, the speedup done by using DGA against 'normal' use of X11 | |
545 highly depends on your graphics card and how well the X server module for it | |
546 is optimized. | |
547 </para> | |
548 | |
549 <para> | |
550 If you have a slow system, better use 15 or 16 bit depth since they require | |
551 only half the memory bandwidth of a 32 bit display. | |
552 </para> | |
553 | |
554 <para> | |
555 Using a depth of 24 bit is even a good idea if your card natively just supports | |
556 32 bit depth since it transfers 25% less data compared to the 32/32 mode. | |
557 </para> | |
558 | |
559 <para> | |
13087 | 560 I've seen some AVI files be played back on a Pentium MMX 266. AMD K6-2 |
9675 | 561 CPUs might work at 400 MHZ and above. |
562 </para> | |
563 | |
564 | |
565 <formalpara> | |
566 <title>KNOWN BUGS</title> | |
567 | |
568 <para> | |
569 Well, according to some developers of XFree, DGA is quite a beast. They | |
570 tell you better not to use it. Its implementation is not always flawless | |
571 with every chipset driver for XFree out there. | |
572 </para> | |
573 </formalpara> | |
574 | |
575 <itemizedlist> | |
576 <listitem><simpara> | |
577 With XFree 4.0.3 and <filename>nv.o</filename> there is a bug resulting | |
578 in strange colors. | |
20862 | 579 </simpara></listitem> |
9675 | 580 <listitem><simpara> |
581 ATI driver requires to switch mode back more than once after finishing | |
582 using of DGA. | |
20862 | 583 </simpara></listitem> |
9675 | 584 <listitem><simpara> |
585 Some drivers simply fail to switch back to normal resolution (use | |
586 <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap> and | |
587 <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap> | |
588 to switch back manually). | |
20862 | 589 </simpara></listitem> |
9675 | 590 <listitem><simpara> |
591 Some drivers simply display strange colors. | |
20862 | 592 </simpara></listitem> |
9675 | 593 <listitem><simpara> |
594 Some drivers lie about the amount of memory they map into the process's | |
13082 | 595 address space, thus vo_dga won't use double buffering (SIS?). |
20862 | 596 </simpara></listitem> |
9675 | 597 <listitem><simpara> |
598 Some drivers seem to fail to report even a single valid mode. In this | |
599 case the DGA driver will crash telling you about a nonsense mode of | |
600 100000x100000 or something like that. | |
20862 | 601 </simpara></listitem> |
9675 | 602 <listitem><simpara> |
13082 | 603 OSD only works with double buffering enabled (else it flickers). |
20862 | 604 </simpara></listitem> |
9675 | 605 </itemizedlist> |
606 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
607 </sect2> |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
608 <!--</sect1>--> |
9675 | 609 |
610 <!-- ********** --> | |
611 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
612 <sect2 id="sdl"> |
9675 | 613 <title>SDL</title> |
614 | |
615 <para> | |
10111 | 616 <acronym>SDL</acronym> (Simple Directmedia Layer) is basically a unified |
9675 | 617 video/audio interface. Programs that use it know only about SDL, and not |
14318 | 618 about what video or audio driver does SDL actually use. For example a Doom |
9675 | 619 port using SDL can run on svgalib, aalib, X, fbdev, and others, you only |
620 have to specify the (for example) video driver to use with the | |
621 <envar>SDL_VIDEODRIVER</envar> environment variable. Well, in theory. | |
622 </para> | |
623 | |
624 <para> | |
625 With <application>MPlayer</application>, we used its X11 driver's software | |
626 scaler ability for cards/drivers that doesn't support XVideo, until we made | |
627 our own (faster, nicer) software scaler. Also we used its aalib output, but | |
628 now we have ours which is more comfortable. Its DGA mode was better than | |
629 ours, until recently. Get it now? :) | |
630 </para> | |
631 | |
632 <para> | |
633 It also helps with some buggy drivers/cards if the video is jerky (not slow | |
634 system problem), or audio is lagging. | |
635 </para> | |
636 | |
637 <para> | |
638 SDL video output supports displaying subtitles under the movie, on the (if | |
639 present) black bar. | |
640 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
641 </sect2> |
9675 | 642 |
20862 | 643 <!-- ********** --> |
9675 | 644 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
645 <sect2 id="svgalib"> |
9675 | 646 <title>SVGAlib</title> |
647 | |
648 <formalpara> | |
649 <title>INSTALLATION</title> | |
650 <para> | |
651 You'll have to install svgalib and its development package in order for | |
652 <application>MPlayer</application> build its SVGAlib driver (autodetected, | |
653 but can be forced), and don't forget to edit | |
654 <filename>/etc/vga/libvga.config</filename> to suit your card and monitor. | |
655 </para> | |
656 </formalpara> | |
657 | |
658 <note> | |
659 <para> | |
660 Be sure not to use the <option>-fs</option> switch, since it toggles the | |
661 usage of the software scaler, and it's slow. If you really need it, use the | |
662 <option>-sws 4</option> option which will produce bad quality, but is | |
663 somewhat faster. | |
664 </para> | |
665 </note> | |
666 | |
20862 | 667 <formalpara> |
668 <title>EGA (4BPP) SUPPORT</title> | |
9675 | 669 <para> |
670 SVGAlib incorporates EGAlib, and <application>MPlayer</application> has the | |
671 possibility to display any movie in 16 colors, thus usable in the following | |
672 sets: | |
673 </para> | |
674 </formalpara> | |
675 | |
676 <itemizedlist> | |
677 <listitem><simpara> | |
678 EGA card with EGA monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp | |
20862 | 679 </simpara></listitem> |
9675 | 680 <listitem><simpara> |
681 EGA card with CGA monitor: 320x200x4bpp, 640x200x4bpp | |
20862 | 682 </simpara></listitem> |
9675 | 683 </itemizedlist> |
684 | |
685 <para> | |
686 The bpp (bits per pixel) value must be set to 4 by hand: | |
687 <option>-bpp 4</option> | |
688 </para> | |
689 | |
690 <para> | |
691 The movie probably must be scaled down to fit in EGA mode: | |
9677 | 692 <screen>-vf scale=640:350</screen> |
9675 | 693 or |
9677 | 694 <screen>-vf scale=320:200</screen> |
9675 | 695 </para> |
696 | |
697 <para> | |
698 For that we need fast but bad quality scaling routine: | |
699 <screen>-sws 4</screen> | |
700 </para> | |
701 | |
702 <para> | |
703 Maybe automatic aspect correction has to be shut off: | |
704 <screen>-noaspect</screen> | |
705 </para> | |
706 | |
707 <note><para> | |
9683 | 708 According to my experience the best image quality on |
9675 | 709 EGA screens can be achieved by decreasing the brightness a bit: |
9677 | 710 <option>-vf eq=-20:0</option>. I also needed to lower the audio |
9675 | 711 samplerate on my box, because the sound was broken on 44kHz: |
712 <option>-srate 22050</option>. | |
713 </para></note> | |
714 | |
715 <para> | |
11214 | 716 You can turn on OSD and subtitles only with the <option>expand</option> |
9675 | 717 filter, see the man page for exact parameters. |
718 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
719 </sect2> |
9675 | 720 |
20862 | 721 <!-- ********** --> |
9675 | 722 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
723 <sect2 id="fbdev"> |
9675 | 724 <title>Framebuffer output (FBdev)</title> |
725 | |
726 <para> | |
727 Whether to build the FBdev target is autodetected during | |
10111 | 728 <filename>./configure</filename>. Read the framebuffer documentation in |
9675 | 729 the kernel sources (<filename>Documentation/fb/*</filename>) for more |
730 information. | |
731 </para> | |
732 | |
733 <para> | |
734 If your card doesn't support VBE 2.0 standard (older ISA/PCI cards, such as | |
735 S3 Trio64), only VBE 1.2 (or older?): Well, VESAfb is still available, but | |
736 you'll have to load SciTech Display Doctor (formerly UniVBE) before booting | |
737 Linux. Use a DOS boot disk or whatever. And don't forget to register your | |
738 UniVBE ;)) | |
739 </para> | |
740 | |
741 <para> | |
742 The FBdev output takes some additional parameters above the others: | |
743 </para> | |
744 | |
745 <variablelist> | |
746 <varlistentry> | |
747 <term><option>-fb</option></term> | |
748 <listitem><simpara> | |
18649 | 749 specify the framebuffer device to use (default: <filename>/dev/fb0</filename>) |
20862 | 750 </simpara></listitem> |
9675 | 751 </varlistentry> |
752 <varlistentry> | |
753 <term><option>-fbmode</option></term> | |
754 <listitem><simpara> | |
755 mode name to use (according to <filename>/etc/fb.modes</filename>) | |
20862 | 756 </simpara></listitem> |
9675 | 757 </varlistentry> |
758 <varlistentry> | |
759 <term><option>-fbmodeconfig</option></term> | |
760 <listitem><simpara> | |
18649 | 761 config file of modes (default: <filename>/etc/fb.modes</filename>) |
20862 | 762 </simpara></listitem> |
9675 | 763 </varlistentry> |
764 <varlistentry> | |
11287 | 765 <term><option>-monitor-hfreq</option></term> |
766 <term><option>-monitor-vfreq</option></term> | |
767 <term><option>-monitor-dotclock</option></term> | |
9675 | 768 <listitem><simpara> |
769 <emphasis role="bold">important</emphasis> values, see | |
770 <filename>example.conf</filename> | |
20862 | 771 </simpara></listitem> |
9675 | 772 </varlistentry> |
773 </variablelist> | |
774 | |
775 <para> | |
776 If you want to change to a specific mode, then use | |
11713 | 777 <screen> |
778 mplayer -vm -fbmode <replaceable>name_of_mode</replaceable> <replaceable>filename</replaceable> | |
779 </screen> | |
9675 | 780 </para> |
781 | |
782 <itemizedlist> | |
783 <listitem><para> | |
784 <option>-vm</option> alone will choose the most suitable mode from | |
785 <filename>/etc/fb.modes</filename>. Can be used together with | |
786 <option>-x</option> and <option>-y</option> options too. The | |
787 <option>-flip</option> option is supported only if the movie's pixel | |
10132 | 788 format matches the video mode's pixel format. Pay attention to the bpp |
9675 | 789 value, fbdev driver tries to use the current, or if you specify the |
790 <option>-bpp</option> option, then that. | |
20862 | 791 </para></listitem> |
9675 | 792 <listitem><para> |
10132 | 793 <option>-zoom</option> option isn't supported (use <option>-vf scale</option>). |
794 You can't use 8bpp (or less) modes. | |
20862 | 795 </para></listitem> |
9675 | 796 <listitem><para> |
797 You possibly want to turn the cursor off: | |
798 <screen>echo -e '\033[?25l'</screen> | |
799 or | |
800 <screen>setterm -cursor off</screen> | |
801 and the screen saver: | |
802 <screen>setterm -blank 0</screen> | |
803 To turn the cursor back on: | |
804 <screen>echo -e '\033[?25h'</screen> | |
805 or | |
806 <screen>setterm -cursor on</screen> | |
20862 | 807 </para></listitem> |
9675 | 808 </itemizedlist> |
809 | |
810 <note> | |
811 <para> | |
812 FBdev video mode changing <emphasis>does not work</emphasis> with the VESA | |
813 framebuffer, and don't ask for it, since it's not an | |
814 <application>MPlayer</application> limitation. | |
815 </para> | |
816 </note> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
817 </sect2> |
9675 | 818 |
20862 | 819 <!-- ********** --> |
9675 | 820 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
821 <sect2 id="mga_vid"> |
9675 | 822 <title>Matrox framebuffer (mga_vid)</title> |
823 | |
824 <para> | |
825 This section is about the Matrox G200/G400/G450/G550 BES (Back-End Scaler) | |
19076 | 826 support, the <systemitem>mga_vid</systemitem> kernel driver. |
827 It has hardware VSYNC support with triple buffering. It works on both | |
9675 | 828 framebuffer console and under X. |
829 </para> | |
830 | |
831 <warning> | |
832 <para> | |
833 This is Linux only! On non-Linux (tested on FreeBSD) systems, you can use | |
834 <link linkend="vidix">VIDIX</link> instead! | |
835 </para> | |
836 </warning> | |
837 | |
838 <procedure> | |
839 <title>Installation:</title> | |
840 <step><para> | |
841 To use it, you first have to compile <filename>mga_vid.o</filename>: | |
842 <screen> | |
843 cd drivers | |
844 make<!-- | |
845 --></screen> | |
20862 | 846 </para></step> |
9675 | 847 <step><para> |
848 Then create <filename>/dev/mga_vid</filename> device: | |
849 <screen>mknod /dev/mga_vid c 178 0</screen> | |
850 and load the driver with | |
851 <screen>insmod mga_vid.o</screen> | |
20862 | 852 </para></step> |
9675 | 853 <step><para> |
854 You should verify the memory size detection using the | |
855 <command>dmesg</command> command. If it's bad, use the | |
856 <option>mga_ram_size</option> option | |
857 (<command>rmmod mga_vid</command> first), | |
858 specify card's memory size in MB: | |
859 <screen>insmod mga_vid.o mga_ram_size=16</screen> | |
20862 | 860 </para></step> |
9675 | 861 <step><para> |
862 To make it load/unload automatically when needed, first insert the | |
863 following line at the end of <filename>/etc/modules.conf</filename>: | |
12815 | 864 |
9675 | 865 <programlisting>alias char-major-178 mga_vid</programlisting> |
866 | |
867 Then copy the <filename>mga_vid.o</filename> module to the appropriate | |
868 place under <filename>/lib/modules/<replaceable>kernel | |
869 version</replaceable>/<replaceable>somewhere</replaceable></filename>. | |
870 </para><para> | |
871 Then run | |
872 <screen>depmod -a</screen> | |
20862 | 873 </para></step> |
9675 | 874 <step><para> |
875 Now you have to (re)compile <application>MPlayer</application>, | |
876 <filename>./configure</filename> will detect | |
877 <filename>/dev/mga_vid</filename> and build the 'mga' driver. Using it | |
878 from <application>MPlayer</application> goes by <option>-vo mga</option> | |
879 if you have matroxfb console, or <option>-vo xmga</option> under XFree86 | |
880 3.x.x or 4.x.x. | |
20862 | 881 </para></step> |
9675 | 882 </procedure> |
883 | |
884 <para> | |
885 The mga_vid driver cooperates with Xv. | |
886 </para> | |
887 | |
888 <para> | |
889 The <filename>/dev/mga_vid</filename> device file can be read for some | |
890 info, for example by | |
891 <screen>cat /dev/mga_vid</screen> | |
892 and can be written for brightness change: | |
893 <screen>echo "brightness=120" > /dev/mga_vid</screen> | |
894 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
895 </sect2> |
9675 | 896 |
20862 | 897 <!-- ********** --> |
9675 | 898 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
899 <sect2 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)"> |
9675 | 900 <title>3Dfx YUV support</title> |
20862 | 901 |
9675 | 902 <para> |
903 This driver uses the kernel's tdfx framebuffer driver to play movies with | |
904 YUV acceleration. You'll need a kernel with tdfxfb support, and recompile | |
905 with | |
906 <screen>./configure --enable-tdfxfb</screen> | |
907 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
908 </sect2> |
9675 | 909 |
20862 | 910 <!-- ********** --> |
9675 | 911 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
912 <sect2 id="opengl"> |
9675 | 913 <title>OpenGL output</title> |
914 | |
915 <para> | |
916 <application>MPlayer</application> supports displaying movies using OpenGL, | |
917 but if your platform/driver supports xv as should be the case on a PC with | |
918 Linux, use xv instead, OpenGL performance is considerably worse. If you | |
919 have an X11 implementation without xv support, OpenGL is a viable | |
920 alternative. | |
921 </para> | |
922 | |
923 <para> | |
924 Unfortunately not all drivers support this feature. The Utah-GLX drivers | |
925 (for XFree86 3.3.6) support it for all cards. | |
13977 | 926 See <ulink url="http://utah-glx.sf.net"/> for details about how to |
9675 | 927 install it. |
928 </para> | |
929 | |
930 <para> | |
931 XFree86(DRI) 4.0.3 or later supports OpenGL with Matrox and Radeon cards, | |
932 4.2.0 or later supports Rage128. | |
13977 | 933 See <ulink url="http://dri.sf.net"/> for download and installation |
9675 | 934 instructions. |
935 </para> | |
10526 | 936 |
937 <para> | |
938 A hint from one of our users: the GL video output can be used to get | |
939 vsynced TV output. You'll have to set an environment variable (at | |
940 least on nVidia): | |
941 </para> | |
942 | |
943 <para> | |
20857 | 944 <command>export __GL_SYNC_TO_VBLANK=1</command> |
10526 | 945 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
946 </sect2> |
9675 | 947 |
20862 | 948 <!-- ********** --> |
9675 | 949 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
950 <sect2 id="aalib"> |
9675 | 951 <title>AAlib - text mode displaying</title> |
952 | |
953 <para> | |
954 AAlib is a library for displaying graphics in text mode, using powerful | |
955 ASCII renderer. There are <emphasis>lots</emphasis> of programs already | |
956 supporting it, like Doom, Quake, etc. <application>MPlayer</application> | |
10111 | 957 contains a very usable driver for it. If <filename>./configure</filename> |
9675 | 958 detects aalib installed, the aalib libvo driver will be built. |
959 </para> | |
960 | |
961 <para> | |
962 You can use some keys in the AA Window to change rendering options: | |
963 </para> | |
964 | |
965 <informaltable> | |
966 <tgroup cols="2"> | |
967 <thead> | |
968 <row><entry>Key</entry><entry>Action</entry></row> | |
969 </thead> | |
970 <tbody> | |
971 <row><entry><keycap>1</keycap></entry><entry> | |
972 decrease contrast | |
20862 | 973 </entry></row> |
9675 | 974 <row><entry><keycap>2</keycap></entry><entry> |
975 increase contrast | |
20862 | 976 </entry></row> |
9675 | 977 <row><entry><keycap>3</keycap></entry><entry> |
978 decrease brightness | |
20862 | 979 </entry></row> |
9675 | 980 <row><entry><keycap>4</keycap></entry><entry> |
981 increase brightness | |
20862 | 982 </entry></row> |
9675 | 983 <row><entry><keycap>5</keycap></entry><entry> |
984 switch fast rendering on/off | |
20862 | 985 </entry></row> |
9675 | 986 <row><entry><keycap>6</keycap></entry><entry> |
987 set dithering mode (none, error distribution, Floyd Steinberg) | |
20862 | 988 </entry></row> |
9675 | 989 <row><entry><keycap>7</keycap></entry><entry> |
990 invert image | |
20862 | 991 </entry></row> |
9675 | 992 <row><entry><keycap>8</keycap></entry><entry> |
993 toggles between aa and <application>MPlayer</application> control | |
20862 | 994 </entry></row> |
9675 | 995 </tbody> |
996 </tgroup> | |
997 </informaltable> | |
998 | |
999 <variablelist> | |
1000 <title>The following command line options can be used:</title> | |
1001 <varlistentry> | |
1002 <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term> | |
1003 <listitem><para> | |
1004 change OSD color | |
20862 | 1005 </para></listitem> |
9675 | 1006 </varlistentry> |
1007 <varlistentry> | |
1008 <term><option>-aasubcolor=<replaceable>V</replaceable></option></term> | |
1009 <listitem><para> | |
18649 | 1010 Change subtitle color |
9675 | 1011 </para><para> |
1012 where <replaceable>V</replaceable> can be: | |
1013 <literal>0</literal> (normal), | |
1014 <literal>1</literal> (dark), | |
1015 <literal>2</literal> (bold), | |
1016 <literal>3</literal> (bold font), | |
1017 <literal>4</literal> (reverse), | |
1018 <literal>5</literal> (special). | |
20862 | 1019 </para></listitem> |
9675 | 1020 </varlistentry> |
1021 </variablelist> | |
1022 | |
1023 <variablelist> | |
1024 <title>AAlib itself provides a large sum of options. Here are some | |
1025 important:</title> | |
1026 <varlistentry> | |
1027 <term><option>-aadriver</option></term> | |
1028 <listitem><simpara> | |
18649 | 1029 Set recommended aa driver (X11, curses, Linux). |
20862 | 1030 </simpara></listitem> |
9675 | 1031 </varlistentry> |
1032 <varlistentry> | |
1033 <term><option>-aaextended</option></term> | |
1034 <listitem><simpara> | |
18649 | 1035 Use all 256 characters. |
20862 | 1036 </simpara></listitem> |
9675 | 1037 </varlistentry> |
1038 <varlistentry> | |
1039 <term><option>-aaeight</option></term> | |
1040 <listitem><simpara> | |
18649 | 1041 Use eight bit ASCII. |
20862 | 1042 </simpara></listitem> |
9675 | 1043 </varlistentry> |
1044 <varlistentry> | |
1045 <term><option>-aahelp</option></term> | |
1046 <listitem><simpara> | |
18649 | 1047 Prints out all aalib options. |
20862 | 1048 </simpara></listitem> |
9675 | 1049 </varlistentry> |
1050 </variablelist> | |
1051 | |
1052 <note> | |
1053 <para> | |
1054 The rendering is very CPU intensive, especially when using AA-on-X | |
1055 (using aalib on X), and it's least CPU intensive on standard, | |
1056 non-framebuffer console. Use SVGATextMode to set up a big textmode, | |
12349 | 1057 then enjoy! (secondary head Hercules cards rock :)) (but IMHO you |
10111 | 1058 can use <option>-vf 1bpp</option> option to get graphics on hgafb:) |
9675 | 1059 </para> |
1060 </note> | |
1061 | |
1062 <para> | |
1063 Use the <option>-framedrop</option> option if your computer isn't fast | |
1064 enough to render all frames! | |
1065 </para> | |
1066 | |
1067 <para> | |
1068 Playing on terminal you'll get better speed and quality using the Linux | |
1069 driver, not curses (<option>-aadriver linux</option>). But therefore you | |
1070 need write access on | |
1071 <filename>/dev/vcsa<replaceable><terminal></replaceable></filename>! | |
1072 That isn't autodetected by aalib, but vo_aa tries to find the best mode. | |
13977 | 1073 See <ulink url="http://aa-project.sf.net/tune"/> for further |
9675 | 1074 tuning issues. |
1075 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1076 </sect2> |
9675 | 1077 |
20862 | 1078 <!-- ********** --> |
9675 | 1079 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1080 <sect2 id="caca"> |
12349 | 1081 <title><systemitem class="library">libcaca</systemitem> - Color ASCII Art library</title> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1082 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1083 <para> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1084 The <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1085 library is a graphics library that outputs text instead of pixels, so that it |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1086 can work on older video cards or text terminals. It is not unlike the famous |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1087 <systemitem class="library">AAlib</systemitem> library. |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1088 <systemitem class="library">libcaca</systemitem> needs a terminal to work, thus |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1089 it should work on all Unix systems (including Mac OS X) using either the |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1090 <systemitem class="library">slang</systemitem> library or the |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1091 <systemitem class="library">ncurses</systemitem> library, on DOS using the |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1092 <systemitem class="library">conio.h</systemitem> library, and on Windows systems |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1093 using either <systemitem class="library">slang</systemitem> or |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1094 <systemitem class="library">ncurses</systemitem> (through Cygwin emulation) or |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1095 <systemitem class="library">conio.h</systemitem>. If |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1096 <filename>./configure</filename> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1097 detects <systemitem class="library">libcaca</systemitem>, the caca libvo driver |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1098 will be built. |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1099 </para> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1100 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1101 <itemizedlist> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1102 <title>The differences with <systemitem class="library">AAlib</systemitem> are |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1103 the following:</title> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1104 <listitem><simpara> |
12349 | 1105 16 available colors for character output (256 color pairs) |
20862 | 1106 </simpara></listitem> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1107 <listitem><simpara> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1108 color image dithering |
20862 | 1109 </simpara></listitem> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1110 </itemizedlist> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1111 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1112 <itemizedlist> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1113 <title>But <systemitem class="library">libcaca</systemitem> also has the |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1114 following limitations:</title> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1115 <listitem><simpara> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1116 no support for brightness, contrast, gamma |
20862 | 1117 </simpara></listitem> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1118 </itemizedlist> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1119 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1120 <para> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1121 You can use some keys in the caca window to change rendering options: |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1122 </para> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1123 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1124 <informaltable> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1125 <tgroup cols="2"> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1126 <thead> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1127 <row><entry>Key</entry><entry>Action</entry></row> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1128 </thead> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1129 <tbody> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1130 <row><entry><keycap>d</keycap></entry><entry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1131 Toggle <systemitem class="library">libcaca</systemitem> dithering methods. |
20862 | 1132 </entry></row> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1133 <row><entry><keycap>a</keycap></entry><entry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1134 Toggle <systemitem class="library">libcaca</systemitem> antialiasing. |
20862 | 1135 </entry></row> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1136 <row><entry><keycap>b</keycap></entry><entry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1137 Toggle <systemitem class="library">libcaca</systemitem> background. |
20862 | 1138 </entry></row> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1139 </tbody> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1140 </tgroup> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1141 </informaltable> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1142 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1143 <variablelist> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1144 <title><systemitem class="library">libcaca</systemitem> will also look for certain environment variables:</title> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1145 <varlistentry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1146 <term><option>CACA_DRIVER</option></term> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1147 <listitem><simpara> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1148 Set recommended caca driver. e.g. ncurses, slang, x11. |
20862 | 1149 </simpara></listitem> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1150 </varlistentry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1151 <varlistentry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1152 <term><option>CACA_GEOMETRY (X11 only)</option></term> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1153 <listitem><simpara> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1154 Specifies the number of rows and columns. e.g. 128x50. |
20862 | 1155 </simpara></listitem> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1156 </varlistentry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1157 <varlistentry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1158 <term><option>CACA_FONT (X11 only)</option></term> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1159 <listitem><simpara> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1160 Specifies the font to use. e.g. fixed, nexus. |
20862 | 1161 </simpara></listitem> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1162 </varlistentry> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1163 </variablelist> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1164 |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1165 <para> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1166 Use the <option>-framedrop</option> option if your computer is not fast |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1167 enough to render all frames. |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1168 </para> |
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1169 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1170 </sect2> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1171 |
20862 | 1172 <!-- ********** --> |
12216
d4e2bdc246a3
-vo caca documentation, patch by Pigeon <pigeon@pigeond.net>
diego
parents:
12188
diff
changeset
|
1173 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1174 <sect2 id="vesa"> |
9675 | 1175 <title>VESA - output to VESA BIOS</title> |
1176 | |
1177 <para> | |
1178 This driver was designed and introduced as a <emphasis role="bold">generic | |
1179 driver</emphasis> for any video card which has VESA VBE 2.0 compatible | |
1180 BIOS. Another advantage of this driver is that it tries to force TV output | |
1181 on. | |
1182 <citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, | |
1183 1998</citetitle> (Page 70) says: | |
1184 </para> | |
1185 | |
1186 <blockquote> | |
1187 <formalpara><title>Dual-Controller Designs</title> | |
1188 <para> | |
1189 VBE 3.0 supports the dual-controller design by assuming that since both | |
1190 controllers are typically provided by the same OEM, under control of a | |
1191 single BIOS ROM on the same graphics card, it is possible to hide the fact | |
1192 that two controllers are indeed present from the application. This has the | |
1193 limitation of preventing simultaneous use of the independent controllers, | |
1194 but allows applications released before VBE 3.0 to operate normally. The | |
1195 VBE Function 00h (Return Controller Information) returns the combined | |
1196 information of both controllers, including the combined list of available | |
14318 | 1197 modes. When the application selects a mode, the appropriate controller is |
1198 activated. Each of the remaining VBE functions then operates on the active | |
9675 | 1199 controller. |
1200 </para> | |
1201 </formalpara> | |
1202 </blockquote> | |
1203 | |
1204 <para> | |
1205 So you have chances to get working TV-out by using this driver. | |
1206 (I guess that TV-out frequently is standalone head or standalone output | |
1207 at least.) | |
1208 </para> | |
1209 | |
1210 <itemizedlist spacing="compact"> | |
1211 <title>ADVANTAGES</title> | |
1212 <listitem><simpara> | |
1213 You have chances to watch movies <emphasis role="bold">if Linux even doesn't | |
1214 know</emphasis> your video hardware. | |
20862 | 1215 </simpara></listitem> |
9675 | 1216 <listitem><simpara> |
1217 You don't need to have installed any graphics' related things on your | |
13222 | 1218 Linux (like X11 (AKA XFree86), fbdev and so on). This driver can be run |
9675 | 1219 from <emphasis role="bold">text-mode</emphasis>. |
20862 | 1220 </simpara></listitem> |
9675 | 1221 <listitem><simpara> |
1222 You have chances to get <emphasis role="bold">working TV-out</emphasis>. | |
1223 (It's known at least for ATI's cards). | |
20862 | 1224 </simpara></listitem> |
9675 | 1225 <listitem><simpara> |
1226 This driver calls <function>int 10h</function> handler thus it's not | |
1227 an emulator - it calls <emphasis role="bold">real</emphasis> things of | |
10971
12315a6590a1
Clumsy wording improved byRuben Garcia <ruben@ugr.es> and
diego
parents:
10965
diff
changeset
|
1228 <emphasis>real</emphasis> BIOS in <emphasis>real-mode</emphasis> |
12315a6590a1
Clumsy wording improved byRuben Garcia <ruben@ugr.es> and
diego
parents:
10965
diff
changeset
|
1229 (actually in vm86 mode). |
20862 | 1230 </simpara></listitem> |
9675 | 1231 <listitem><simpara> |
1232 You can use VIDIX with it, thus getting accelerated video display | |
1233 <emphasis role="bold">and</emphasis> TV output at the same time! | |
1234 (Recommended for ATI cards.) | |
1235 </simpara></listitem> | |
10111 | 1236 <listitem><simpara> |
1237 If you have VESA VBE 3.0+, and you had specified | |
11287 | 1238 <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option> somewhere |
12349 | 1239 (config file, or command line) you will get the highest possible refresh rate. |
10111 | 1240 (Using General Timing Formula). To enable this feature you have to specify |
1241 <emphasis role="bold">all</emphasis> your monitor options. | |
20862 | 1242 </simpara></listitem> |
9675 | 1243 </itemizedlist> |
1244 | |
1245 <itemizedlist spacing="compact"> | |
1246 <title>DISADVANTAGES</title> | |
1247 <listitem><simpara> | |
1248 It works only on <emphasis role="bold">x86 systems</emphasis>. | |
20862 | 1249 </simpara></listitem> |
9675 | 1250 <listitem><simpara> |
1251 It can be used only by <systemitem class="username">root</systemitem>. | |
20862 | 1252 </simpara></listitem> |
9675 | 1253 <listitem><simpara> |
1254 Currently it's available only for <emphasis role="bold">Linux</emphasis>. | |
20862 | 1255 </simpara></listitem> |
9675 | 1256 </itemizedlist> |
1257 | |
1258 <important> | |
1259 <para> | |
1260 Don't use this driver with <emphasis role="bold">GCC 2.96</emphasis>! | |
1261 It won't work! | |
1262 </para> | |
1263 </important> | |
1264 | |
1265 <variablelist> | |
1266 <title>COMMAND LINE OPTIONS AVAILABLE FOR VESA</title> | |
1267 <varlistentry> | |
1268 <term><option>-vo vesa:<replaceable>opts</replaceable></option></term> | |
1269 <listitem><simpara> | |
1270 currently recognized: <literal>dga</literal> to force dga mode and | |
1271 <literal>nodga</literal> to disable dga mode. In dga mode you can enable | |
10111 | 1272 double buffering via the <option>-double</option> option. Note: you may omit |
1273 these parameters to enable <emphasis role="bold">autodetection</emphasis> of | |
1274 dga mode. | |
20862 | 1275 </simpara></listitem> |
9675 | 1276 </varlistentry> |
1277 </variablelist> | |
1278 | |
1279 <itemizedlist spacing="compact"> | |
1280 <title>KNOWN PROBLEMS AND WORKAROUNDS</title> | |
1281 <listitem><simpara> | |
1282 If you have installed <emphasis role="bold">NLS</emphasis> font on your | |
1283 Linux box and run VESA driver from text-mode then after terminating | |
1284 <application>MPlayer</application> you will have | |
1285 <emphasis role="bold">ROM font</emphasis> loaded instead of national. | |
1286 You can load national font again by using <command>setsysfont</command> | |
15894 | 1287 utility from the Mandrake/Mandriva distribution for example. |
9675 | 1288 (<emphasis role="bold">Hint</emphasis>: The same utility is used for |
1289 localization of fbdev). | |
20862 | 1290 </simpara></listitem> |
9675 | 1291 <listitem><simpara> |
1292 Some <emphasis role="bold">Linux graphics drivers</emphasis> don't update | |
1293 active <emphasis role="bold">BIOS mode</emphasis> in DOS memory. | |
1294 So if you have such problem - always use VESA driver only from | |
1295 <emphasis role="bold">text-mode</emphasis>. Otherwise text-mode (#03) will | |
1296 be activated anyway and you will need restart your computer. | |
20862 | 1297 </simpara></listitem> |
9675 | 1298 <listitem><simpara> |
10111 | 1299 Often after terminating VESA driver you get <emphasis role="bold">black</emphasis> |
1300 screen. To return your screen to original state - simply switch to other console | |
1301 (by pressing <keycap>Alt</keycap>+<keycap>F<x></keycap>) | |
9675 | 1302 then switch to your previous console by the same way. |
20862 | 1303 </simpara></listitem> |
9675 | 1304 <listitem><simpara> |
1305 To get <emphasis role="bold">working TV-out</emphasis> you need have plugged | |
1306 TV-connector in before booting your PC since video BIOS initializes | |
1307 itself only once during POST procedure. | |
20862 | 1308 </simpara></listitem> |
9675 | 1309 </itemizedlist> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1310 </sect2> |
9675 | 1311 |
20862 | 1312 <!-- ********** --> |
9675 | 1313 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1314 <sect2 id="x11"> |
9675 | 1315 <title>X11</title> |
1316 | |
1317 <para> | |
1318 Avoid if possible. Outputs to X11 (uses shared memory extension), with no | |
1319 hardware acceleration at all. Supports (MMX/3DNow/SSE accelerated, but | |
1320 still slow) software scaling, use the options <option>-fs -zoom</option>. | |
1321 Most cards have hardware scaling support, use the <option>-vo xv</option> | |
12349 | 1322 output for them, or <option>-vo xmga</option> for Matrox cards. |
9675 | 1323 </para> |
1324 | |
1325 <para> | |
1326 The problem is that most cards' driver doesn't support hardware | |
1327 acceleration on the second head/TV. In those cases, you see green/blue | |
1328 colored window instead of the movie. This is where this driver comes in | |
1329 handy, but you need powerful CPU to use software scaling. Don't use the SDL | |
1330 driver's software output+scaler, it has worse image quality! | |
1331 </para> | |
1332 | |
1333 <para> | |
1334 Software scaling is very slow, you better try changing video modes instead. | |
1335 It's very simple. See the <link linkend="dga-modelines">DGA section's | |
1336 modelines</link>, and insert them into your <filename>XF86Config</filename>. | |
1337 | |
1338 <itemizedlist spacing="compact"> | |
1339 <listitem><simpara> | |
1340 If you have XFree86 4.x.x: use the <option>-vm</option> option. It will | |
1341 change to a resolution your movie fits in. If it doesn't: | |
20862 | 1342 </simpara></listitem> |
9675 | 1343 <listitem><simpara> |
1344 With XFree86 3.x.x: you have to cycle through available resolutions | |
1345 with the | |
1346 <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>plus</keycap> | |
1347 and | |
1348 <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>minus</keycap> | |
1349 keys. | |
20862 | 1350 </simpara></listitem> |
9675 | 1351 </itemizedlist> |
1352 </para> | |
1353 | |
1354 <para> | |
1355 If you can't find the modes you inserted, browse XFree86's output. Some | |
1356 drivers can't use low pixelclocks that are needed for low resolution | |
1357 video modes. | |
1358 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1359 </sect2> |
9675 | 1360 |
20862 | 1361 <!-- ********** --> |
9675 | 1362 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1363 <sect2 id="vidix"> |
9675 | 1364 <title>VIDIX</title> |
1365 | |
1366 <formalpara> | |
1367 <title>PREAMBLE</title> | |
1368 <para> | |
10111 | 1369 <acronym>VIDIX</acronym> is the abbreviation for <emphasis role="bold">VID</emphasis>eo |
9675 | 1370 <emphasis role="bold">I</emphasis>nterface for *ni<emphasis role="bold">X</emphasis>. |
1371 VIDIX was designed and introduced as an interface for fast user-space drivers | |
1372 providing such video performance as mga_vid does for Matrox cards. It's also very | |
1373 portable. | |
1374 </para> | |
1375 </formalpara> | |
1376 <para> | |
1377 This interface was designed as an attempt to fit existing video | |
1378 acceleration interfaces (known as mga_vid, rage128_vid, radeon_vid, | |
12349 | 1379 pm3_vid) into a fixed scheme. It provides a high level interface to chips |
9675 | 1380 which are known as BES (BackEnd scalers) or OV (Video Overlays). It doesn't |
12349 | 1381 provide low level interface to things which are known as graphics servers. |
9675 | 1382 (I don't want to compete with X11 team in graphics mode switching). I.e. |
1383 main goal of this interface is to maximize the speed of video playback. | |
1384 </para> | |
1385 | |
1386 <itemizedlist spacing="compact"> | |
1387 <title>USAGE</title> | |
1388 <listitem><simpara> | |
1389 You can use standalone video output driver: <option>-vo xvidix</option>. | |
14318 | 1390 This driver was developed as X11's front end to VIDIX technology. It |
11497 | 1391 requires X server and can work only under X server. Note that, as it directly |
9675 | 1392 accesses the hardware and circumvents the X driver, pixmaps cached in the |
1393 graphics card's memory may be corrupted. You can prevent this by limiting | |
1394 the amount of video memory used by X with the XF86Config option "VideoRam" | |
1395 in the device section. You should set this to the amount of memory installed | |
1396 on your card minus 4MB. If you have less than 8MB of video ram, you can use | |
1397 the option "XaaNoPixmapCache" in the screen section instead. | |
20862 | 1398 </simpara></listitem> |
1399 <listitem> | |
1400 <simpara> | |
11136 | 1401 There is a console VIDIX driver: <option>-vo cvidix</option>. |
11067
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1402 This requires a working and initialized framebuffer for most cards (or else |
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1403 you'll just mess up the screen), and you'll have a similar effect as with |
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1404 <option>-vo mga</option> or <option>-vo fbdev</option>. nVidia cards however |
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1405 are able to output truly graphical video on a real text console. See the |
11483 | 1406 <link linkend="vidix-nvidia">nvidia_vid</link> section for more information. |
20556 | 1407 To get rid of text on the borders and the blinking cursor, try something like |
20555 | 1408 </simpara> |
1409 | |
1410 <screen>setterm -cursor off > /dev/tty9</screen> | |
1411 | |
1412 <simpara> | |
1413 (assuming <systemitem>tty9</systemitem> is unused so far) and then | |
1414 switch to <systemitem>tty9</systemitem>. | |
1415 On the other hand, <option>-colorkey 0</option> should give you a video | |
1416 running in the "background", though this depends on the colorkey | |
1417 functionality to work right. | |
20862 | 1418 </simpara> |
1419 </listitem> | |
11067
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1420 <listitem><simpara> |
9675 | 1421 You can use VIDIX subdevice which was applied to several video output |
1422 drivers, such as: <option>-vo vesa:vidix</option> | |
1423 (<emphasis role="bold">Linux only</emphasis>) and | |
1424 <option>-vo fbdev:vidix</option>. | |
20862 | 1425 </simpara></listitem> |
9675 | 1426 </itemizedlist> |
1427 | |
1428 <para> | |
1429 Indeed it doesn't matter which video output driver is used with | |
1430 <emphasis role="bold">VIDIX</emphasis>. | |
1431 </para> | |
1432 | |
1433 <itemizedlist spacing="compact"> | |
1434 <title>REQUIREMENTS</title> | |
1435 <listitem><simpara> | |
11067
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1436 Video card should be in graphics mode (except nVidia cards with the |
2340e006992f
updated Vidix section to reflect newest developments
gabucino
parents:
11065
diff
changeset
|
1437 <option>-vo cvidix</option> output driver). |
20862 | 1438 </simpara></listitem> |
9675 | 1439 <listitem><simpara> |
1440 <application>MPlayer</application>'s video output driver should know | |
1441 active video mode and be able to tell to VIDIX subdevice some video | |
1442 characteristics of server. | |
20862 | 1443 </simpara></listitem> |
9675 | 1444 </itemizedlist> |
1445 | |
1446 <formalpara> | |
1447 <title>USAGE METHODS</title> | |
1448 <para> | |
10111 | 1449 When VIDIX is used as <emphasis role="bold">subdevice</emphasis> (<option>-vo |
9675 | 1450 vesa:vidix</option>) then video mode configuration is performed by video |
10111 | 1451 output device (<emphasis role="bold">vo_server</emphasis> in short). Therefore you can |
9675 | 1452 pass into command line of <application>MPlayer</application> the same keys |
1453 as for vo_server. In addition it understands <option>-double</option> key | |
1454 as globally visible parameter. (I recommend using this key with VIDIX at | |
11136 | 1455 least for ATI's card). As for <option>-vo xvidix</option>, currently it |
9675 | 1456 recognizes the following options: <option>-fs -zoom -x -y -double</option>. |
1457 </para> | |
1458 </formalpara> | |
20862 | 1459 |
9675 | 1460 <para> |
1461 Also you can specify VIDIX's driver directly as third subargument in | |
1462 command line: | |
11713 | 1463 <screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>file.avi</replaceable></screen> |
9675 | 1464 or |
11713 | 1465 <screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>file.avi</replaceable></screen> |
9675 | 1466 But it's dangerous, and you shouldn't do that. In this case given driver |
1467 will be forced and result is unpredictable (it may | |
1468 <emphasis role="bold">freeze</emphasis> your computer). You should do that | |
1469 ONLY if you are absolutely sure it will work, and | |
1470 <application>MPlayer</application> doesn't do it automatically. Please tell | |
1471 about it to the developers. The right way is to use VIDIX without arguments | |
1472 to enable driver autodetection. | |
1473 </para> | |
1474 | |
1475 <para> | |
1476 Since VIDIX requires direct hardware access you can either run it as root | |
1477 or set the SUID bit on the <application>MPlayer</application> binary | |
10111 | 1478 (<emphasis role="bold">Warning: This is a security risk!</emphasis>). |
9675 | 1479 Alternatively, you can use a special kernel module, like this: |
1480 </para> | |
1481 | |
1482 <procedure> | |
1483 <step><para> | |
1484 Download the <ulink url="http://www.arava.co.il/matan/svgalib/">development version</ulink> | |
1485 of svgalib (for example 1.9.17), <emphasis role="bold">OR</emphasis> | |
1486 download a version made by Alex especially for usage with <application>MPlayer</application> | |
1487 (it doesn't need the svgalib source to compile) from | |
15753 | 1488 <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">here</ulink>. |
20862 | 1489 </para></step> |
9675 | 1490 <step><para> |
1491 Compile the module in the <filename class="directory">svgalib_helper</filename> | |
10111 | 1492 directory (it can be found inside the <filename class="directory">svgalib-1.9.17/kernel/</filename> |
9675 | 1493 directory if you've downloaded the source from the svgalib site) and insmod it. |
20862 | 1494 </para></step> |
9675 | 1495 <step><para> |
12349 | 1496 To create the necessary devices in the <filename class="directory">/dev</filename> |
11022 | 1497 directory, do a <screen>make device</screen> in the <filename class="directory">svgalib_helper</filename> |
1498 dir, as root. | |
20862 | 1499 </para></step> |
11022 | 1500 <step><para> |
9675 | 1501 Move the <filename class="directory">svgalib_helper</filename> directory to |
1502 <filename class="directory">mplayer/main/libdha/svgalib_helper</filename>. | |
20862 | 1503 </para></step> |
9675 | 1504 <step><para> |
1505 Required if you download the source from the svgalib site: Remove the comment before the | |
1506 CFLAGS line containing "svgalib_helper" string from the | |
1507 <filename class="directory">libdha/Makefile</filename>. | |
20862 | 1508 </para></step> |
9675 | 1509 <step><para> |
1510 Recompile and install libdha. | |
20862 | 1511 </para></step> |
9675 | 1512 </procedure> |
1513 | |
20862 | 1514 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1515 <sect3 id="vidix-ati"> |
9675 | 1516 <title>ATI cards</title> |
20862 | 1517 |
9675 | 1518 <para> |
1519 Currently most ATI cards are supported natively, from Mach64 to the | |
1520 newest Radeons. | |
1521 </para> | |
1522 | |
1523 <para> | |
1524 There are two compiled binaries: <filename>radeon_vid</filename> for Radeon and | |
1525 <filename>rage128_vid</filename> for Rage 128 cards. You may force one or let | |
1526 the VIDIX system autoprobe all available drivers. | |
1527 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1528 </sect3> |
9675 | 1529 |
20862 | 1530 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1531 <sect3 id="vidix-mga"> |
9675 | 1532 <title>Matrox cards</title> |
20862 | 1533 |
9675 | 1534 <para> |
11497 | 1535 Matrox G200, G400, G450 and G550 have been reported to work. |
9675 | 1536 </para> |
1537 | |
1538 <para> | |
1539 The driver supports video equalizers and should be nearly as fast as the | |
1540 <link linkend="mga_vid">Matrox framebuffer</link> | |
1541 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1542 </sect3> |
9675 | 1543 |
20862 | 1544 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1545 <sect3 id="vidix-trident"> |
9675 | 1546 <title>Trident cards</title> |
20862 | 1547 |
9675 | 1548 <para> |
1549 There is a driver available for the Trident Cyberblade/i1 chipset, which | |
1550 can be found on VIA Epia motherboards. | |
1551 </para> | |
1552 | |
1553 <para> | |
11079
d4df1e5e5e49
the author's homepage points to us as the latest driver's source, so we
gabucino
parents:
11067
diff
changeset
|
1554 The driver was written and is maintained by |
20857 | 1555 <ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>. |
9675 | 1556 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1557 </sect3> |
9675 | 1558 |
20862 | 1559 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1560 <sect3 id="vidix-3dlabs"> |
9675 | 1561 <title>3DLabs cards</title> |
20862 | 1562 |
9675 | 1563 <para> |
1564 Although there is a driver for the 3DLabs GLINT R3 and Permedia3 chips, no one | |
1565 has tested it, so reports are welcome. | |
1566 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1567 </sect3> |
11040 | 1568 |
20862 | 1569 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1570 <sect3 id="vidix-nvidia"> |
11040 | 1571 <title>nVidia cards</title> |
11065 | 1572 |
11040 | 1573 <para> |
11065 | 1574 An unique feature of the nvidia_vid driver is its ability to display video on |
1575 <emphasis role="bold">plain, pure, text-only console</emphasis> - with no | |
1576 framebuffer or X magic whatsoever. For this purpose, we'll have to use the | |
1577 <option>cvidix</option> video output, as the following example shows: | |
19076 | 1578 <screen>mplayer -vo cvidix <replaceable>example.avi</replaceable></screen> |
11040 | 1579 </para> |
20862 | 1580 </sect3> |
11040 | 1581 |
1582 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1583 <sect3 id="vidix-sis"> |
11040 | 1584 <title>SiS cards</title> |
20862 | 1585 |
11040 | 1586 <para> |
1587 This is very experimental code, just like nvidia_vid. | |
1588 </para> | |
1589 | |
1590 <para> | |
12815 | 1591 It's been tested on SiS 650/651/740 (the most common chipsets used in the |
11040 | 1592 SiS versions of the "Shuttle XPC" barebones boxes out there) |
1593 </para> | |
1594 | |
1595 <para> | |
1596 Reports awaited! | |
1597 </para> | |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
1598 </sect3> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1599 </sect2> |
9675 | 1600 |
20862 | 1601 <!-- ********** --> |
1602 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1603 <sect2 id="directfb"> |
9675 | 1604 <title>DirectFB</title> |
20862 | 1605 |
9675 | 1606 <blockquote><para> |
1607 "DirectFB is a graphics library which was designed with embedded systems | |
1608 in mind. It offers maximum hardware accelerated performance at a minimum | |
1609 of resource usage and overhead." - quoted from <ulink url="http://www.directfb.org"/> | |
1610 </para></blockquote> | |
1611 | |
1612 <para>I'll exclude DirectFB features from this section.</para> | |
1613 | |
1614 <para> | |
10111 | 1615 Though <application>MPlayer</application> is not supported as a "video |
1616 provider" in DirectFB, this output driver will enable video playback through | |
1617 DirectFB. It will - of course - be accelerated, on my Matrox G400 DirectFB's speed | |
1618 was the same as XVideo. | |
9675 | 1619 </para> |
1620 | |
1621 <para> | |
1622 Always try to use the newest version of DirectFB. You can use DirectFB options on | |
1623 the command line, using the <option>-dfbopts</option> option. Layer selection can | |
1624 be done by the subdevice method, e.g.: <option>-vo directfb:2</option> | |
1625 (layer -1 is default: autodetect) | |
1626 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1627 </sect2> |
9675 | 1628 |
20862 | 1629 <!-- ********** --> |
1630 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1631 <sect2 id="dfbmga"> |
9675 | 1632 <title>DirectFB/Matrox (dfbmga)</title> |
20862 | 1633 |
9675 | 1634 <para> |
11824
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1635 Please read the <link linkend="directfb">main DirectFB</link> section for general |
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1636 information. |
9675 | 1637 </para> |
1638 | |
1639 <para> | |
11824
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1640 This video output driver will enable CRTC2 (on the second head) on Matrox |
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1641 G400/G450/G550 cards, displaying video |
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1642 <emphasis role="bold">independent</emphasis> of the first head. |
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1643 </para> |
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1644 |
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1645 <para> |
12815 | 1646 Ville Syrjala's has a |
11824
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1647 <ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink> |
12815 | 1648 and a |
14649 | 1649 <ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink> |
11824
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1650 on his homepage that explain how to make DirectFB TV output run on Matrox cards. |
9675 | 1651 </para> |
1652 | |
1653 <note><para> | |
11824
ce44fb6eb15c
Our DirectFB documentation is dated, the current version is now linked to
diego
parents:
11822
diff
changeset
|
1654 the first DirectFB version with which we could get this working was |
13490 | 1655 0.9.17 (it's buggy, needs that <systemitem>surfacemanager</systemitem> |
1656 patch from the URL above). Porting the CRTC2 code to | |
1657 <link linkend="mga_vid">mga_vid</link> has been planned for years, | |
1658 <ulink url="../../tech/patches.txt">patches</ulink> are welcome. | |
9675 | 1659 </para></note> |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
1660 </sect2> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1661 </sect1> |
9675 | 1662 |
20862 | 1663 |
1664 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
1665 | |
1666 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1667 <sect1 id="mpeg_decoders"> |
9675 | 1668 <title>MPEG decoders</title> |
1669 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1670 <sect2 id="dvb"> |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1671 <title>DVB output and input</title> |
20862 | 1672 |
9675 | 1673 <para> |
1674 <application>MPlayer</application> supports cards with the Siemens DVB chipset | |
1675 from vendors like Siemens, Technotrend, Galaxis or Hauppauge. The latest DVB | |
1676 drivers are available from the <ulink url="http://www.linuxtv.org">Linux TV site</ulink>. | |
1677 If you want to do software transcoding you should have at least a 1GHz CPU. | |
1678 </para> | |
1679 | |
1680 <para> | |
1681 Configure should detect your DVB card. If it did not, force detection with | |
1682 </para> | |
1683 | |
1684 <para><screen>./configure --enable-dvb</screen></para> | |
1685 | |
1686 <para>If you have ost headers at a non-standard path, set the path with</para> | |
1687 | |
10111 | 1688 <para><screen>./configure --with-extraincdir=<replaceable>DVB source directory</replaceable>/ost/include |
9675 | 1689 </screen></para> |
1690 | |
1691 <para>Then compile and install as usual.</para> | |
1692 | |
1693 <formalpara> | |
1694 <title>USAGE</title> | |
1695 <para> | |
14024 | 1696 Hardware decoding (playing standard MPEG-1/2 files) can be done with this command: |
9675 | 1697 </para> |
1698 </formalpara> | |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1699 |
11713 | 1700 <para> |
1701 <screen>mplayer -ao mpegpes -vo mpegpes <replaceable>file.mpg|vob</replaceable></screen> | |
1702 </para> | |
9675 | 1703 |
1704 <para> | |
14024 | 1705 Software decoding or transcoding different formats to MPEG-1 can be achieved using |
9675 | 1706 a command like this: |
1707 </para> | |
1708 <para><screen> | |
11713 | 1709 mplayer -ao mpegpes -vo mpegpes <replaceable>yourfile.ext</replaceable> |
1710 mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>yourfile.ext</replaceable> | |
9675 | 1711 </screen></para> |
1712 | |
1713 <para> | |
1714 Note that DVB cards only support heights 288 and 576 for PAL or 240 and 480 for | |
10938 | 1715 NTSC. You <emphasis role="bold">must</emphasis> rescale for other heights by adding |
9675 | 1716 <option>scale=width:height</option> with the width and height you want to the |
9677 | 1717 <option>-vf</option> option. DVB cards accept various widths, like 720, 704, |
9675 | 1718 640, 512, 480, 352 etc and do hardware scaling in horizontal direction, so you |
1719 do not need to scale horizontally in most cases. For a 512x384 (aspect 4:3) | |
14024 | 1720 MPEG-4 (DivX) try: |
9675 | 1721 </para> |
1722 | |
9677 | 1723 <para><screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen></para> |
9675 | 1724 |
1725 <para>If you have a widescreen movie and you do not want to scale it to full height, | |
1726 you can use the <option>expand=w:h</option> filter to add black bands. To view a | |
14024 | 1727 640x384 MPEG-4 (DivX), try: |
9675 | 1728 </para> |
1729 | |
11713 | 1730 <para> |
1731 <screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>file.avi</replaceable> | |
1732 </screen> | |
1733 </para> | |
9675 | 1734 |
13961
2946cbf097b5
DivX is MPEG4, so let's call it MPEG4 to avoid confusion.
diego
parents:
13912
diff
changeset
|
1735 <para> |
14024 | 1736 If your CPU is too slow for a full size 720x576 MPEG-4 (DivX), try downscaling: |
13961
2946cbf097b5
DivX is MPEG4, so let's call it MPEG4 to avoid confusion.
diego
parents:
13912
diff
changeset
|
1737 </para> |
9675 | 1738 |
11713 | 1739 <para> |
1740 <screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>file.avi</replaceable> | |
1741 </screen> | |
1742 </para> | |
9675 | 1743 |
1744 <para>If speed does not improve, try vertical downscaling, too:</para> | |
1745 | |
11713 | 1746 <para> |
1747 <screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>file.avi</replaceable> | |
1748 </screen> | |
1749 </para> | |
9675 | 1750 |
1751 <para> | |
1752 For OSD and subtitles use the OSD feature of the expand filter. So, instead of | |
1753 <option>expand=w:h</option> or <option>expand=w:h:x:y</option>, use | |
1754 <option>expand=w:h:x:y:1</option> (the 5th parameter <option>:1</option> | |
1755 at the end will enable OSD rendering). You may want to move the image up a bit | |
1756 to get a bigger black zone for subtitles. You may also want to move subtitles up, | |
1757 if they are outside your TV screen, use the <option>-subpos <0-100></option> | |
1758 option to adjust this (<option>-subpos 80</option> is a good choice). | |
1759 </para> | |
1760 | |
1761 <para> | |
1762 In order to play non-25fps movies on a PAL TV or with a slow CPU, add the | |
1763 <option>-framedrop</option> option. | |
1764 </para> | |
1765 | |
1766 <para> | |
14024 | 1767 To keep the aspect ratio of MPEG-4 (DivX) files and get the optimal scaling |
9675 | 1768 parameters (hardware horizontal scaling and software vertical scaling |
1769 while keeping the right aspect ratio), use the new dvbscale filter: | |
1770 </para> | |
1771 | |
1772 <para><screen> | |
10682 | 1773 for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1 |
1774 for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1 | |
9675 | 1775 </screen></para> |
1776 | |
1777 <formalpara> | |
11888 | 1778 <title>Digital TV (DVB input module)</title> |
1779 <para>You can use your DVB card for watching Digital TV.</para> | |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1780 </formalpara> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1781 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1782 <para> |
11884
923e6d2c7623
Sync with the last DVB update, patch by Nico <nsabbi@tiscali.it>.
diego
parents:
11824
diff
changeset
|
1783 You should have the programs <command>scan</command> and |
14383 | 1784 <command>szap/tzap/czap/azap</command> installed; they are all included in |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1785 the drivers package. |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1786 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1787 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1788 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1789 Verify that your drivers are working properly with a program such as |
14113 | 1790 <ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink> |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1791 (that is the base of the DVB input module). |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1792 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1793 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1794 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1795 Now you should compile a <filename>~/.mplayer/channels.conf</filename> |
14383 | 1796 file, with the syntax accepted by <command>szap/tzap/czap/azap</command>, or |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1797 have <command>scan</command> compile it for you. |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1798 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1799 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1800 <para> |
14383 | 1801 If you have more than one card type (e.g. Satellitar, Terrestrial, Cable and ATSC) |
12188 | 1802 you can save your channels files as |
1803 <filename>~/.mplayer/channels.conf.sat</filename>, | |
14383 | 1804 <filename>~/.mplayer/channels.conf.ter</filename>, |
1805 <filename>~/.mplayer/channels.conf.cbl</filename>, | |
1806 and <filename>~/.mplayer/channels.conf.atsc</filename>, | |
12188 | 1807 respectively, so as to implicitly hint <application>MPlayer</application> |
1808 to use these files rather than <filename>~/.mplayer/channels.conf</filename>, | |
1809 and you only need to specify which card to use. | |
1810 </para> | |
1811 | |
1812 <para> | |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1813 Make sure that you have have <emphasis>only</emphasis> Free to Air |
11540 | 1814 channels in your <filename>channels.conf</filename> file, or |
12188 | 1815 <application>MPlayer</application> will try to skip to the next visible one, |
1816 but it may take long if there are many consecutive encrypted channels. | |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1817 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1818 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1819 <para> |
12814 | 1820 In your audio and video fields you can use an extended syntax: |
1821 <option>...:pid[+pid]:...</option> (for a maximum of 6 pids each); | |
1822 in this case <application>MPlayer</application> will include in the | |
1823 stream all the indicated pids, plus pid 0 (that contains the PAT). | |
1824 You are encouraged to include in each row the PMT pid for the | |
1825 corresponding channel (if you know it). | |
1826 Other possible uses are: televideo pid, second audio track, etc. | |
1827 </para> | |
1828 | |
19601 | 1829 <para> |
1830 If <application>MPlayer</application> complains frequently about | |
19603 | 1831 <screen>Too many video/audio packets in the buffer</screen> or |
1832 if you notice a growing desynchronization between audio and | |
1833 video try to use the libavformat MPEG-TS demuxer by adding | |
1834 <option>-demuxer lavf -lavfdopts probesize=128</option> | |
1835 to your command line. | |
19601 | 1836 </para> |
12814 | 1837 |
1838 <para> | |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1839 To show the first of the channels present in your list, run |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1840 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1841 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1842 <screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1843 mplayer dvb:// |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1844 </screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1845 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1846 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1847 If you want to watch a specific channel, such as R1, run |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1848 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1849 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1850 <screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1851 mplayer dvb://R1 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1852 </screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1853 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1854 <para> |
12815 | 1855 If you have more than one card you also need to specify the number of the card |
12349 | 1856 where the channel is visible (e.g. 2) with the syntax: |
12310
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1857 </para> |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1858 |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1859 <screen> |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1860 mplayer dvb://2@R1 |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1861 </screen> |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1862 |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1863 <para> |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1864 To change channels press the <keycap>h</keycap> (next) and |
19822
db95db082c37
Move subtitles and OSD section from the installation to the usage chapter.
diego
parents:
19736
diff
changeset
|
1865 <keycap>k</keycap> (previous) keys, or use the |
19826 | 1866 <link linkend="osdmenu">OSD menu</link>. |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1867 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1868 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1869 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1870 If your <filename>~/.mplayer/menu.conf</filename> contains a |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1871 <literal><dvbsel></literal> entry, such as the one in the example |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1872 file <filename>etc/dvb-menu.conf</filename> (that you can use to overwrite |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1873 <filename>~/.mplayer/menu.conf</filename>), the main menu will show a |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1874 sub-menu entry that will permit you to choose one of the channels present |
12310
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1875 in your <filename>channels.conf</filename>, possibly preceded by a menu |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1876 with the list of cards available if more than one is usable by |
da00c08d8279
DVB now supports multiple cards, patch by Nico Sabbi.
diego
parents:
12216
diff
changeset
|
1877 <application>MPlayer</application>. |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1878 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1879 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1880 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1881 If you want to save a program to disk you can use |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1882 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1883 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1884 <screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1885 mplayer -dumpfile r1.ts -dumpstream dvb://R1 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1886 </screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1887 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1888 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1889 If you want to record it in a different format (re-encoding it) instead |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1890 you can run a command such as |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1891 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1892 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1893 <screen> |
11362 | 1894 mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1 |
11358
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1895 </screen> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1896 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1897 <para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1898 Read the man page for a list of options that you can pass to the |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1899 DVB input module. |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1900 </para> |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1901 |
7d120a00fcf7
DVB section expanded based on a patch by Nico Sabbi that was committed to
diego
parents:
11287
diff
changeset
|
1902 <formalpara> |
9675 | 1903 <title>FUTURE</title> |
1904 <para> | |
1905 If you have questions or want to hear feature announcements and take part in | |
1906 discussions on this subject, join our | |
19709 | 1907 <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink> |
9675 | 1908 mailing list. Please remember that the list language is English. |
1909 </para> | |
1910 </formalpara> | |
1911 | |
1912 <para> | |
1913 In the future you may expect the ability to display OSD and subtitles using | |
1914 the native OSD feature of DVB cards, as well as more fluent playback of | |
14024 | 1915 non-25fps movies and realtime transcoding between MPEG-2 and MPEG-4 (partial |
9675 | 1916 decompression). |
1917 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1918 </sect2> |
9675 | 1919 |
20862 | 1920 <!-- ********** --> |
1921 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1922 <sect2 id="dxr2"> |
9675 | 1923 <title>DXR2</title> |
20862 | 1924 |
11540 | 1925 <para><application>MPlayer</application> supports hardware accelerated playback |
1926 with the Creative DXR2 card.</para> | |
9675 | 1927 <para> |
1928 First of all you will need properly installed DXR2 drivers. You can find | |
1929 the drivers and installation instructions at the | |
13977 | 1930 <ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink> site. |
9675 | 1931 </para> |
1932 | |
1933 <variablelist> | |
1934 <title>USAGE</title> | |
1935 <varlistentry> | |
1936 <term><option>-vo dxr2</option></term> | |
18649 | 1937 <listitem><para>Enable TV output.</para></listitem> |
9675 | 1938 </varlistentry> |
1939 | |
1940 <varlistentry> | |
1941 <term><option>-vo dxr2:x11</option> or <option>-vo dxr2:xv</option></term> | |
18649 | 1942 <listitem><para>Enable Overlay output in X11.</para></listitem> |
9675 | 1943 </varlistentry> |
1944 | |
1945 <varlistentry> | |
1946 <term><option>-dxr2 <option1:option2:...></option></term> | |
1947 <listitem><para>This option is used to control the DXR2 driver.</para></listitem> | |
1948 </varlistentry> | |
1949 </variablelist> | |
1950 | |
1951 <para> | |
1952 The overlay chipset used on the DXR2 is of pretty bad quality but the | |
1953 default settings should work for everybody. The OSD may be usable with the | |
1954 overlay (not on TV) by drawing it in the colorkey. With the default colorkey | |
1955 settings you may get variable results, usually you will see the colorkey | |
1956 around the characters or some other funny effect. But if you properly adjust | |
1957 the colorkey settings you should be able to get acceptable results. | |
1958 </para> | |
1959 | |
11731 | 1960 <para>Please see the man page for available options.</para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1961 </sect2> |
9675 | 1962 |
20862 | 1963 <!-- ********** --> |
1964 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
1965 <sect2 id="dxr3"> |
9675 | 1966 <title>DXR3/Hollywood+</title> |
20862 | 1967 |
9675 | 1968 <para> |
1969 <application>MPlayer</application> supports hardware accelerated playback | |
1970 with the Creative DXR3 and Sigma Designs Hollywood Plus cards. These cards | |
1971 both use the em8300 MPEG decoder chip from Sigma Designs. | |
1972 </para> | |
1973 | |
1974 <para> | |
1975 First of all you will need properly installed DXR3/H+ drivers, version 0.12.0 | |
1976 or later. You can find the drivers and installation instructions at the | |
13977 | 1977 <ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus for Linux</ulink> |
10111 | 1978 site. <filename>configure</filename> should detect your card automatically, |
1979 compilation should go without problems. | |
9675 | 1980 </para> |
1981 | |
1982 <!-- FIXME: find a more clear presentation --> | |
1983 <variablelist> | |
1984 <title>USAGE</title> | |
1985 <varlistentry> | |
10111 | 1986 <term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term> |
9675 | 1987 <listitem><para> |
1988 <option>overlay</option> activates the overlay instead of TVOut. It requires | |
1989 that you have a properly configured overlay setup to work right. The easiest | |
1990 way to configure the overlay is to first run autocal. Then run mplayer with | |
1991 dxr3 output and without overlay turned on, run dxr3view. In dxr3view you can | |
1992 tweak the overlay settings and see the effects in realtime, perhaps this feature | |
11540 | 1993 will be supported by the <application>MPlayer</application> GUI in the future. |
1994 When overlay is properly set up you will no longer need to use dxr3view. | |
9675 | 1995 <option>prebuf</option> turns on prebuffering. Prebuffering is a feature of the |
1996 em8300 chip that enables it to hold more than one frame of video at a time. This | |
11540 | 1997 means that when you are running with prebuffering <application>MPlayer</application> |
1998 will try to keep the video buffer filled with data at all times. If you are on | |
1999 a slow machine <application>MPlayer</application> will probably use close to, | |
2000 or precisely 100% of CPU. This is especially common if you play pure MPEG streams | |
2001 (like DVDs, SVCDs a.s.o.) since <application>MPlayer</application> will not have | |
2002 to reencode it to MPEG it will fill the buffer very fast. | |
9675 | 2003 With prebuffering video playback is <emphasis role="bold">much</emphasis> |
2004 less sensitive to other programs hogging the CPU, it will not drop frames unless | |
2005 applications hog the CPU for a long time. | |
2006 When running without prebuffering the em8300 is much more sensitive to CPU load, | |
12349 | 2007 so it is highly suggested that you turn on <application>MPlayer</application>'s |
11540 | 2008 <option>-framedrop</option> option to avoid further loss of sync. |
9675 | 2009 <option>sync</option> will turn on the new sync-engine. This is currently an |
2010 experimental feature. With the sync feature turned on the em8300's internal clock | |
11540 | 2011 will be monitored at all times, if it starts to deviate from |
12578 | 2012 <application>MPlayer</application>'s clock it will be reset causing the em8300 to |
11540 | 2013 drop any frames that are lagging behind. |
9675 | 2014 <option>norm=x</option> will set the TV norm of the DXR3 card without the need |
2015 for external tools like em8300setup. Valid norms are 5 = NTSC, 4 = PAL-60, | |
2016 3 = PAL. Special norms are 2 (auto-adjust using PAL/PAL-60) and 1 (auto-adjust | |
2017 using PAL/NTSC) because they decide which norm to use by looking at the frame | |
2018 rate of the movie. norm = 0 (default) does not change the current norm. | |
10111 | 2019 <option><replaceable>device</replaceable></option> = device number to use if you have more than one em8300 |
9675 | 2020 card. |
2021 Any of these options may be left out. | |
14024 | 2022 <option>:prebuf:sync</option> seems to work great when playing MPEG-4 (DivX) movies. People |
2023 have reported problems using the prebuf option when playing MPEG-1/2 files. You | |
9675 | 2024 might want to try running without any options first, if you have sync problems, |
2025 or DVD subtitle problems, give <option>:sync</option> a try. | |
2026 </para></listitem> | |
2027 </varlistentry> | |
2028 | |
2029 <varlistentry> | |
2030 <term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term> | |
2031 <listitem><para> | |
2032 For audio output, where <replaceable>X</replaceable> is the device number (0 if one card). | |
2033 </para></listitem> | |
2034 </varlistentry> | |
2035 | |
2036 <varlistentry> | |
14441 | 2037 <term><option>-af resample=<replaceable>xxxxx</replaceable></option></term> |
9675 | 2038 <listitem><para> |
2039 The em8300 cannot play back samplerates lower than 44100Hz. If the sample | |
2040 rate is below 44100Hz select either 44100Hz or 48000Hz depending on which | |
2041 one matches closest. I.e. if the movie uses 22050Hz use 44100Hz as | |
2042 44100 / 2 = 22050, if it is 24000Hz use 48000Hz as 48000 / 2 = 24000 and so on. | |
2043 This does not work with digital audio output (<option>-ac hwac3</option>). | |
2044 </para></listitem> | |
2045 </varlistentry> | |
2046 | |
2047 <varlistentry> | |
20723 | 2048 <term><option>-vf lavc</option></term> |
9675 | 2049 <listitem><para> |
14024 | 2050 To watch non-MPEG content on the em8300 (i.e. MPEG-4 (DivX) or RealVideo) |
2051 you have to specify an MPEG-1 video filter such as | |
20723 | 2052 <systemitem class="library">libavcodec</systemitem> (lavc). |
2053 See the man page for further info about <option>-vf lavc</option>. | |
2054 Currently there is no way of setting the fps | |
14958 | 2055 of the em8300 which means that it is fixed to 30000/1001 fps. Because of this it is |
10111 | 2056 highly recommended that you use <option>-vf lavc=<replaceable>quality</replaceable>:25</option> |
14958 | 2057 especially if you are using prebuffering. Then why 25 and not 30000/1001? Well, the |
2058 thing is that when you use 30000/1001 the picture becomes a bit jumpy. The reason for | |
9675 | 2059 this is unknown to us. If you set it to somewhere between 25 and 27 the picture |
2060 becomes stable. For now all we can do is accept this for a fact. | |
2061 </para></listitem> | |
2062 </varlistentry> | |
2063 | |
2064 <varlistentry> | |
9677 | 2065 <term><option>-vf expand=-1:-1:-1:-1:1</option></term> |
9675 | 2066 <listitem><para> |
14024 | 2067 Although the DXR3 driver can put some OSD onto the MPEG-1/2/4 video, it has |
12578 | 2068 much lower quality than <application>MPlayer</application>'s traditional OSD, |
11540 | 2069 and has several refresh problems as well. The command line above will firstly |
14024 | 2070 convert the input video to MPEG-4 (this is mandatory, sorry), then apply an |
11540 | 2071 expand filter which won't expand anything (-1: default), but apply the normal |
2072 OSD onto the picture (that's what the "1" at the end does). | |
9675 | 2073 </para></listitem> |
2074 </varlistentry> | |
2075 | |
2076 <varlistentry> | |
2077 <term><option>-ac hwac3</option></term> | |
2078 <listitem><para> | |
2079 The em8300 supports playing back AC3 audio (surround sound) through the | |
2080 digital audio output of the card. See the <option>-ao oss</option> option above, | |
12349 | 2081 it must be used to specify the DXR3's output instead of a sound card. |
9675 | 2082 </para></listitem> |
2083 </varlistentry> | |
2084 </variablelist> | |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
2085 </sect2> |
20862 | 2086 </sect1> |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
2087 |
20862 | 2088 |
2089 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
2090 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2091 |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2092 <sect1 id="other"> |
9675 | 2093 <title>Other visualization hardware</title> |
2094 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2095 <sect2 id="zr"> |
9675 | 2096 <title>Zr</title> |
2097 | |
2098 <para> | |
2099 This is a display-driver (<option>-vo zr</option>) for a number of MJPEG | |
2100 capture/playback cards (tested for DC10+ and Buz, and it should work for the | |
2101 LML33, the DC10). The driver works by encoding the frame to JPEG and then | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11738
diff
changeset
|
2102 sending it to the card. For the JPEG encoding |
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11738
diff
changeset
|
2103 <systemitem class="library">libavcodec</systemitem> |
9675 | 2104 is used, and required. With the special <emphasis>cinerama</emphasis> mode, |
2105 you can watch movies in true wide screen provided that you have two beamers | |
2106 and two MJPEG cards. Depending on resolution and quality settings, this driver | |
2107 may require a lot of CPU power, remember to specify <option>-framedrop</option> | |
2108 if your machine is too slow. Note: My AMD K6-2 350MHz is (with | |
2109 <option>-framedrop</option>) quite adequate for watching VCD sized material and | |
2110 downscaled movies. | |
2111 </para> | |
2112 | |
2113 <para> | |
2114 This driver talks to the kernel driver available at | |
13977 | 2115 <ulink url="http://mjpeg.sf.net"/>, so |
9675 | 2116 you must get it working first. The presence of an MJPEG card is autodetected by the |
2117 <filename>configure</filename> script, if autodetection fails, force detection with | |
2118 <screen>./configure --enable-zr</screen> | |
2119 </para> | |
2120 <para> | |
2121 The output can be controlled by several options, a long description of the | |
2122 options can be found in the man page, a short list of options can be viewed | |
2123 by running | |
2124 <screen>mplayer -zrhelp</screen> | |
2125 </para> | |
2126 | |
2127 <para> | |
2128 Things like scaling and the OSD (on screen display) are not handled by | |
2129 this driver but can be done using the video filters. For example, suppose | |
2130 that you have a movie with a resolution of 512x272 and you want to view it | |
2131 fullscreen on your DC10+. There are three main possibilities, you may scale | |
2132 the movie to a width of 768, 384 or 192. For performance and quality reasons, | |
2133 I would choose to scale the movie to 384x204 using the fast bilinear software | |
12349 | 2134 scaler. The command line is |
11713 | 2135 <screen> |
2136 mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable> | |
2137 </screen> | |
9675 | 2138 </para> |
2139 | |
2140 <para> | |
11214 | 2141 Cropping can be done by the <option>crop</option> filter and by this |
9675 | 2142 driver itself. Suppose that a movie is too wide for display on your Buz and |
2143 that you want to use <option>-zrcrop</option> to make the movie less wide, | |
9784
286ac03ce5c5
Typos, noticed by Roberto Togni <r_togni@libero.it>.
diego
parents:
9683
diff
changeset
|
2144 then you would issue the following command |
11713 | 2145 <screen> |
2146 mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable> | |
2147 </screen> | |
9675 | 2148 </para> |
2149 | |
2150 <para> | |
10111 | 2151 if you want to use the <option>crop</option> filter, you would do |
11713 | 2152 <screen> |
2153 mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable> | |
2154 </screen> | |
9675 | 2155 </para> |
2156 | |
2157 <para> | |
10975
96cd8d4e98d4
Typos and some confusion noticed by Lukasz frogu Proszek <l_j_p@wp.pl>.
diego
parents:
10971
diff
changeset
|
2158 Extra occurrences of <option>-zrcrop</option> invoke <emphasis>cinerama</emphasis> |
96cd8d4e98d4
Typos and some confusion noticed by Lukasz frogu Proszek <l_j_p@wp.pl>.
diego
parents:
10971
diff
changeset
|
2159 mode, i.e. you can distribute the movie over several TV's or beamers to create a |
9675 | 2160 larger screen. Suppose you have two beamers. The left one is connected to your |
11359 | 2161 Buz at <filename>/dev/video1</filename> and the right one is connected to |
2162 your DC10+ at <filename>/dev/video0</filename>. The movie has a resolution | |
9675 | 2163 of 704x288. Suppose also that you want the right beamer in black and white and |
10975
96cd8d4e98d4
Typos and some confusion noticed by Lukasz frogu Proszek <l_j_p@wp.pl>.
diego
parents:
10971
diff
changeset
|
2164 that the left beamer should have JPEG frames at quality 10, then you would |
9675 | 2165 issue the following command |
2166 <screen> | |
2167 mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \ | |
11713 | 2168 -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \ |
2169 <replaceable>movie.avi</replaceable> | |
9675 | 2170 </screen> |
2171 </para> | |
2172 | |
2173 <para> | |
2174 You see that the options appearing before the second <option>-zrcrop</option> | |
2175 only apply to the DC10+ and that the options after the second | |
2176 <option>-zrcrop</option> apply to the Buz. The maximum number of MJPEG cards | |
9784
286ac03ce5c5
Typos, noticed by Roberto Togni <r_togni@libero.it>.
diego
parents:
9683
diff
changeset
|
2177 participating in <emphasis>cinerama</emphasis> is four, so you can build a |
9675 | 2178 2x2 vidiwall. |
2179 </para> | |
2180 | |
2181 <para> | |
10111 | 2182 Finally an important remark: Do not start or stop XawTV on the playback device |
9675 | 2183 during playback, it will crash your computer. It is, however, fine to |
2184 <emphasis role="bold">FIRST</emphasis> start XawTV, <emphasis role="bold">THEN</emphasis> | |
11540 | 2185 start <application>MPlayer</application>, wait for <application>MPlayer</application> |
2186 to finish and <emphasis role="bold">THEN</emphasis> stop XawTV. | |
9675 | 2187 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2188 </sect2> |
9675 | 2189 |
20862 | 2190 <!-- ********** --> |
2191 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2192 <sect2 id="blinkenlights"> |
9675 | 2193 <title>Blinkenlights</title> |
20862 | 2194 |
9675 | 2195 <para> |
2196 This driver is capable of playback using the Blinkenlights UDP protocol. If you | |
2197 don't know what <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink> | |
12401 | 2198 or its successor |
2199 <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink> | |
2200 are, find it out. Although this is most probably the least used video output | |
2201 driver, without a doubt it is the coolest <application>MPlayer</application> | |
2202 has to offer. Just watch some of the | |
2203 <ulink url="http://www.blinkenlights.de/video.en.html">Blinkenlights documentation videos</ulink>. | |
2204 On the Arcade video you can see the Blinkenlights output driver in | |
2205 action at 00:07:50. | |
9675 | 2206 </para> |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
2207 </sect2> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2208 </sect1> |
9675 | 2209 |
20862 | 2210 |
2211 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
2212 | |
2213 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2214 <sect1 id="tvout"> |
9675 | 2215 <title>TV-out support</title> |
2216 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2217 <sect2 id="tvout-mga-g400"> |
9675 | 2218 <title>Matrox G400 cards</title> |
2219 | |
2220 <para> | |
2221 Under Linux you have two methods to get G400 TV out working: | |
2222 </para> | |
2223 | |
2224 <important> | |
2225 <para> | |
2226 for Matrox G450/G550 TV-out instructions, please see the next section! | |
2227 </para> | |
2228 </important> | |
2229 | |
2230 <variablelist> | |
2231 <varlistentry> | |
2232 <term>XFree86</term> | |
2233 <listitem><para> | |
12349 | 2234 Using the driver and the HAL module, available from the <ulink |
2235 url="http://www.matrox.com">Matrox site</ulink>. This will give you X | |
9675 | 2236 on the TV. |
2237 </para><para> | |
2238 <emphasis role="bold">This method doesn't give you accelerated playback</emphasis> | |
2239 as under Windows! The second head has only YUV framebuffer, the <emphasis>BES</emphasis> | |
2240 (Back End Scaler, the YUV scaler on G200/G400/G450/G550 cards) doesn't | |
2241 work on it! The windows driver somehow workarounds this, probably by | |
2242 using the 3D engine to zoom, and the YUV framebuffer to display the | |
2243 zoomed image. If you really want to use X, use the <option>-vo x11 -fs | |
2244 -zoom</option> options, but it will be <emphasis role="bold">SLOW</emphasis>, | |
2245 and has <emphasis role="bold">Macrovision</emphasis> copy protection enabled | |
2246 (you can "workaround" Macrovision using this | |
13977 | 2247 <ulink url="http://avifile.sf.net/mgamacro.pl">perl script</ulink>). |
20862 | 2248 </para></listitem> |
9675 | 2249 </varlistentry> |
2250 <varlistentry> | |
2251 <term>Framebuffer</term> | |
20862 | 2252 <listitem> |
2253 <para> | |
9675 | 2254 Using the <emphasis role="bold">matroxfb modules</emphasis> in the 2.4 |
2255 kernels. 2.2 kernels don't have the TVout feature in them, thus unusable | |
14318 | 2256 for this. You have to enable ALL matroxfb-specific feature during compilation |
10254 | 2257 (except MultiHead), and compile them into <emphasis role="bold">modules</emphasis>! |
9675 | 2258 You'll also need I2C enabled. |
2259 </para> | |
2260 | |
2261 <procedure> | |
2262 <step><para> | |
11499 | 2263 Enter <filename class="directory">TVout</filename> and type |
2264 <command>./compile.sh</command>. Install | |
11521 | 2265 <filename>TVout/matroxset/matroxset</filename> |
2266 somewhere into your <envar>PATH</envar>. | |
20862 | 2267 </para></step> |
9675 | 2268 <step><para> |
11499 | 2269 If you don't have <command>fbset</command> installed, put |
11521 | 2270 <filename>TVout/fbset/fbset</filename> |
2271 somewhere into your <envar>PATH</envar>. | |
20862 | 2272 </para></step> |
9675 | 2273 <step><para> |
11499 | 2274 If you don't have <command>con2fb</command> installed, put |
11521 | 2275 <filename>TVout/con2fb/con2fb</filename> |
2276 somewhere into your <envar>PATH</envar>. | |
20862 | 2277 </para></step> |
10254 | 2278 <step><para> |
9675 | 2279 Then enter into the <filename class="directory">TVout/</filename> directory |
2280 in the <application>MPlayer</application> source, and execute | |
2281 <filename>./modules</filename> as root. Your text-mode console will | |
2282 enter into framebuffer mode (no way back!). | |
20862 | 2283 </para></step> |
9675 | 2284 <step><para> |
2285 Next, EDIT and run the <filename>./matroxtv</filename> script. This will | |
2286 present you to a very simple menu. Press <keycap>2</keycap> and | |
2287 <keycap>Enter</keycap>. Now you should have the same picture on your | |
10111 | 2288 monitor, and TV. If the TV (PAL by default) |
9675 | 2289 picture has some weird stripes on it, the script wasn't able to set the |
2290 resolution correctly (to 640x512 by default). Try other resolutions | |
2291 from the menu and/or experiment with fbset. | |
20862 | 2292 </para></step> |
9675 | 2293 <step><para> |
2294 Yoh. Next task is to make the cursor on tty1 (or whatever) to | |
2295 disappear, and turn off screen blanking. Execute the following | |
2296 commands: | |
12815 | 2297 |
9675 | 2298 <screen> |
2299 echo -e '\033[?25l' | |
2300 setterm -blank 0<!-- | |
2301 --></screen> | |
2302 or | |
2303 <screen> | |
2304 setterm -cursor off | |
2305 setterm -blank 0<!-- | |
2306 --></screen> | |
2307 | |
2308 You possibly want to put the above into a script, and also clear the | |
2309 screen. To turn the cursor back: | |
2310 <screen>echo -e '\033[?25h'</screen> or | |
2311 <screen>setterm -cursor on</screen> | |
20862 | 2312 </para></step> |
9675 | 2313 <step><para> |
2314 Yeah kewl. Start movie playing with | |
2315 <screen> | |
2316 mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable><!-- | |
2317 --></screen> | |
12815 | 2318 |
9675 | 2319 (If you use X, now change to matroxfb with for example |
2320 <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>F1</keycap>.) | |
2321 Change <literal>640</literal> and <literal>512</literal> if you set | |
2322 the resolution to other... | |
2323 </para></step> | |
2324 <step><para> | |
2325 <emphasis role="bold">Enjoy the ultra-fast ultra-featured Matrox TV | |
2326 output (better than Xv)!</emphasis> | |
20862 | 2327 </para></step> |
9675 | 2328 </procedure> |
2329 </listitem> | |
2330 </varlistentry> | |
2331 </variablelist> | |
2332 | |
2333 <formalpara> | |
2334 <title>Building a Matrox TV-out cable</title> | |
2335 <para> | |
2336 No one takes any responsibility, nor guarantee for any damage caused | |
2337 by this documentation. | |
2338 </para> | |
2339 </formalpara> | |
2340 | |
2341 <formalpara> | |
2342 <title>Cable for G400</title> | |
2343 <para> | |
2344 The CRTC2 connector's fourth pin is the composite video signal. The | |
2345 ground are the sixth, seventh and eighth pins. (info contributed | |
20535 | 2346 from Balázs Rácz) |
9675 | 2347 </para> |
2348 </formalpara> | |
2349 | |
2350 <formalpara> | |
2351 <title>Cable for G450</title> | |
2352 <para> | |
2353 The CRTC2 connector's first pin is the composite video signal. The | |
2354 ground are the fifth, sixth, seventh, and fifteenth (5, 6, 7, 15) | |
20535 | 2355 pins. (info contributed from Balázs Kerekes) |
9675 | 2356 </para> |
2357 </formalpara> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2358 </sect2> |
9675 | 2359 |
20862 | 2360 <!-- ********** --> |
2361 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2362 <sect2 id="tv-out_matrox_g450"> |
9675 | 2363 <title>Matrox G450/G550 cards</title> |
20862 | 2364 |
9675 | 2365 <para> |
2366 TV output support for these cards has only been recently introduced, and is | |
2367 not yet in the mainstream kernel. Currently the <emphasis role="bold">mga_vid</emphasis> | |
2368 module can't be used AFAIK, because the G450/G550 driver works only in one | |
2369 configuration: the first CRTC chip (with much more features) on the first display | |
2370 (on monitor), and the second CRTC (no <emphasis role="bold">BES</emphasis> - for | |
2371 explanation on BES, please see the G400 section above) on TV. So you can only | |
2372 use <application>MPlayer</application>'s <emphasis>fbdev</emphasis> output driver | |
2373 at the present. | |
2374 </para> | |
2375 | |
2376 <para> | |
2377 The first CRTC can't be routed to the second head currently. The author of the | |
2378 kernel matroxfb driver - Petr Vandrovec - will maybe make support for this, by | |
2379 displaying the first CRTC's output onto both of the heads at once, as currently | |
2380 recommended for G400, see the section above. | |
2381 </para> | |
2382 | |
2383 <para> | |
12349 | 2384 The necessary kernel patch and the detailed HOWTO is downloadable from |
9948 | 2385 <ulink url="http://www.bglug.ca/matrox_tvout/"/> |
9675 | 2386 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2387 </sect2> |
9675 | 2388 |
20862 | 2389 <!-- ********** --> |
9675 | 2390 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2391 <sect2 id="tvout-ati"> |
9675 | 2392 <title>ATI cards</title> |
2393 | |
2394 <formalpara> | |
2395 <title>PREAMBLE</title> | |
2396 <para> | |
2397 Currently ATI doesn't want to support any of its TV-out chips under Linux, | |
2398 because of their licensed Macrovision technology. | |
2399 </para> | |
2400 </formalpara> | |
2401 | |
2402 <itemizedlist> | |
2403 <title>ATI CARDS TV-OUT STATUS ON LINUX</title> | |
2404 <listitem><simpara> | |
2405 <emphasis role="bold">ATI Mach64</emphasis>: | |
12349 | 2406 supported by <ulink url="http://gatos.sf.net">GATOS</ulink>. |
20862 | 2407 </simpara></listitem> |
9675 | 2408 <listitem><simpara> |
2409 <emphasis role="bold">ASIC Radeon VIVO</emphasis>: | |
12349 | 2410 supported by <ulink url="http://gatos.sf.net">GATOS</ulink>. |
20862 | 2411 </simpara></listitem> |
9675 | 2412 <listitem><simpara> |
2413 <emphasis role="bold">Radeon</emphasis> and <emphasis role="bold">Rage128</emphasis>: | |
2414 supported by <application>MPlayer</application>! | |
2415 Check <link linkend="vesa">VESA driver</link> and | |
2416 <link linkend="vidix">VIDIX</link> sections. | |
20862 | 2417 </simpara></listitem> |
9675 | 2418 <listitem><simpara> |
2419 <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>: | |
2420 supported by <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>. | |
20862 | 2421 </simpara></listitem> |
9675 | 2422 </itemizedlist> |
2423 | |
2424 <para> | |
2425 On other cards, just use the <link linkend="vesa">VESA</link> driver, | |
2426 without VIDIX. Powerful CPU is needed, though. | |
2427 </para> | |
2428 | |
2429 <para> | |
2430 Only thing you need to do - <emphasis role="bold">Have the TV connector | |
2431 plugged in before booting your PC</emphasis> since video BIOS initializes | |
2432 itself only once during POST procedure. | |
2433 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2434 </sect2> |
9675 | 2435 |
20862 | 2436 <!-- ********** --> |
9675 | 2437 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2438 <sect2 id="tvout-nvidia"> |
10111 | 2439 <title>nVidia</title> |
20862 | 2440 |
9675 | 2441 <para> |
2442 First, you MUST download the closed-source drivers from <ulink url="http://nvidia.com"/>. | |
2443 I will not describe the installation and configuration process because it does not cover | |
2444 the scope of this documentation. | |
2445 </para> | |
2446 | |
2447 <para> | |
2448 After XFree86, XVideo, and 3D acceleration is properly working, edit your | |
2449 card's Device section in the <filename>XF86Config</filename> file, according | |
2450 to the following example (adapt for your card/TV): | |
2451 | |
2452 <programlisting> | |
2453 Section "Device" | |
2454 Identifier "GeForce" | |
2455 VendorName "ASUS" | |
2456 BoardName "nVidia GeForce2/MX 400" | |
2457 Driver "nvidia" | |
2458 #Option "NvAGP" "1" | |
2459 Option "NoLogo" | |
2460 Option "CursorShadow" "on" | |
2461 | |
2462 Option "TwinView" | |
2463 Option "TwinViewOrientation" "Clone" | |
2464 Option "MetaModes" "1024x768,640x480" | |
2465 Option "ConnectedMonitor" "CRT, TV" | |
2466 Option "TVStandard" "PAL-B" | |
2467 Option "TVOutFormat" "Composite" | |
2468 EndSection | |
2469 </programlisting> | |
2470 </para> | |
2471 | |
2472 <para> | |
2473 Of course the important thing is the TwinView part. | |
2474 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2475 </sect2> |
11264 | 2476 |
20862 | 2477 <!-- ********** --> |
2478 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2479 <sect2 id="tvout-neomagic"> |
13189 | 2480 <title>NeoMagic</title> |
20862 | 2481 |
11264 | 2482 <para> |
13189 | 2483 The NeoMagic chip is found in a variety of laptops, some of them are equipped |
12757
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2484 with a simple analog TV encoder, some have a more advanced one. |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2485 <itemizedlist> |
17559 | 2486 <listitem><para> |
12757
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2487 <emphasis role="bold">Analog encoder chip</emphasis>: |
17559 | 2488 It has been reported that reliable TV out can be obtained by using |
2489 <option>-vo fbdev</option> or <option>-vo fbdev2</option>. | |
2490 You need to have vesafb compiled in your kernel and pass | |
2491 the following parameters on the kernel command line: | |
2492 <option>append="video=vesafb:ywrap,mtrr" vga=791</option>. | |
2493 You should start <application>X</application>, then switch to console mode | |
2494 with e.g. <keycap>CTRL</keycap>+<keycap>ALT</keycap>+<keycap>F1</keycap>. | |
2495 If you fail to start <application>X</application> before running | |
2496 <application>MPlayer</application> from the console, the video | |
2497 becomes slow and choppy (explanations are welcome). | |
2498 Login to your console, then initiate the following command: | |
2499 | |
2500 <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen> | |
2501 | |
2502 Now you should see the movie running in console mode filling up about | |
2503 half your laptop's LCD screen. | |
2504 To switch to TV hit <keycap>Fn</keycap>+<keycap>F5</keycap> three times. | |
2505 Tested on a Tecra 8000, 2.6.15 kernel with vesafb, ALSA v1.0.10. | |
20862 | 2506 </para></listitem> |
2507 <listitem> | |
2508 <simpara> | |
12757
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2509 <emphasis role="bold">Chrontel 70xx encoder chip</emphasis>: |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2510 Found in IBM Thinkpad 390E and possibly other Thinkpads or notebooks. |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2511 </simpara><simpara> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2512 You must use <option>-vo vesa:neotv_pal</option> for PAL or |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2513 <option>-vo vesa:neotv_ntsc</option> for NTSC. |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2514 It will provide TV output function in the following 16 bpp and 8 bpp modes: |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2515 </simpara> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2516 <itemizedlist> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2517 <listitem><simpara>NTSC 320x240, 640x480 and maybe 800x600 too.</simpara></listitem> |
14318 | 2518 <listitem><simpara>PAL 320x240, 400x300, 640x480, 800x600.</simpara></listitem> |
12757
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2519 </itemizedlist> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2520 <simpara>Mode 512x384 is not supported in BIOS. You must scale the image |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2521 to a different resolution to activate TV out. If you can see an image on the |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2522 screen in 640x480 or in 800x600 but not in 320x240 or other smaller |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2523 resolution you need to replace two tables in <filename>vbelib.c</filename>. |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2524 See the vbeSetTV function for details. Please contact the author in this case. |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2525 </simpara> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2526 <simpara> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2527 Known issues: VESA-only, no other controls such as brightness, contrast, |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2528 blacklevel, flickfilter are implemented. |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2529 </simpara> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2530 </listitem> |
8bcd91d9efd1
Neomagic TV out support docs by Rudolf Marek <MAREKR2@cs.felk.cvut.cz>
diego
parents:
12578
diff
changeset
|
2531 </itemizedlist> |
11264 | 2532 </para> |
9675 | 2533 </sect2> |
13912
c66b1514ce5b
Remove pointless devices section, make video and audio top level sections.
diego
parents:
13908
diff
changeset
|
2534 </sect1> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2535 |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
15894
diff
changeset
|
2536 </chapter> |