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