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>&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>
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 &amp; MPlayer</A></H4> 311 <H5>DGA &amp; 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 &amp; 483 and don't forget to edit /etc/vga/libvga.config to suit your card &amp;
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=&lt;DVB source directory&gt;/ost/include 1022 ./configure --with-extraincdir=&lt;DVB source directory&gt;/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 &amp; Hollywood Plus for 1122 the <A HREF="http://dxr3.sourceforge.net/">DXR3 &amp; 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:&lt;device&gt;</CODE></DT> 1128 <DT><CODE>-vo dxr3:prebuf:sync:norm=x:&lt;device&gt;</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