diff options
Diffstat (limited to 'DOCS/xml/en/video.xml')
-rw-r--r-- | DOCS/xml/en/video.xml | 2301 |
1 files changed, 1 insertions, 2300 deletions
diff --git a/DOCS/xml/en/video.xml b/DOCS/xml/en/video.xml index ffeef6d6c6..6a39be4169 100644 --- a/DOCS/xml/en/video.xml +++ b/DOCS/xml/en/video.xml @@ -3,2307 +3,8 @@ <chapter id="video"> <title>Video output devices</title> -<sect1 id="xv"> -<title>Xv</title> - -<para> -Under XFree86 4.0.2 or newer, you can use your card's hardware YUV routines -using the XVideo extension. This is what the option -<option>-vo xv</option> uses. Also, this driver supports adjusting -brightness/contrast/hue/etc. (unless you use the old, slow DirectShow DivX -codec, which supports it everywhere), see the man page. -</para> - -<para> -In order to make this work, be sure to check the following: - -<orderedlist> -<listitem><para> - You have to use XFree86 4.0.2 or newer (former versions don't have XVideo) -</para></listitem> -<listitem><para> - Your card actually supports hardware acceleration (modern cards do) -</para></listitem> -<listitem><para> - X loads the XVideo extension, it's something like this: - <programlisting>(II) Loading extension XVideo</programlisting> - in <filename>/var/log/XFree86.0.log</filename> - <note><para> - This loads only the XFree86's extension. In a good install, this is - always loaded, and doesn't mean that the - <emphasis role="bold">card's</emphasis> XVideo support is loaded! - </para></note> -</para></listitem> -<listitem><para> - Your card has Xv support under Linux. To check, try - <command>xvinfo</command>, it is the part of the XFree86 distribution. It - should display a long text, similar to this: - <screen> -X-Video Extension version 2.2 -screen #0 - Adaptor #0: "Savage Streams Engine" - number of ports: 1 - port base: 43 - operations supported: PutImage - supported visuals: - depth 16, visualID 0x22 - depth 16, visualID 0x23 - number of attributes: 5 -(...) - Number of image formats: 7 - id: 0x32595559 (YUY2) - guid: 59555932-0000-0010-8000-00aa00389b71 - bits per pixel: 16 - number of planes: 1 - type: YUV (packed) - id: 0x32315659 (YV12) - guid: 59563132-0000-0010-8000-00aa00389b71 - bits per pixel: 12 - number of planes: 3 - type: YUV (planar) -(...etc...)<!-- ---></screen> - It must support YUY2 packed, and YV12 planar pixel formats to be usable - with <application>MPlayer</application>. -</para></listitem> -<listitem><para> - And finally, check if <application>MPlayer</application> was compiled - with 'xv' support. Do a <command>mplayer -vo help | grep xv </command>. - If 'xv' support was built a line similar to this should appear: - <screen> xv X11/Xv</screen> -</para></listitem> -</orderedlist> -</para> -</sect1> - -<!-- ********** --> - -<sect1 id="dga"> -<title>DGA</title> - -<formalpara> -<title>PREAMBLE</title> -<para> -This document tries to explain in some words what DGA is in general and -what the DGA video output driver for <application>MPlayer</application> -can do (and what it can't). -</para> -</formalpara> - -<formalpara> -<title>WHAT IS DGA</title> -<para> -<acronym>DGA</acronym> is short for <emphasis>Direct Graphics -Access</emphasis> and is a means for a program to bypass the X server and -directly modifying the framebuffer memory. Technically spoken this happens -by mapping the framebuffer memory into the memory range of your process. -This is allowed by the kernel only if you have superuser privileges. You -can get these either by logging in as <systemitem -class="username">root</systemitem> or by setting the SUID bit on the -<application>MPlayer</application> executable (<emphasis role="bold">not -recommended</emphasis>). -</para> -</formalpara> -<para> -There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was -introduced with XFree 4.0.1. -</para> - -<para> -DGA1 provides only direct framebuffer access as described above. For -switching the resolution of the video signal you have to rely on the -XVidMode extension. -</para> - -<para> -DGA2 incorporates the features of XVidMode extension and also allows -switching the depth of the display. So you may, although basically -running a 32 bit depth X server, switch to a depth of 15 bits and vice -versa. -</para> - -<para> -However DGA has some drawbacks. It seems it is somewhat dependent on the -graphics chip you use and on the implementation of the X server's video -driver that controls this chip. So it does not work on every system... -</para> - -<formalpara> -<title>INSTALLING DGA SUPPORT FOR MPLAYER</title> - -<para> -First make sure X loads the DGA extension, see in -<filename>/var/log/XFree86.0.log</filename>: - -<programlisting>(II) Loading extension XFree86-DGA</programlisting> - -See, XFree86 4.0.x or greater is -<emphasis role="bold">highly recommended</emphasis>! -<application>MPlayer</application>'s DGA driver is autodetected by -<filename>./configure</filename>, or you can force it -with <option>--enable-dga</option>. -</para> -</formalpara> - -<para> -If the driver couldn't switch to a smaller resolution, experiment with -options <option>-vm</option> (only with X 3.3.x), <option>-fs</option>, -<option>-bpp</option>, <option>-zoom</option> to find a video mode that -the movie fits in. There is no converter right now :( -</para> - -<para> -Become <systemitem class="username">root</systemitem>. DGA needs root -access to be able to write directly video memory. If you want to run it as -user, then install <application>MPlayer</application> SUID root: - -<screen> -chown root <replaceable>/usr/local/bin/mplayer</replaceable> -chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable> -chmod +s <replaceable>/usr/local/bin/mplayer</replaceable> -</screen> - -Now it works as a simple user, too. -</para> - -<caution> -<title>Security risk</title> -<para> -This is a <emphasis role="bold">big</emphasis> security risk! -<emphasis role="bold">Never</emphasis> do this on a server or on a computer -that can be accessed by other people because they can gain root privileges -through SUID root <application>MPlayer</application>. -</para> -</caution> - -<para> -Now use <option>-vo dga</option> option, and there you go! (hope so:) You -should also try if the <option>-vo sdl:driver=dga</option> option works for you! -It's much faster! -</para> - - -<formalpara id="dga-modelines"> -<title>RESOLUTION SWITCHING</title> - -<para> -The DGA driver allows for switching the resolution of the output signal. -This avoids the need for doing (slow) software scaling and at the same time -provides a fullscreen image. Ideally it would switch to the exact -resolution (except for honoring aspect ratio) of the video data, but the X -server only allows switching to resolutions predefined in -<filename>/etc/X11/XF86Config</filename> -(<filename>/etc/X11/XF86Config-4</filename> for XFree 4.X.X respectively). -Those are defined by so-called modelines and depend on -the capabilities of your video hardware. The X server scans this config -file on startup and disables the modelines not suitable for your hardware. -You can find out which modes survive with the X11 log file. It can be found -at: <filename>/var/log/XFree86.0.log</filename>. -</para> -</formalpara> - -<para> -These entries are known to work fine with a Riva128 chip, using the nv.o X -server driver module. -</para> - -<para><programlisting> -Section "Modes" - Identifier "Modes[0]" - Modeline "800x600" 40 800 840 968 1056 600 601 605 628 - Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 - Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 - Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan - Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 - Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan - Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan -EndSection -</programlisting></para> - - -<formalpara> -<title>DGA & MPLAYER</title> -<para> -DGA is used in two places with <application>MPlayer</application>: The SDL -driver can be made to make use of it (<option>-vo sdl:driver=dga</option>) and -within the DGA driver (<option>-vo dga</option>). The above said is true -for both; in the following sections I'll explain how the DGA driver for -<application>MPlayer</application> works. -</para> -</formalpara> - - -<formalpara> -<title>FEATURES</title> - -<para> -The DGA driver is invoked by specifying <option>-vo dga</option> at the -command line. The default behavior is to switch to a resolution matching -the original resolution of the video as close as possible. It deliberately -ignores the <option>-vm</option> and <option>-fs</option> options -(enabling of video mode switching and fullscreen) - it always tries to -cover as much area of your screen as possible by switching the video mode, -thus refraining from using additional cycles of your CPU to scale the -image. If you don't like the mode it chooses you may force it to choose -the mode matching closest the resolution you specify by <option>-x</option> -and <option>-y</option>. By providing the <option>-v</option> option, the -DGA driver will print, among a lot of other things, a list of all -resolutions supported by your current <filename>XF86Config</filename> file. -Having DGA2 you may also force it to use a certain depth by using the -<option>-bpp</option> option. Valid depths are 15, 16, 24 and 32. It -depends on your hardware whether these depths are natively supported or if -a (possibly slow) conversion has to be done. -</para> -</formalpara> -<para> -If you should be lucky enough to have enough offscreen memory left to -put a whole image there, the DGA driver will use double buffering, which -results in much smoother movie playback. It will tell you whether -double buffering is enabled or not. -</para> - -<para> -Double buffering means that the next frame of your video is being drawn in -some offscreen memory while the current frame is being displayed. When the -next frame is ready, the graphics chip is just told the location in memory -of the new frame and simply fetches the data to be displayed from there. -In the meantime the other buffer in memory will be filled again with new -video data. -</para> - -<para> -Double buffering may be switched on by using the option -<option>-double</option> and may be disabled with -<option>-nodouble</option>. Current default option is to disable -double buffering. When using the DGA driver, onscreen display (OSD) only -works with double buffering enabled. However, enabling double buffering may -result in a big speed penalty (on my K6-II+ 525 it used an additional 20% -of CPU time!) depending on the implementation of DGA for your hardware. -</para> - - -<formalpara> -<title>SPEED ISSUES</title> - -<para> -Generally spoken, DGA framebuffer access should be at least as fast as -using the X11 driver with the additional benefit of getting a fullscreen -image. The percentage speed values printed by -<application>MPlayer</application> have to be interpreted with some care, -as for example, with the X11 driver they do not include the time used by -the X server needed for the actual drawing. Hook a terminal to a serial -line of your box and start <command>top</command> to see what is really -going on in your box. -</para> -</formalpara> - -<para> -Generally spoken, the speedup done by using DGA against 'normal' use of X11 -highly depends on your graphics card and how well the X server module for it -is optimized. -</para> - -<para> -If you have a slow system, better use 15 or 16 bit depth since they require -only half the memory bandwidth of a 32 bit display. -</para> - -<para> -Using a depth of 24 bit is a good idea even if your card natively just supports -32 bit depth since it transfers 25% less data compared to the 32/32 mode. -</para> - -<para> -I've seen some AVI files be played back on a Pentium MMX 266. AMD K6-2 -CPUs might work at 400 MHZ and above. -</para> - - -<formalpara> -<title>KNOWN BUGS</title> - -<para> -Well, according to some developers of XFree, DGA is quite a beast. They -tell you better not to use it. Its implementation is not always flawless -with every chipset driver for XFree out there. -</para> -</formalpara> - -<itemizedlist> -<listitem><para> - With XFree 4.0.3 and <filename>nv.o</filename> there is a bug resulting - in strange colors. -</para></listitem> -<listitem><para> - ATI driver requires to switch mode back more than once after finishing - using of DGA. -</para></listitem> -<listitem><para> - Some drivers simply fail to switch back to normal resolution (use - <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo> - and - <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo> - to switch back manually). -</para></listitem> -<listitem><para> - Some drivers simply display strange colors. -</para></listitem> -<listitem><para> - Some drivers lie about the amount of memory they map into the process's - address space, thus vo_dga won't use double buffering (SIS?). -</para></listitem> -<listitem><para> - Some drivers seem to fail to report even a single valid mode. In this - case the DGA driver will crash telling you about a nonsense mode of - 100000x100000 or something like that. -</para></listitem> -<listitem><para> - OSD only works with double buffering enabled (else it flickers). -</para></listitem> -</itemizedlist> - -</sect1> - -<!-- ********** --> - -<sect1 id="svgalib"> -<title>SVGAlib</title> - -<formalpara> -<title>INSTALLATION</title> -<para> -You'll have to install svgalib and its development package in order for -<application>MPlayer</application> build its SVGAlib driver (autodetected, -but can be forced), and don't forget to edit -<filename>/etc/vga/libvga.config</filename> to suit your card and monitor. -</para> -</formalpara> - -<note><para> -Be sure not to use the <option>-fs</option> switch, since it toggles the -usage of the software scaler, and it's slow. If you really need it, use the -<option>-sws 4</option> option which will produce bad quality, but is -somewhat faster. -</para></note> - -<formalpara> -<title>EGA (4BPP) SUPPORT</title> -<para> -SVGAlib incorporates EGAlib, and <application>MPlayer</application> has the -possibility to display any movie in 16 colors, thus usable in the following -sets: -</para> -</formalpara> - -<itemizedlist> -<listitem><para> - EGA card with EGA monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp -</para></listitem> -<listitem><para> - EGA card with CGA monitor: 320x200x4bpp, 640x200x4bpp -</para></listitem> -</itemizedlist> - -<para> -The bpp (bits per pixel) value must be set to 4 by hand: -<option>-bpp 4</option> -</para> - -<para> -The movie probably must be scaled down to fit in EGA mode: -<screen>-vf scale=640:350</screen> -or -<screen>-vf scale=320:200</screen> -</para> - -<para> -For that we need fast but bad quality scaling routine: -<screen>-sws 4</screen> -</para> - -<para> -Maybe automatic aspect correction has to be shut off: -<screen>-noaspect</screen> -</para> - -<note><para> -According to my experience the best image quality on -EGA screens can be achieved by decreasing the brightness a bit: -<option>-vf eq=-20:0</option>. I also needed to lower the audio -samplerate on my box, because the sound was broken on 44kHz: -<option>-srate 22050</option>. -</para></note> - -<para> -You can turn on OSD and subtitles only with the <option>expand</option> -filter, see the man page for exact parameters. -</para> -</sect1> - -<!-- ********** --> - -<sect1 id="fbdev"> -<title>Framebuffer output (FBdev)</title> - -<para> -Whether to build the FBdev target is autodetected during -<filename>./configure</filename>. Read the framebuffer documentation in -the kernel sources (<filename>Documentation/fb/*</filename>) for more -information. -</para> - -<para> -If your card doesn't support VBE 2.0 standard (older ISA/PCI cards, such as -S3 Trio64), only VBE 1.2 (or older?): Well, VESAfb is still available, but -you'll have to load SciTech Display Doctor (formerly UniVBE) before booting -Linux. Use a DOS boot disk or whatever. And don't forget to register your -UniVBE ;)) -</para> - -<para> -The FBdev output takes some additional parameters above the others: -</para> - -<variablelist> -<varlistentry> - <term><option>-fb</option></term> - <listitem><para> - specify the framebuffer device to use (default: <filename>/dev/fb0</filename>) - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-fbmode</option></term> - <listitem><para> - mode name to use (according to <filename>/etc/fb.modes</filename>) - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-fbmodeconfig</option></term> - <listitem><para> - config file of modes (default: <filename>/etc/fb.modes</filename>) - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-monitor-hfreq</option></term> - <term><option>-monitor-vfreq</option></term> - <term><option>-monitor-dotclock</option></term> - <listitem><para> - <emphasis role="bold">important</emphasis> values, see - <filename>example.conf</filename> - </para></listitem> -</varlistentry> -</variablelist> - -<para> -If you want to change to a specific mode, then use -<screen> -mplayer -vm -fbmode <replaceable>name_of_mode</replaceable> <replaceable>filename</replaceable> -</screen> -</para> - -<itemizedlist> -<listitem><para> - <option>-vm</option> alone will choose the most suitable mode from - <filename>/etc/fb.modes</filename>. Can be used together with - <option>-x</option> and <option>-y</option> options too. The - <option>-flip</option> option is supported only if the movie's pixel - format matches the video mode's pixel format. Pay attention to the bpp - value, fbdev driver tries to use the current, or if you specify the - <option>-bpp</option> option, then that. -</para></listitem> -<listitem><para> - <option>-zoom</option> option isn't supported - (use <option>-vf scale</option>). You can't use 8bpp (or less) modes. -</para></listitem> -<listitem><para> - You possibly want to turn the cursor off: - <screen>echo -e '\033[?25l'</screen> - or - <screen>setterm -cursor off</screen> - and the screen saver: - <screen>setterm -blank 0</screen> - To turn the cursor back on: - <screen>echo -e '\033[?25h'</screen> - or - <screen>setterm -cursor on</screen> -</para></listitem> -</itemizedlist> - -<note><para> -FBdev video mode changing <emphasis>does not work</emphasis> with the VESA -framebuffer, and don't ask for it, since it's not an -<application>MPlayer</application> limitation. -</para></note> -</sect1> - -<!-- ********** --> - -<sect1 id="mga_vid"> -<title>Matrox framebuffer (mga_vid)</title> - -<para> -<systemitem>mga_vid</systemitem> is a combination of a video output driver and -a Linux kernel module that utilizes the Matrox G200/G400/G450/G550 video -scaler/overlay unit to perform YUV->RGB colorspace conversion and arbitrary -video scaling. -<systemitem>mga_vid</systemitem> has hardware VSYNC support with triple -buffering. It works on both a framebuffer console and under X, but only -with Linux 2.4.x. -</para> - -<para> -For a Linux 2.6.x version of this driver check out -<ulink url="http://attila.kinali.ch/mga/"/> or have a look at the external -Subversion repository of mga_vid which can be checked out via - -<screen> -svn checkout svn://svn.mplayerhq.hu/mga_vid -</screen> -</para> - -<procedure> -<title>Installation:</title> -<step><para> - To use it, you first have to compile <filename>drivers/mga_vid.o</filename>: - <screen> -make drivers<!-- ---></screen> -</para></step> -<step><para> - Then run (as <systemitem class="username">root</systemitem>) - <screen>make install-drivers</screen> - which should install the module and create the device node for you. - Load the driver with - <screen>insmod mga_vid.o</screen> -</para></step> -<step><para> - You should verify the memory size detection using the - <command>dmesg</command> command. If it's bad, use the - <option>mga_ram_size</option> option - (<command>rmmod mga_vid</command> first), - specify card's memory size in MB: - <screen>insmod mga_vid.o mga_ram_size=16</screen> -</para></step> -<step><para> - To make it load/unload automatically when needed, first insert the - following line at the end of <filename>/etc/modules.conf</filename>: - - <programlisting>alias char-major-178 mga_vid</programlisting> -</para></step> -<step><para> - Now you have to (re)compile <application>MPlayer</application>, - <command>./configure</command> will detect - <filename>/dev/mga_vid</filename> and build the 'mga' driver. Using it - from <application>MPlayer</application> goes by <option>-vo mga</option> - if you have matroxfb console, or <option>-vo xmga</option> under XFree86 - 3.x.x or 4.x.x. -</para></step> -</procedure> - -<para> -The mga_vid driver cooperates with Xv. -</para> - -<para> -The <filename>/dev/mga_vid</filename> device file can be read for some -info, for example by -<screen>cat /dev/mga_vid</screen> -and can be written for brightness change: -<screen>echo "brightness=120" > /dev/mga_vid</screen> -</para> - -<para> -There is a test application called <command>mga_vid_test</command> in the same -directory. It should draw 256x256 images on the screen if all is working well. -</para> - -</sect1> - -<!-- ********** --> - -<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)"> -<title>3Dfx YUV support</title> - -<para> -This driver uses the kernel's tdfx framebuffer driver to play movies with -YUV acceleration. You'll need a kernel with tdfxfb support, and recompile -with -<screen>./configure --enable-tdfxfb</screen> -</para> -</sect1> - -<!-- ********** --> - -<sect1 id="tdfx_vid"> -<title>tdfx_vid</title> - -<para> -This is a combination of a Linux kernel module and a video output -driver, similar to <link linkend="mga_vid">mga_vid</link>. -You'll need a 2.4.x kernel with the <systemitem>agpgart</systemitem> -driver since <systemitem>tdfx_vid</systemitem> uses AGP. -Pass <option>--enable-tdfxfb</option> to <command>configure</command> -to build the video output driver and build the kernel module with -the following instructions. -</para> - -<procedure> -<title>Installing the tdfx_vid.o kernel module:</title> -<step><para> - Compile <filename>drivers/tdfx_vid.o</filename>: - <screen> -make drivers</screen> -</para></step> -<step><para> - Then run (as <systemitem class="username">root</systemitem>) - <screen>make install-drivers</screen> - which should install the module and create the device node for you. - Load the driver with - <screen>insmod tdfx_vid.o</screen> -</para></step> -<step><para> - To make it load/unload automatically when needed, first insert the - following line at the end of <filename>/etc/modules.conf</filename>: - - <programlisting>alias char-major-178 tdfx_vid</programlisting> -</para></step> -</procedure> - -<para> -There is a test application called <command>tdfx_vid_test</command> in the same -directory. It should print out some useful information if all is working well. -</para> - -</sect1> - -<!-- ********** --> - -<sect1 id="opengl"> -<title>OpenGL output</title> - -<para> -<application>MPlayer</application> supports displaying movies using OpenGL, -but if your platform/driver supports xv as should be the case on a PC with -Linux, use xv instead, OpenGL performance is considerably worse. If you -have an X11 implementation without xv support, OpenGL is a viable -alternative. -</para> - -<para> -Unfortunately not all drivers support this feature. The Utah-GLX drivers -(for XFree86 3.3.6) support it for all cards. -See <ulink url="http://utah-glx.sf.net"/> for details about how to -install it. -</para> - -<para> -XFree86(DRI) 4.0.3 or later supports OpenGL with Matrox and Radeon cards, -4.2.0 or later supports Rage128. -See <ulink url="http://dri.sf.net"/> for download and installation -instructions. -</para> - -<para> -A hint from one of our users: the GL video output can be used to get -vsynced TV output. You'll have to set an environment variable (at -least on nVidia): -</para> - -<para> -<command>export __GL_SYNC_TO_VBLANK=1</command> -</para> -</sect1> - -<!-- ********** --> - -<sect1 id="aalib"> -<title>AAlib – text mode displaying</title> - -<para> -AAlib is a library for displaying graphics in text mode, using powerful -ASCII renderer. There are <emphasis>lots</emphasis> of programs already -supporting it, like Doom, Quake, etc. <application>MPlayer</application> -contains a very usable driver for it. If <filename>./configure</filename> -detects aalib installed, the aalib libvo driver will be built. -</para> - -<para> -You can use some keys in the AA Window to change rendering options: -</para> - -<informaltable> -<tgroup cols="2"> -<thead> - <row><entry>Key</entry><entry>Action</entry></row> -</thead> -<tbody> -<row><entry><keycap>1</keycap></entry><entry> - decrease contrast -</entry></row> -<row><entry><keycap>2</keycap></entry><entry> - increase contrast -</entry></row> -<row><entry><keycap>3</keycap></entry><entry> - decrease brightness -</entry></row> -<row><entry><keycap>4</keycap></entry><entry> - increase brightness -</entry></row> -<row><entry><keycap>5</keycap></entry><entry> - switch fast rendering on/off -</entry></row> -<row><entry><keycap>6</keycap></entry><entry> - set dithering mode (none, error distribution, Floyd Steinberg) -</entry></row> -<row><entry><keycap>7</keycap></entry><entry> - invert image -</entry></row> -<row><entry><keycap>8</keycap></entry><entry> - toggles between aa and <application>MPlayer</application> control -</entry></row> -</tbody> -</tgroup> -</informaltable> - -<variablelist> -<title>The following command line options can be used:</title> -<varlistentry> - <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term> - <listitem><para> - change OSD color - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aasubcolor=<replaceable>V</replaceable></option></term> - <listitem><para> - Change subtitle color - </para><para> - where <replaceable>V</replaceable> can be: - <literal>0</literal> (normal), - <literal>1</literal> (dark), - <literal>2</literal> (bold), - <literal>3</literal> (bold font), - <literal>4</literal> (reverse), - <literal>5</literal> (special). - </para></listitem> -</varlistentry> -</variablelist> - -<variablelist> -<title>AAlib itself provides a large sum of options. Here are some -important:</title> -<varlistentry> - <term><option>-aadriver</option></term> - <listitem><para> - Set recommended aa driver (X11, curses, Linux). - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aaextended</option></term> - <listitem><para> - Use all 256 characters. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aaeight</option></term> - <listitem><para> - Use eight bit ASCII. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aahelp</option></term> - <listitem><para> - Prints out all aalib options. - </para></listitem> -</varlistentry> -</variablelist> - -<note><para> -The rendering is very CPU intensive, especially when using AA-on-X -(using aalib on X), and it's least CPU intensive on standard, -non-framebuffer console. Use SVGATextMode to set up a big textmode, -then enjoy! (secondary head Hercules cards rock :)) (but IMHO you -can use <option>-vf 1bpp</option> option to get graphics on hgafb:) -</para></note> - -<para> -Use the <option>-framedrop</option> option if your computer isn't fast -enough to render all frames! -</para> - -<para> -Playing on terminal you'll get better speed and quality using the Linux -driver, not curses (<option>-aadriver linux</option>). But therefore you -need write access on -<filename>/dev/vcsa<replaceable><terminal></replaceable></filename>! -That isn't autodetected by aalib, but vo_aa tries to find the best mode. -See <ulink url="http://aa-project.sf.net/tune"/> for further -tuning issues. -</para> -</sect1> - -<!-- ********** --> - -<sect1 id="caca"> -<title> -<systemitem class="library">libcaca</systemitem> – Color ASCII Art library -</title> - -<para> -The <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink> -library is a graphics library that outputs text instead of pixels, so that it -can work on older video cards or text terminals. It is not unlike the famous -<systemitem class="library">AAlib</systemitem> library. -<systemitem class="library">libcaca</systemitem> needs a terminal to work, thus -it should work on all Unix systems (including Mac OS X) using either the -<systemitem class="library">slang</systemitem> library or the -<systemitem class="library">ncurses</systemitem> library, on DOS using the -<systemitem class="library">conio.h</systemitem> library, and on Windows systems -using either <systemitem class="library">slang</systemitem> or -<systemitem class="library">ncurses</systemitem> (through Cygwin emulation) or -<systemitem class="library">conio.h</systemitem>. If -<filename>./configure</filename> -detects <systemitem class="library">libcaca</systemitem>, the caca libvo driver -will be built. -</para> - -<itemizedlist> -<title>The differences with <systemitem class="library">AAlib</systemitem> are - the following:</title> -<listitem><para> - 16 available colors for character output (256 color pairs) -</para></listitem> -<listitem><para> - color image dithering -</para></listitem> -</itemizedlist> - -<itemizedlist> -<title>But <systemitem class="library">libcaca</systemitem> also has the - following limitations:</title> -<listitem><para> - no support for brightness, contrast, gamma -</para></listitem> -</itemizedlist> - -<para> -You can use some keys in the caca window to change rendering options: -</para> - -<informaltable> -<tgroup cols="2"> -<thead> - <row><entry>Key</entry><entry>Action</entry></row> -</thead> -<tbody> -<row><entry><keycap>d</keycap></entry><entry> - Toggle <systemitem class="library">libcaca</systemitem> dithering methods. -</entry></row> -<row><entry><keycap>a</keycap></entry><entry> - Toggle <systemitem class="library">libcaca</systemitem> antialiasing. -</entry></row> -<row><entry><keycap>b</keycap></entry><entry> - Toggle <systemitem class="library">libcaca</systemitem> background. -</entry></row> -</tbody> -</tgroup> -</informaltable> - -<variablelist> -<title><systemitem class="library">libcaca</systemitem> will also look for - certain environment variables:</title> -<varlistentry> - <term><option>CACA_DRIVER</option></term> - <listitem><para> - Set recommended caca driver. e.g. ncurses, slang, x11. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>CACA_GEOMETRY (X11 only)</option></term> - <listitem><para> - Specifies the number of rows and columns. e.g. 128x50. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>CACA_FONT (X11 only)</option></term> - <listitem><para> - Specifies the font to use. e.g. fixed, nexus. - </para></listitem> -</varlistentry> -</variablelist> - -<para> -Use the <option>-framedrop</option> option if your computer is not fast -enough to render all frames. -</para> - -</sect1> - -<!-- ********** --> - -<sect1 id="vesa"> -<title>VESA - output to VESA BIOS</title> |