comparison DOCS/video.html @ 9282:513e02e2e553

fixing others' 10/100liters
author gabucino
date Tue, 04 Feb 2003 21:38:31 +0000
parents ea27d0f2d90d
children 385a16aa237a
comparison
equal deleted inserted replaced
9281:1a11de853e51 9282:513e02e2e553
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 <H5>PREAMBLE</H5> 223 <H4>PREAMBLE</H4>
224 224
225 <P>This section 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 can't).</P> 226 the DGA video output driver for MPlayer can do (and what it can't).</P>
227 227
228 228
229 <H5>WHAT IS DGA</H5> 229 <H4>WHAT IS DGA</H4>
230 230
231 <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
232 bypass the X-Server and directly modifying the framebuffer memory. 232 bypass the X-Server and directly modifying the framebuffer memory.
233 Technically spoken this happens by mapping the framebuffer memory into 233 Technically spoken this happens by mapping the framebuffer memory into
234 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
251 <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
252 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
253 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>
254 254
255 255
256 <H5>INSTALLING DGA SUPPORT FOR MPLAYER</H5> 256 <H4>INSTALLING DGA SUPPORT FOR MPLAYER</H4>
257 257
258 <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>
259 259
260 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P> 260 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>(II) Loading extension XFree86-DGA</CODE></P>
261 261
288 <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 :))!
289 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
290 much faster.</P> 290 much faster.</P>
291 291
292 292
293 <H5>RESOLUTION SWITCHING</H5> 293 <H4>RESOLUTION SWITCHING</H4>
294 294
295 <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.
296 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
297 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
298 (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
320 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan 320 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
321 EndSection 321 EndSection
322 </PRE> 322 </PRE>
323 323
324 324
325 <H5>DGA &amp; MPLAYER</H5> 325 <H4>DGA &amp; MPLAYER</H4>
326 326
327 <P>DGA is used in two places with MPlayer: The SDL driver can be made to 327 <P>DGA is used in two places with MPlayer: The SDL driver can be made to
328 make use of it (-vo sdl:dga) and within the DGA driver (-vo dga). The above 328 make use of it (-vo sdl:dga) and within the DGA driver (-vo dga). The above
329 said is true for both; in the following sections I'll explain how the DGA 329 said is true for both; in the following sections I'll explain how the DGA
330 driver for MPlayer works.</P> 330 driver for MPlayer works.</P>
331 331
332 332
333 <H5>FEATURES</H5> 333 <H4>FEATURES</H4>
334 334
335 <P>The DGA driver is invoked by specifying -vo dga at the command line. 335 <P>The DGA driver is invoked by specifying -vo dga at the command line.
336 The default behavior is to switch to a resolution matching the original 336 The default behavior is to switch to a resolution matching the original
337 resolution of the video as close as possible. It deliberately ignores the 337 resolution of the video as close as possible. It deliberately ignores the
338 -vm and -fs options (enabling of video mode switching and fullscreen) - 338 -vm and -fs options (enabling of video mode switching and fullscreen) -
367 works with doublebuffering enabled. However, enabling doublebuffering may 367 works with doublebuffering enabled. However, enabling doublebuffering may
368 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of 368 result in a big speed penalty (on my K6-II+ 525 it used an additional 20% of
369 CPU time!) depending on the implementation of DGA for your hardware.</P> 369 CPU time!) depending on the implementation of DGA for your hardware.</P>
370 370
371 371
372 <H5>SPEED ISSUES</H5> 372 <H4>SPEED ISSUES</H4>
373 373
374 <P>Generally spoken, DGA framebuffer access should be at least as fast as using 374 <P>Generally spoken, DGA framebuffer access should be at least as fast as using
375 the X11 driver with the additional benefit of getting a fullscreen image. 375 the X11 driver with the additional benefit of getting a fullscreen image.
376 The percentage speed values printed by MPlayer have to be interpreted 376 The percentage speed values printed by MPlayer have to be interpreted
377 with some care, as for example, with the X11 driver they do not include the 377 with some care, as for example, with the X11 driver they do not include the
392 392
393 <P>I've seen some AVI files already be replayed on a Pentium MMX 266. AMD K6-2 393 <P>I've seen some AVI files already be replayed on a Pentium MMX 266. AMD K6-2
394 CPUs might work at 400 MHZ and above.</P> 394 CPUs might work at 400 MHZ and above.</P>
395 395
396 396
397 <H5>KNOWN BUGS</H5> 397 <H4>KNOWN BUGS</H4>
398 398
399 <P>Well, according to some developers of XFree, DGA is quite a beast. They 399 <P>Well, according to some developers of XFree, DGA is quite a beast. They
400 tell you better not to use it. Its implementation is not always flawless 400 tell you better not to use it. Its implementation is not always flawless
401 with every chipset driver for XFree out there.</P> 401 with every chipset driver for XFree out there.</P>
402 402
458 <TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>toggles fullscreen/windowed mode</TD></TR> 458 <TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>toggles fullscreen/windowed mode</TD></TR>
459 <TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>cycles available fullscreen modes</TD></TR> 459 <TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>cycles available fullscreen modes</TD></TR>
460 <TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>mappings for * and / (mixer control)</TD></TR> 460 <TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>mappings for * and / (mixer control)</TD></TR>
461 </TABLE> 461 </TABLE>
462 462
463 <H5>KNOWN BUGS</H5> 463 <H4>KNOWN BUGS</H4>
464 464
465 <UL> 465 <UL>
466 <LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa!) 466 <LI>Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa!)
467 It's bug in SDL, I can't change it (tested with SDL 1.2.1).</LI> 467 It's bug in SDL, I can't change it (tested with SDL 1.2.1).</LI>
468 <LI>DO NOT USE SDL with GUI! It won't work as it should.</LI> 468 <LI>DO NOT USE SDL with GUI! It won't work as it should.</LI>
469 </UL> 469 </UL>
470 470
471 471
472 <H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4> 472 <H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4>
473 473
474 <H5>INSTALLATION</H5> 474 <H4>INSTALLATION</H4>
475 475
476 <P>You'll have to install svgalib and its development package in order for 476 <P>You'll have to install svgalib and its development package in order for
477 MPlayer build its SVGAlib driver (autodetected, but can be forced), 477 MPlayer build its SVGAlib driver (autodetected, but can be forced),
478 and don't forget to edit /etc/vga/libvga.config to suit your card &amp; 478 and don't forget to edit /etc/vga/libvga.config to suit your card &amp;
479 monitor.</P> 479 monitor.</P>
480 480
481 <H5>NOTES</H5> 481 <H4>NOTES</H4>
482 482
483 <P>Be sure not to use the -fs option, since it toggles the usage of the software 483 <P>Be sure not to use the -fs option, since it toggles the usage of the software
484 scaler, and it's slow. If you really need it, use the <CODE>-sws 4</CODE> 484 scaler, and it's slow. If you really need it, use the <CODE>-sws 4</CODE>
485 option which will produce bad quality, but is somewhat faster.</P> 485 option which will produce bad quality, but is somewhat faster.</P>
486 486
487 <H5>EGA (4BPP) SUPPORT</H5> 487 <H4>EGA (4BPP) SUPPORT</H4>
488 488
489 <P>SVGAlib incorporates EGAlib, and MPlayer has the possibility to 489 <P>SVGAlib incorporates EGAlib, and MPlayer has the possibility to
490 display any movie in 16 colors, thus usable in the following sets:</P> 490 display any movie in 16 colors, thus usable in the following sets:</P>
491 491
492 <UL> 492 <UL>
723 723
724 <P>So you have chances to get working TV-out by using this driver.<BR> 724 <P>So you have chances to get working TV-out by using this driver.<BR>
725 (I guess that TV-out frequently is standalone head or standalone output 725 (I guess that TV-out frequently is standalone head or standalone output
726 at least.)</P> 726 at least.)</P>
727 727
728 <H5>ADVANTAGES</H5> 728 <H4>ADVANTAGES</H4>
729 729
730 <UL> 730 <UL>
731 <LI>You have the possibility to watch movies <B>even if Linux doesn't know</B> 731 <LI>You have the possibility to watch movies <B>even if Linux doesn't know</B>
732 your video hardware.</LI> 732 your video hardware.</LI>
733 <LI>You don't need to have installed any graphics' related things on your Linux 733 <LI>You don't need to have installed any graphics' related things on your Linux
745 file, or commandline) you will get the highest possible refresh rate. (Using 745 file, or commandline) you will get the highest possible refresh rate. (Using
746 General Timing Formula). To enable this feature you have to specify 746 General Timing Formula). To enable this feature you have to specify
747 <B>all</B> your monitor options.</LI> 747 <B>all</B> your monitor options.</LI>
748 </UL> 748 </UL>
749 749
750 <H5>DISADVANTAGES</H5> 750 <H4>DISADVANTAGES</H4>
751 751
752 <UL> 752 <UL>
753 <LI>It works only on <B>x86 systems</B>.</LI> 753 <LI>It works only on <B>x86 systems</B>.</LI>
754 <LI>It can be used only by <B>root</B>.</LI> 754 <LI>It can be used only by <B>root</B>.</LI>
755 <LI>Currently it's available only for <B>Linux</B>.</LI> 755 <LI>Currently it's available only for <B>Linux</B>.</LI>
756 </UL> 756 </UL>
757 757
758 <P>Don't use this driver with <B>GCC 2.96</B>! It won't work!</P> 758 <P>Don't use this driver with <B>GCC 2.96</B>! It won't work!</P>
759 759
760 <H5>COMMAND LINE OPTIONS AVAILABLE FOR VESA</H5> 760 <H4>COMMAND LINE OPTIONS AVAILABLE FOR VESA</H4>
761 <DL> 761 <DL>
762 <DT><CODE>-vo vesa:opts</CODE></DT> 762 <DT><CODE>-vo vesa:opts</CODE></DT>
763 <DD>currently recognized: <B>dga</B> to force dga mode and <B>nodga</B> to 763 <DD>currently recognized: <B>dga</B> to force dga mode and <B>nodga</B> to
764 disable dga mode. In dga mode you can enable double buffering via the 764 disable dga mode. In dga mode you can enable double buffering via the
765 <CODE>-double</CODE> option. Note: you may omit these parameters to enable 765 <CODE>-double</CODE> option. Note: you may omit these parameters to enable
766 <B>autodetection</B> of dga mode.</DD> 766 <B>autodetection</B> of dga mode.</DD>
767 </DL> 767 </DL>
768 768
769 <H5>KNOWN PROBLEMS AND WORKAROUNDS</H5> 769 <H4>KNOWN PROBLEMS AND WORKAROUNDS</H4>
770 770
771 <UL> 771 <UL>
772 <LI>If you have installed <B>NLS</B> font on your Linux box and run VESA 772 <LI>If you have installed <B>NLS</B> font on your Linux box and run VESA
773 driver from text-mode then after terminating MPlayer you will have 773 driver from text-mode then after terminating MPlayer you will have
774 <B>ROM font</B> loaded instead of national. You can load national font again 774 <B>ROM font</B> loaded instead of national. You can load national font again
818 video modes.</P> 818 video modes.</P>
819 819
820 820
821 <H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4> 821 <H4><A NAME="vidix">2.3.1.2.12 VIDIX</A></H4>
822 822
823 <H5>PREAMBLE</H5> 823 <H4>PREAMBLE</H4>
824 824
825 <P>VIDIX is the abbreviation for <B>VID</B>eo <B>I</B>nterface for *ni<B>X</B>. 825 <P>VIDIX is the abbreviation for <B>VID</B>eo <B>I</B>nterface for *ni<B>X</B>.
826 It was designed and introduced as an interface for fast user-space drivers 826 It was designed and introduced as an interface for fast user-space drivers
827 providing such video performance as mga_vid does for Matrox cards. It's also 827 providing such video performance as mga_vid does for Matrox cards. It's also
828 very portable.</P> 828 very portable.</P>
833 scalers) or OV (Video Overlays). It doesn't provide lowlevel interface to 833 scalers) or OV (Video Overlays). It doesn't provide lowlevel interface to
834 things which are known as graphics servers. (I don't want to compete with X11 834 things which are known as graphics servers. (I don't want to compete with X11
835 team in graphics mode switching). I.e. main goal of this interface is to 835 team in graphics mode switching). I.e. main goal of this interface is to
836 maximize the speed of video playback.</P> 836 maximize the speed of video playback.</P>
837 837
838 <H5>USAGE</H5> 838 <H4>USAGE</H4>
839 839
840 <UL> 840 <UL>
841 <LI>You can use standalone video output driver: <CODE>-vo xvidix</CODE><BR> 841 <LI>You can use standalone video output driver: <CODE>-vo xvidix</CODE><BR>
842 This driver was developed as X11's front end to VIDIX technology. It 842 This driver was developed as X11's front end to VIDIX technology. It
843 requires X server and can work only under X server. Note that, as it 843 requires X server and can work only under X server. Note that, as it
853 <CODE>-vo vesa:vidix</CODE> (<B>Linux only</B>) and <CODE>-vo fbdev:vidix</CODE></LI> 853 <CODE>-vo vesa:vidix</CODE> (<B>Linux only</B>) and <CODE>-vo fbdev:vidix</CODE></LI>
854 </UL> 854 </UL>
855 855
856 Indeed it doesn't matter which video output driver is used with <B>VIDIX</B>. 856 Indeed it doesn't matter which video output driver is used with <B>VIDIX</B>.
857 857
858 <H5>REQUIREMENTS</H5> 858 <H4>REQUIREMENTS</H4>
859 859
860 <UL> 860 <UL>
861 <LI>video card should be in graphics mode (I write <B>should</B> simply 861 <LI>video card should be in graphics mode (I write <B>should</B> simply
862 because I tested it in text mode - it works but has awful output ;) Use 862 because I tested it in text mode - it works but has awful output ;) Use
863 AAlib for that).<BR> 863 AAlib for that).<BR>
865 vo_vesa driver.</I></LI> 865 vo_vesa driver.</I></LI>
866 <LI>MPlayer's video output driver should know active video mode and be 866 <LI>MPlayer's video output driver should know active video mode and be
867 able to tell to VIDIX subdevice some video characteristics of server.</LI> 867 able to tell to VIDIX subdevice some video characteristics of server.</LI>
868 </UL> 868 </UL>
869 869
870 <H5>USAGE METHODS</H5> 870 <H4>USAGE METHODS</H4>
871 871
872 <P>When VIDIX is used as <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) then 872 <P>When VIDIX is used as <B>subdevice</B> (<CODE>-vo vesa:vidix</CODE>) then
873 video mode configuration is performed by video output device 873 video mode configuration is performed by video output device
874 (<B>vo_server</B> in short). Therefore you can pass into command line of 874 (<B>vo_server</B> in short). Therefore you can pass into command line of
875 MPlayer the same keys as for vo_server. In addition it understands 875 MPlayer the same keys as for vo_server. In addition it understands
903 risk!</B>). Alternatively, you can use a special kernel module, like this:</P> 903 risk!</B>). Alternatively, you can use a special kernel module, like this:</P>
904 904
905 <OL> 905 <OL>
906 <LI>Download the 906 <LI>Download the
907 <A HREF="http://www.arava.co.il/matan/svgalib/">development version</A> 907 <A HREF="http://www.arava.co.il/matan/svgalib/">development version</A>
908 of svgalib (for example 1.9.17).</LI> 908 of svgalib (for example 1.9.17),<BR>
909 <LI><B>OR</B> download a version made by Alex especially for usage with 909 <B>OR</B><BR>
910 download a version made by Alex especially for usage with
910 MPlayer (it doesn't need the svgalib source to compile) from 911 MPlayer (it doesn't need the svgalib source to compile) from
911 <A HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2"> 912 <A HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">
912 here</A>. 913 here</A>.</LI>
913 <LI>Compile the module in the <CODE>svgalib_helper</CODE> directory (it can 914 <LI>Compile the module in the <CODE>svgalib_helper</CODE> directory (it can
914 be found inside the <CODE>svgalib-1.9.17/kernel/</CODE> directory if you've 915 be found inside the <CODE>svgalib-1.9.17/kernel/</CODE> directory if you've
915 downloaded the source from the svgalib site) and insmod it.</LI> 916 downloaded the source from the svgalib site) and insmod it.</LI>
916 <LI>Move the <CODE>svgalib_helper</CODE> directory to 917 <LI>Move the <CODE>svgalib_helper</CODE> directory to
917 <CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI> 918 <CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI>
1016 ./configure --with-extraincdir=&lt;DVB source directory&gt;/ost/include 1017 ./configure --with-extraincdir=&lt;DVB source directory&gt;/ost/include
1017 </PRE> 1018 </PRE>
1018 1019
1019 <P>Then compile and install as usual.</P> 1020 <P>Then compile and install as usual.</P>
1020 1021
1021 <H5>USAGE</H5> 1022 <H4>USAGE</H4>
1022 1023
1023 <P>Hardware decoding (playing standard MPEG1/2 files) can be done with this 1024 <P>Hardware decoding (playing standard MPEG1/2 files) can be done with this
1024 command:</P> 1025 command:</P>
1025 1026
1026 <PRE> 1027 <PRE>
1085 <PRE> 1086 <PRE>
1086 for 3:4 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale 1087 for 3:4 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale
1087 for 16:9 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale=1024 1088 for 16:9 TV: -vop lavc,expand=-1:576:-1:-1:1,scale=-1:0,dvbscale=1024
1088 </PRE> 1089 </PRE>
1089 1090
1090 <H5>FUTURE</H5> 1091 <H4>FUTURE</H4>
1091 1092
1092 <P>If you have questions or want to hear feature announcements and take part in 1093 <P>If you have questions or want to hear feature announcements and take part in
1093 discussions on this subject, join our 1094 discussions on this subject, join our
1094 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A> 1095 <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A>
1095 mailing list. Please remember that the list language is English.</P> 1096 mailing list. Please remember that the list language is English.</P>
1115 0.12.0 or later. You can find the drivers and installation instructions at 1116 0.12.0 or later. You can find the drivers and installation instructions at
1116 the <A HREF="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus for 1117 the <A HREF="http://dxr3.sourceforge.net/">DXR3 &amp; Hollywood Plus for
1117 Linux</A> site. Configure should detect your card automatically, compilation 1118 Linux</A> site. Configure should detect your card automatically, compilation
1118 should go without problems.</P> 1119 should go without problems.</P>
1119 1120
1120 <H5>USAGE</H5> 1121 <H4>USAGE</H4>
1121 <DL> 1122 <DL>
1122 <DT><CODE>-vo dxr3:prebuf:sync:norm=x:&lt;device&gt;</CODE></DT> 1123 <DT><CODE>-vo dxr3:prebuf:sync:norm=x:&lt;device&gt;</CODE></DT>
1123 <DD><CODE>overlay</CODE> activates the overlay instead of TVOut. It requires 1124 <DD><CODE>overlay</CODE> activates the overlay instead of TVOut. It requires
1124 that you have a properly configured overlay setup to work right. The easiest 1125 that you have a properly configured overlay setup to work right. The easiest
1125 way to configure the overlay is to first run autocal. Then run mplayer with 1126 way to configure the overlay is to first run autocal. Then run mplayer with
1396 <A HREF="http://www3.sympatico.ca/dan.eriksen/matrox_tvout/">http://www3.sympatico.ca/dan.eriksen/matrox_tvout/</A></P> 1397 <A HREF="http://www3.sympatico.ca/dan.eriksen/matrox_tvout/">http://www3.sympatico.ca/dan.eriksen/matrox_tvout/</A></P>
1397 1398
1398 1399
1399 <H4><A NAME="tv-out_ati">2.3.1.5.3 ATI cards</A></H4> 1400 <H4><A NAME="tv-out_ati">2.3.1.5.3 ATI cards</A></H4>
1400 1401
1401 <H5>PREAMBLE</H5> 1402 <H4>PREAMBLE</H4>
1402 1403
1403 <P>Currently ATI doesn't want to support any of its TV-out chips under Linux, 1404 <P>Currently ATI doesn't want to support any of its TV-out chips under Linux,
1404 because of their licensed Macrovision technology.</P> 1405 because of their licensed Macrovision technology.</P>
1405 1406
1406 <H5>ATI CARDS TV-OUT STATUS ON LINUX</H5> 1407 <H4>ATI CARDS TV-OUT STATUS ON LINUX</H4>
1407 1408
1408 <UL> 1409 <UL>
1409 <LI><B>ATI Mach64</B>: Supported by 1410 <LI><B>ATI Mach64</B>: Supported by
1410 <A HREF="http://gatos.sf.net">gatos</A>.</LI> 1411 <A HREF="http://gatos.sf.net">gatos</A>.</LI>
1411 <LI><B>ASIC Radeon VIVO</B>: Supported by 1412 <LI><B>ASIC Radeon VIVO</B>: Supported by