Mercurial > mplayer.hg
comparison DOCS/video.html @ 9255:c82e31b31194
my patches sent to dev-eng (i feel me brave) Diego, fix my wording bugs, and dont be angry.
author | alex |
---|---|
date | Mon, 03 Feb 2003 18:41:41 +0000 |
parents | a35bf9da25db |
children | ea27d0f2d90d |
comparison
equal
deleted
inserted
replaced
9254:a35bf9da25db | 9255:c82e31b31194 |
---|---|
180 refresh rate. If playing seems to be slow, try disabling VSYNC somehow, or | 180 refresh rate. If playing seems to be slow, try disabling VSYNC somehow, or |
181 set refresh rate to n*(fps of the movie) Hz.</LI> | 181 set refresh rate to n*(fps of the movie) Hz.</LI> |
182 <LI>Radeon VE - currently only XFree86 CVS has driver for this card, version | 182 <LI>Radeon VE - currently only XFree86 CVS has driver for this card, version |
183 4.1.0 doesn't. And no TV out support. Of course with MPlayer you can | 183 4.1.0 doesn't. And no TV out support. Of course with MPlayer you can |
184 happily get <B>accelerated</B> display, with or without <B>TV output</B>, and | 184 happily get <B>accelerated</B> display, with or without <B>TV output</B>, and |
185 no libraries or X are needed. Read <A HREF="#vidix">Vidix</A> section.</LI> | 185 no libraries or X are needed. Read <A HREF="#vidix">VIDIX</A> section.</LI> |
186 </UL> | 186 </UL> |
187 | 187 |
188 | 188 |
189 <H4><A NAME="xv_neomagic">2.3.1.2.1.5 NeoMagic cards</A></H4> | 189 <H4><A NAME="xv_neomagic">2.3.1.2.1.5 NeoMagic cards</A></H4> |
190 | 190 |
218 | 218 |
219 | 219 |
220 <H4><A NAME="dga">2.3.1.2.2 DGA</A></H4> | 220 <H4><A NAME="dga">2.3.1.2.2 DGA</A></H4> |
221 | 221 |
222 | 222 |
223 <H4><A NAME="dga_summary">2.3.1.2.2.1 Summary</A></H4> | 223 <H5>PREAMBLE</H4> |
224 | 224 |
225 <P>This document tries to explain in some words what DGA is in general and what | 225 <P>This section tries to explain in some words what DGA is in general and what |
226 the DGA video output driver for MPlayer can do (and what it | 226 the DGA video output driver for MPlayer can do (and what it can't).</P> |
227 can't).</P> | 227 |
228 | 228 |
229 | 229 <H5>WHAT IS DGA</H5> |
230 <H4><A NAME="dga_whatis">2.3.1.2.2.2 What is DGA</A></H4> | |
231 | 230 |
232 <P>DGA is short for Direct Graphics Access and is a means for a program to | 231 <P>DGA is short for Direct Graphics Access and is a means for a program to |
233 bypass the X-Server and directly modifying the framebuffer memory. | 232 bypass the X-Server and directly modifying the framebuffer memory. |
234 Technically spoken this happens by mapping the framebuffer memory into | 233 Technically spoken this happens by mapping the framebuffer memory into |
235 the memory range of your process. This is allowed by the kernel only | 234 the memory range of your process. This is allowed by the kernel only |
249 running a 32 bit depth X server, switch to a depth of 15 bits and vice | 248 running a 32 bit depth X server, switch to a depth of 15 bits and vice |
250 versa. </P> | 249 versa. </P> |
251 | 250 |
252 <P>However DGA has some drawbacks. It seems it is somewhat dependent on the | 251 <P>However DGA has some drawbacks. It seems it is somewhat dependent on the |
253 graphics chip you use and on the implementation of the X server's video | 252 graphics chip you use and on the implementation of the X server's video |
254 driver that controls this chip. So it does not work on every system ...</P> | 253 driver that controls this chip. So it does not work on every system.</P> |
255 | 254 |
256 | 255 |
257 <H4><A NAME="dga_installation">2.3.1.2.2.3 Installing DGA support for MPlayer</A></H4> | 256 <H5>INSTALLING DGA SUPPORT FOR MPLAYER</H5> |
258 | 257 |
259 <P>First make sure X loads the DGA extension, see in /var/log/XFree86.0.log:</P> | 258 <P>First make sure X loads the DGA extension, see in /var/log/XFree86.0.log:</P> |
260 | 259 |
261 <P> <CODE>(II) Loading extension XFree86-DGA</CODE></P> | 260 <P> <CODE>(II) Loading extension XFree86-DGA</CODE></P> |
262 | 261 |
289 <P>Now use the <CODE>-vo dga</CODE> option, and there you go (hope so :))! | 288 <P>Now use the <CODE>-vo dga</CODE> option, and there you go (hope so :))! |
290 You should also try if the <CODE>-vo sdl:dga</CODE> option works for you. It's | 289 You should also try if the <CODE>-vo sdl:dga</CODE> option works for you. It's |
291 much faster.</P> | 290 much faster.</P> |
292 | 291 |
293 | 292 |
294 <H4><A NAME="dga_resolution">2.3.1.2.2.4 Resolution switching</A></H4> | 293 <H5>RESOLUTION SWITCHING</H5> |
295 | 294 |
296 <P>The DGA driver allows for switching the resolution of the output signal. | 295 <P>The DGA driver allows for switching the resolution of the output signal. |
297 This avoids the need for doing (slow) software scaling and at the same time | 296 This avoids the need for doing (slow) software scaling and at the same time |
298 provides a fullscreen image. Ideally it would switch to the exact resolution | 297 provides a fullscreen image. Ideally it would switch to the exact resolution |
299 (except for honoring aspect ratio) of the video data, but the X server only | 298 (except for honoring aspect ratio) of the video data, but the X server only |
304 config file on startup and disables the modelines not suitable for your | 303 config file on startup and disables the modelines not suitable for your |
305 hardware. You can find out which modes survive with the X11 log file. It can | 304 hardware. You can find out which modes survive with the X11 log file. It can |
306 be found at: | 305 be found at: |
307 <CODE>/var/log/XFree86.0.log</CODE>.</P> | 306 <CODE>/var/log/XFree86.0.log</CODE>.</P> |
308 | 307 |
309 <P>See appendix A for some sample modeline definitions.</P> | 308 <P>See some working modeline definitions <A HREF="#dga_modelines">here</A>.</P> |
310 | 309 |
311 | 310 |
312 <H4><A NAME="dga_mplayer">2.3.1.2.2.5 DGA & MPlayer</A></H4> | 311 <H5>DGA & MPLAYER</H5> |
313 | 312 |
314 <P>DGA is used in two places with MPlayer: The SDL driver can be made to | 313 <P>DGA is used in two places with MPlayer: The SDL driver can be made to |
315 make use of it (-vo sdl:dga) and within the DGA driver (-vo dga). The above | 314 make use of it (-vo sdl:dga) and within the DGA driver (-vo dga). The above |
316 said is true for both; in the following sections I'll explain how the DGA | 315 said is true for both; in the following sections I'll explain how the DGA |
317 driver for MPlayer works.</P> | 316 driver for MPlayer works.</P> |
318 | 317 |
319 | 318 |
320 <H4><A NAME="dga_features">2.3.1.2.2.6 Features of the DGA driver</A></H4> | 319 <H5>FEATURES</H5> |
321 | 320 |
322 <P>The DGA driver is invoked by specifying -vo dga at the command line. | 321 <P>The DGA driver is invoked by specifying -vo dga at the command line. |
323 The default behavior is to switch to a resolution matching the original | 322 The default behavior is to switch to a resolution matching the original |
324 resolution of the video as close as possible. It deliberately ignores the | 323 resolution of the video as close as possible. It deliberately ignores the |
325 -vm and -fs options (enabling of video mode switching and fullscreen) - | 324 -vm and -fs options (enabling of video mode switching and fullscreen) - |
354 works with doublebuffering enabled. However, enabling doublebuffering may | 353 works with doublebuffering enabled. However, enabling doublebuffering may |
355 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of | 354 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of |
356 CPU time!) depending on the implementation of DGA for your hardware.</P> | 355 CPU time!) depending on the implementation of DGA for your hardware.</P> |
357 | 356 |
358 | 357 |
359 <H4><A NAME="dga_speed">2.3.1.2.2.7 Speed issues</A></H4> | 358 <H5>SPEED ISSUES</H5> |
360 | 359 |
361 <P>Generally spoken, DGA framebuffer access should be at least as fast as using | 360 <P>Generally spoken, DGA framebuffer access should be at least as fast as using |
362 the X11 driver with the additional benefit of getting a fullscreen image. | 361 the X11 driver with the additional benefit of getting a fullscreen image. |
363 The percentage speed values printed by MPlayer have to be interpreted | 362 The percentage speed values printed by MPlayer have to be interpreted |
364 with some care, as for example, with the X11 driver they do not include the | 363 with some care, as for example, with the X11 driver they do not include the |
365 time used by the X-Server needed for the actual drawing. Hook a terminal to a | 364 time used by the X-Server needed for the actual drawing. Hook a terminal to a |
366 serial line of your box and start top to see what is really going on in your | 365 serial line of your box and start top to see what is really going on in your |
367 box...</P> | 366 box.</P> |
368 | 367 |
369 <P>Generally spoken, the speedup done by using DGA against 'normal' use of X11 | 368 <P>Generally spoken, the speedup done by using DGA against 'normal' use of X11 |
370 highly depends on your graphics card and how well the X-Server module for it | 369 highly depends on your graphics card and how well the X-Server module for it |
371 is optimized.</P> | 370 is optimized.</P> |
372 | 371 |
379 | 378 |
380 <P>I've seen some AVI files already be replayed on a Pentium MMX 266. AMD K6-2 | 379 <P>I've seen some AVI files already be replayed on a Pentium MMX 266. AMD K6-2 |
381 CPUs might work at 400 MHZ and above.</P> | 380 CPUs might work at 400 MHZ and above.</P> |
382 | 381 |
383 | 382 |
384 <H4><A NAME="dga_bugs">2.3.1.2.2.8 Known bugs</A></H4> | 383 <H5>KNOWN BUGS</H5> |
385 | 384 |
386 <P>Well, according to some developers of XFree, DGA is quite a beast. They | 385 <P>Well, according to some developers of XFree, DGA is quite a beast. They |
387 tell you better not to use it. Its implementation is not always flawless | 386 tell you better not to use it. Its implementation is not always flawless |
388 with every chipset driver for XFree out there.</P> | 387 with every chipset driver for XFree out there.</P> |
389 | 388 |
395 <LI>Some drivers simply fail to switch back to normal resolution (use | 394 <LI>Some drivers simply fail to switch back to normal resolution (use |
396 Ctrl-Alt-Keypad +, - to switch back manually).</LI> | 395 Ctrl-Alt-Keypad +, - to switch back manually).</LI> |
397 <LI>Some drivers simply display strange colors.</LI> | 396 <LI>Some drivers simply display strange colors.</LI> |
398 <LI>Some drivers lie about the amount of memory they map into the process's | 397 <LI>Some drivers lie about the amount of memory they map into the process's |
399 address space, thus vo_dga won't use doublebuffering (SIS?).</LI> | 398 address space, thus vo_dga won't use doublebuffering (SIS?).</LI> |
400 <LI>some drivers seem to fail to report even a single valid mode. In this | 399 <LI>Some drivers seem to fail to report even a single valid mode. In this |
401 case the DGA driver will crash telling you about a nonsense mode of | 400 case the DGA driver will crash telling you about a nonsense mode of |
402 100000x100000 or the like ...</LI> | 401 100000x100000 or someathing like that.</LI> |
403 <LI>OSD only works with doublebuffering enabled.</LI> | 402 <LI>OSD only works with doublebuffering enabled (else it flickers).</LI> |
404 </UL> | 403 </UL> |
405 | 404 |
406 | 405 |
407 <H4><A NAME="dga_modelines">2.3.1.2.2.A Some modelines</A></H4> | 406 <H5><A NAME="dga_modelines">SOME MODELINES</A></H5> |
408 | 407 |
409 <PRE> | 408 <PRE> |
410 Section "Modes" | 409 Section "Modes" |
411 Identifier "Modes[0]" | 410 Identifier "Modes[0]" |
412 Modeline "800x600" 40 800 840 968 1056 600 601 605 628 | 411 Modeline "800x600" 40 800 840 968 1056 600 601 605 628 |
417 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan | 416 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan |
418 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan | 417 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan |
419 EndSection | 418 EndSection |
420 </PRE> | 419 </PRE> |
421 | 420 |
422 <P>These entries work fine with my Riva128 chip, using nv.o X server driver | 421 <P>These entries work fine with authors (Acki) Riva128 chip, using nv.o X server driver |
423 module.</P> | 422 module.</P> |
424 | |
425 | |
426 <H4><A NAME="dga_bug_reports">2.3.1.2.2.B Bug Reports</A></H4> | |
427 | |
428 <P>If you experience troubles with the DGA driver please feel free to file | |
429 a bug report to me (e-mail address below). Please start MPlayer with | |
430 the -v option and include all lines in the bug report that start with | |
431 vo_dga:</P> | |
432 | |
433 <P>Please do also include the version of X11 you are using, the graphics card | |
434 and your CPU type. The X11 driver module (defined in XF86-Config) might | |
435 also help. Thanks!</P> | |
436 | |
437 <P><I>Acki (acki@acki-netz.de, www.acki-netz.de)</I></P> | |
438 | 423 |
439 | 424 |
440 <H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4> | 425 <H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4> |
441 | 426 |
442 <P>SDL (Simple Directmedia Layer) is basically a unified video/audio | 427 <P>SDL (Simple Directmedia Layer) is basically a unified video/audio |
478 <TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>toggles fullscreen/windowed mode</TD></TR> | 463 <TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>toggles fullscreen/windowed mode</TD></TR> |
479 <TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>cycles available fullscreen modes</TD></TR> | 464 <TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>cycles available fullscreen modes</TD></TR> |
480 <TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>mappings for * and / (mixer control)</TD></TR> | 465 <TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>mappings for * and / (mixer control)</TD></TR> |
481 </TABLE> | 466 </TABLE> |
482 | 467 |
483 <H4>Known bugs:</H4> | 468 <H5>KNOWN BUGS</H5> |
484 | 469 |
485 <UL> | 470 <UL> |
486 <LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa!) | 471 <LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa!) |
487 It's bug in SDL, I can't change it (tested with SDL 1.2.1).</LI> | 472 It's bug in SDL, I can't change it (tested with SDL 1.2.1).</LI> |
488 <LI>DO NOT USE SDL with GUI! It won't work as it should.</LI> | 473 <LI>DO NOT USE SDL with GUI! It won't work as it should.</LI> |
489 </UL> | 474 </UL> |
490 | 475 |
491 | 476 |
492 <H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4> | 477 <H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4> |
493 | 478 |
494 <H4>Installation</H4> | 479 <H5>INSTALLATION</H5> |
495 | 480 |
496 <P>You'll have to install svgalib and its development package in order for | 481 <P>You'll have to install svgalib and its development package in order for |
497 MPlayer build its SVGAlib driver (autodetected, but can be forced), | 482 MPlayer build its SVGAlib driver (autodetected, but can be forced), |
498 and don't forget to edit /etc/vga/libvga.config to suit your card & | 483 and don't forget to edit /etc/vga/libvga.config to suit your card & |
499 monitor.</P> | 484 monitor.</P> |
500 | 485 |
501 <H4>Notes</H4> | 486 <H5>NOTES</H5> |
502 | 487 |
503 <P>Be sure not to use the -fs option, since it toggles the usage of the software | 488 <P>Be sure not to use the -fs option, since it toggles the usage of the software |
504 scaler, and it's slow. If you really need it, use the <CODE>-sws 4</CODE> | 489 scaler, and it's slow. If you really need it, use the <CODE>-sws 4</CODE> |
505 option which will produce bad quality, but is somewhat faster.</P> | 490 option which will produce bad quality, but is somewhat faster.</P> |
506 | 491 |
507 <H4>EGA (4bpp) support</H4> | 492 <H5>EGA (4BPP) SUPPORT</H5> |
508 | 493 |
509 <P>SVGAlib incorporates EGAlib, and MPlayer has the possibility to | 494 <P>SVGAlib incorporates EGAlib, and MPlayer has the possibility to |
510 display any movie in 16 colors, thus usable in the following sets:</P> | 495 display any movie in 16 colors, thus usable in the following sets:</P> |
511 | 496 |
512 <UL> | 497 <UL> |
587 | 572 |
588 | 573 |
589 <H4><A NAME="mga_vid">2.3.1.2.6 Matrox framebuffer (mga_vid)</A></H4> | 574 <H4><A NAME="mga_vid">2.3.1.2.6 Matrox framebuffer (mga_vid)</A></H4> |
590 | 575 |
591 <P>This section is about the Matrox G200/G400/G450/G550 BES (Back-End Scaler) | 576 <P>This section is about the Matrox G200/G400/G450/G550 BES (Back-End Scaler) |
592 support, the mga_vid kernel driver. It's active developed by me (A'rpi), and | 577 support, the mga_vid kernel driver. It's active developed by A'rpi, and |
593 it has hardware VSYNC support with triple buffering. It works on both | 578 it has hardware VSYNC support with triple buffering. It works on both |
594 framebuffer console and under X.</P> | 579 framebuffer console and under X.</P> |
595 | 580 |
596 <P><B>NOTE</B>: This is Linux only! On non-Linux (tested on FreeBSD) systems, | 581 <P><B>NOTE</B>: This is Linux only! On non-Linux (tested on FreeBSD) systems, |
597 you can use <A HREF="#vidix">VIDIX</A> instead!</P> | 582 you can use <A HREF="#vidix">VIDIX</A> instead!</P> |
743 | 728 |
744 <P>So you have chances to get working TV-out by using this driver.<BR> | 729 <P>So you have chances to get working TV-out by using this driver.<BR> |
745 (I guess that TV-out frequently is standalone head or standalone output | 730 (I guess that TV-out frequently is standalone head or standalone output |
746 at least.)</P> | 731 at least.)</P> |
747 | 732 |
748 <H4>Advantages:</H4> | 733 <H5>ADVANTAGES</H5> |
749 | 734 |
750 <UL> | 735 <UL> |
751 <LI>You have the possibility to watch movies <B>even if Linux doesn't know</B> | 736 <LI>You have the possibility to watch movies <B>even if Linux doesn't know</B> |
752 your video hardware.</LI> | 737 your video hardware.</LI> |
753 <LI>You don't need to have installed any graphics' related things on your Linux | 738 <LI>You don't need to have installed any graphics' related things on your Linux |
756 <LI>You have chances to get <B>working TV-out</B>. (It's known at least for | 741 <LI>You have chances to get <B>working TV-out</B>. (It's known at least for |
757 ATI's cards).</LI> | 742 ATI's cards).</LI> |
758 <LI>This driver calls <B>int 10h</B> handler thus it's not an emulator - it | 743 <LI>This driver calls <B>int 10h</B> handler thus it's not an emulator - it |
759 calls <B>real</B> things of <B>real</B> BIOS in <B>real</B>-mode. (Finely - | 744 calls <B>real</B> things of <B>real</B> BIOS in <B>real</B>-mode. (Finely - |
760 in vm86 mode).</LI> | 745 in vm86 mode).</LI> |
761 <LI>You can use Vidix with it, thus getting accelerated video display | 746 <LI>You can use VIDIX with it, thus getting accelerated video display |
762 <B>AND</B> TV output at the same time! (recommended for ATI cards)</LI> | 747 <B>AND</B> TV output at the same time! (recommended for ATI cards)</LI> |
763 <LI>If you have VESA VBE 3.0+, and you had specified <CODE>monitor_hfreq</CODE>, | 748 <LI>If you have VESA VBE 3.0+, and you had specified <CODE>monitor_hfreq</CODE>, |
764 <CODE>monitor_vfreq</CODE>, <CODE>monitor_dotclock</CODE> somewhere (config | 749 <CODE>monitor_vfreq</CODE>, <CODE>monitor_dotclock</CODE> somewhere (config |
765 file, or commandline) you will get the highest possible refresh rate. (Using | 750 file, or commandline) you will get the highest possible refresh rate. (Using |
766 General Timing Formula). To enable this feature you have to specify | 751 General Timing Formula). To enable this feature you have to specify |
767 <B>all</B> your monitor options.</LI> | 752 <B>all</B> your monitor options.</LI> |
768 </UL> | 753 </UL> |
769 | 754 |
770 <H4>Disadvantages:</H4> | 755 <H5>DISADVANTAGES</H5> |
771 | 756 |
772 <UL> | 757 <UL> |
773 <LI>It works only on <B>x86 systems</B>.</LI> | 758 <LI>It works only on <B>x86 systems</B>.</LI> |
774 <LI>It can be used only by <B>root</B>.</LI> | 759 <LI>It can be used only by <B>root</B>.</LI> |
775 <LI>Currently it's available only for <B>Linux</B>.</LI> | 760 <LI>Currently it's available only for <B>Linux</B>.</LI> |
776 </UL> | 761 </UL> |
777 | 762 |
778 <P>Don't use this driver with <B>GCC 2.96</B>! It won't work!</P> | 763 <P>Don't use this driver with <B>GCC 2.96</B>! It won't work!</P> |
779 | 764 |
780 <P><B>Command line options available for VESA:</B></P> | 765 <H5>COMMAND LINE OPTIONS AVAILABLE FOR VESA</H5> |
781 <DL> | 766 <DL> |
782 <DT><CODE>-vo vesa:opts</CODE></DT> | 767 <DT><CODE>-vo vesa:opts</CODE></DT> |
783 <DD>currently recognized: <B>dga</B> to force dga mode and <B>nodga</B> to | 768 <DD>currently recognized: <B>dga</B> to force dga mode and <B>nodga</B> to |
784 disable dga mode. In dga mode you can enable double buffering via the | 769 disable dga mode. In dga mode you can enable double buffering via the |
785 <CODE>-double</CODE> option. Note: you may omit these parameters to enable | 770 <CODE>-double</CODE> option. Note: you may omit these parameters to enable |
786 <B>autodetection</B> of dga mode.</DD> | 771 <B>autodetection</B> of dga mode.</DD> |
787 </DL> | 772 </DL> |
788 | 773 |
789 <H4>Known problems and workaround:</H4> | 774 <H5>KNOWN PROBLEMS AND WORKAROUNDS</H5> |
790 | 775 |
791 <UL> | 776 <UL> |
792 <LI>If you have installed <B>NLS</B> font on your Linux box and run VESA | 777 <LI>If you have installed <B>NLS</B> font on your Linux box and run VESA |
793 driver from text-mode then after terminating MPlayer you will have | 778 driver from text-mode then after terminating MPlayer you will have |
794 <B>ROM font</B> loaded instead of national. You can load national font again | 779 <B>ROM font</B> loaded instead of national. You can load national font again |
838 video modes.</P> | 823 video modes.</P> |
839 | 824 |
840 | 825 |
841 <H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4> | 826 <H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4> |
842 | 827 |
843 <P>VIDIX is the abbreviation for <B>VID</B>eo <B>I</B>nterface for | 828 <H5>PREAMBLE</H5> |
844 *ni<B>X</B>.<BR> | 829 |
845 VIDIX was designed and introduced as an interface for fast user-space drivers | 830 <P>VIDIX is the abbreviation for <B>VID</B>eo <B>I</B>nterface for *ni<B>X</B>. |
846 providing such video performance as mga_vid does for Matrox cards. It's | 831 It was designed and introduced as an interface for fast user-space drivers |
847 also very portable.</P> | 832 providing such video performance as mga_vid does for Matrox cards. It's also |
833 very portable.</P> | |
848 | 834 |
849 <P>This interface was designed as an attempt to fit existing video acceleration | 835 <P>This interface was designed as an attempt to fit existing video acceleration |
850 interfaces (known as mga_vid, rage128_vid, radeon_vid, pm3_vid) into a fixed scheme. It | 836 interfaces (known as mga_vid, rage128_vid, radeon_vid, pm3_vid) into a fixed scheme. It |
851 provides highlevel interface to chips which are known as BES (BackEnd | 837 provides highlevel interface to chips which are known as BES (BackEnd |
852 scalers) or OV (Video Overlays). It doesn't provide lowlevel interface to | 838 scalers) or OV (Video Overlays). It doesn't provide lowlevel interface to |
853 things which are known as graphics servers. (I don't want to compete with X11 | 839 things which are known as graphics servers. (I don't want to compete with X11 |
854 team in graphics mode switching). I.e. main goal of this interface is to | 840 team in graphics mode switching). I.e. main goal of this interface is to |
855 maximize the speed of video playback.</P> | 841 maximize the speed of video playback.</P> |
856 | 842 |
857 <H4>USAGE</H4> | 843 <H5>USAGE</H5> |
858 | 844 |
859 <UL> | 845 <UL> |
860 <LI>You can use standalone video output driver: <CODE>-vo xvidix</CODE><BR> | 846 <LI>You can use standalone video output driver: <CODE>-vo xvidix</CODE><BR> |
861 This driver was developed as X11's front end to VIDIX technology. It | 847 This driver was developed as X11's front end to VIDIX technology. It |
862 requires X server and can work only under X server. Note that, as it | 848 requires X server and can work only under X server. Note that, as it |
872 <CODE>-vo vesa:vidix</CODE> (<B>Linux only</B>) and <CODE>-vo fbdev:vidix</CODE></LI> | 858 <CODE>-vo vesa:vidix</CODE> (<B>Linux only</B>) and <CODE>-vo fbdev:vidix</CODE></LI> |
873 </UL> | 859 </UL> |
874 | 860 |
875 Indeed it doesn't matter which video output driver is used with <B>VIDIX</B>. | 861 Indeed it doesn't matter which video output driver is used with <B>VIDIX</B>. |
876 | 862 |
877 <H4>REQUIREMENTS</H4> | 863 <H5>REQUIREMENTS</H5> |
878 | 864 |
879 <UL> | 865 <UL> |
880 <LI>video card should be in graphics mode (I write <B>should</B> simply | 866 <LI>video card should be in graphics mode (I write <B>should</B> simply |
881 because I tested it in text mode - it works but has awful output ;) Use | 867 because I tested it in text mode - it works but has awful output ;) Use |
882 AAlib for that).<BR> | 868 AAlib for that).<BR> |
884 vo_vesa driver.</I></LI> | 870 vo_vesa driver.</I></LI> |
885 <LI>MPlayer's video output driver should know active video mode and be | 871 <LI>MPlayer's video output driver should know active video mode and be |
886 able to tell to VIDIX subdevice some video characteristics of server.</LI> | 872 able to tell to VIDIX subdevice some video characteristics of server.</LI> |
887 </UL> | 873 </UL> |
888 | 874 |
889 <H4>USAGE METHODS</H4> | 875 <H5>USAGE METHODS</H5> |
890 | 876 |
891 <P>When VIDIX is used as <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) then | 877 <P>When VIDIX is used as <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) then |
892 video mode configuration is performed by video output device | 878 video mode configuration is performed by video output device |
893 (<B>vo_server</B> in short). Therefore you can pass into command line of | 879 (<B>vo_server</B> in short). Therefore you can pass into command line of |
894 MPlayer the same keys as for vo_server. In addition it understands | 880 MPlayer the same keys as for vo_server. In addition it understands |
895 <CODE>-double</CODE> key as globally visible parameter. (I recommend using | 881 <CODE>-double</CODE> key as globally visible parameter. (I recommend using |
896 this key with VIDIX at least for ATI's card).<BR> | 882 this key with VIDIX at least for ATI cards).<BR> |
897 As for <CODE>-vo xvidix</CODE>: currently it recognizes the following | 883 As for <CODE>-vo xvidix</CODE>: currently it recognizes the following |
898 options: <CODE>-fs -zoom -x -y -double</CODE>.</P> | 884 options: <CODE>-fs -zoom -x -y -double</CODE>.</P> |
899 | 885 |
900 <P>Also you can specify VIDIX's driver directly as third subargument in command | 886 <P>Also you can specify VIDIX's driver directly as third subargument in command |
901 line:<BR> | 887 line:<BR> |
911 computer). You should do that ONLY if you are absolutely sure it will work, | 897 computer). You should do that ONLY if you are absolutely sure it will work, |
912 and MPlayer doesn't do it automatically. Please tell about it to the | 898 and MPlayer doesn't do it automatically. Please tell about it to the |
913 developers. The Right Way is to use VIDIX without arguments to enable driver | 899 developers. The Right Way is to use VIDIX without arguments to enable driver |
914 autodetection.</P> | 900 autodetection.</P> |
915 | 901 |
916 <P>VIDIX is very new technology and it's extremely possible that on your system | 902 <P>VIDIX is a new technology and it's extremely possible that on your system |
917 (OS=abc CPU=xyz) it won't work. In this case the only solution for you is | 903 it won't work. In this case the only solution for you is porting (mainly |
918 porting (mainly libdha) it. But there is a hope, that it will work on those | 904 libdha) it. But there is a hope, that it will work on those systems where X11 |
919 systems where X11 does.</P> | 905 does.</P> |
920 | 906 |
921 <P>Since VIDIX requires direct hardware access you can either run it as root or | 907 <P>Since VIDIX requires direct hardware access you can either run it as root or |
922 set the SUID bit on the MPlayer binary (<B>Warning: This is a security | 908 set the SUID bit on the MPlayer binary (<B>Warning: This is a security |
923 risk!</B>). Alternatively, you can use a special kernel module, like this:</P> | 909 risk!</B>). Alternatively, you can use a special kernel module, like this:</P> |
924 | 910 |
925 <OL> | 911 <OL> |
926 <LI>Download the | 912 <LI>Download the |
927 <A HREF="http://www.arava.co.il/matan/svgalib/">development version</A> | 913 <A HREF="http://www.arava.co.il/matan/svgalib/">development version</A> |
928 of svgalib (for example 1.9.17).</LI> | 914 of svgalib (for example 1.9.17).</LI> |
929 <LI>Move the <CODE>svgalib-1.9.17/kernel/svgalib_helper</CODE> directory to | 915 <LI><B>OR</B> download a version made by Alex especially for usage with |
916 MPlayer (it doesn't need the svgalib source to compile) from | |
917 <A HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2"> | |
918 here</A>. | |
919 <LI>Compile the module in the <CODE>svgalib_helper</CODE> directory (it can | |
920 be found inside the <CODE>svgalib-1.9.17/kernel/</CODE> directory if you've | |
921 downloaded the source from the svgalib site) and insmod it.</LI> | |
922 <LI>Move the <CODE>svgalib_helper</CODE> directory to | |
930 <CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI> | 923 <CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI> |
931 <LI>Compile the module in the <CODE> svgalib_helper</CODE> directory and | 924 <LI>Required if you download the source from the svgalib site: remove the |
932 insmod it.</LI> | 925 comment before the CFLAGS line containing "svgalib_helper" string from the |
926 <CODE>libdha/Makefile</CODE>.</LI> | |
933 <LI>Recompile and install libdha.</LI> | 927 <LI>Recompile and install libdha.</LI> |
934 </OL> | 928 </OL> |
935 | 929 |
936 | 930 |
937 <H4><A NAME="vidix_ati">2.3.1.2.12.1 ATI cards</A></H4> | 931 <H4><A NAME="vidix_ati">2.3.1.2.12.1 ATI cards</A></H4> |
1028 ./configure --with-extraincdir=<DVB source directory>/ost/include | 1022 ./configure --with-extraincdir=<DVB source directory>/ost/include |
1029 </PRE> | 1023 </PRE> |
1030 | 1024 |
1031 <P>Then compile and install as usual.</P> | 1025 <P>Then compile and install as usual.</P> |
1032 | 1026 |
1033 <H4>USAGE</H4> | 1027 <H5>USAGE</H5> |
1034 | 1028 |
1035 <P>Hardware decoding (playing standard MPEG1/2 files) can be done with this | 1029 <P>Hardware decoding (playing standard MPEG1/2 files) can be done with this |
1036 command:</P> | 1030 command:</P> |
1037 | 1031 |
1038 <PRE> | 1032 <PRE> |
1097 <PRE> | 1091 <PRE> |
1098 for 3:4 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale | 1092 for 3:4 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale |
1099 for 16:9 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale=1024 | 1093 for 16:9 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale=1024 |
1100 </PRE> | 1094 </PRE> |
1101 | 1095 |
1102 <H4>FUTURE</H4> | 1096 <H5>FUTURE</H5> |
1103 | 1097 |
1104 <P>If you have questions or want to hear feature announcements and take part in | 1098 <P>If you have questions or want to hear feature announcements and take part in |
1105 discussions on this subject, join our | 1099 discussions on this subject, join our |
1106 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A> | 1100 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A> |
1107 mailing list. Please remember that the list language is English.</P> | 1101 mailing list. Please remember that the list language is English.</P> |
1127 0.12.0 or later. You can find the drivers and installation instructions at | 1121 0.12.0 or later. You can find the drivers and installation instructions at |
1128 the <A HREF="http://dxr3.sourceforge.net/">DXR3 & Hollywood Plus for | 1122 the <A HREF="http://dxr3.sourceforge.net/">DXR3 & Hollywood Plus for |
1129 Linux</A> site. Configure should detect your card automatically, compilation | 1123 Linux</A> site. Configure should detect your card automatically, compilation |
1130 should go without problems.</P> | 1124 should go without problems.</P> |
1131 | 1125 |
1132 <H4>Usage:</H4> | 1126 <H5>USAGE</H5> |
1133 <DL> | 1127 <DL> |
1134 <DT><CODE>-vo dxr3:prebuf:sync:norm=x:<device></CODE></DT> | 1128 <DT><CODE>-vo dxr3:prebuf:sync:norm=x:<device></CODE></DT> |
1135 <DD><CODE>overlay</CODE> activates the overlay instead of TVOut. It requires | 1129 <DD><CODE>overlay</CODE> activates the overlay instead of TVOut. It requires |
1136 that you have a properly configured overlay setup to work right. The easiest | 1130 that you have a properly configured overlay setup to work right. The easiest |
1137 way to configure the overlay is to first run autocal. Then run mplayer with | 1131 way to configure the overlay is to first run autocal. Then run mplayer with |