summaryrefslogtreecommitdiffstats
path: root/DOCS/documentation.html
diff options
context:
space:
mode:
authorgabucino <gabucino@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-21 20:59:23 +0000
committergabucino <gabucino@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-21 20:59:23 +0000
commit1af8d58c0bf4a4cbac5fa9e5cfb8bc382c047b8c (patch)
tree6e96fc97c24259d0c5e1e8714241565cbfcda66d /DOCS/documentation.html
parentb5532f2ec3a4d8bd41793a7d02efdd6ecdc9d9ac (diff)
downloadmpv-1af8d58c0bf4a4cbac5fa9e5cfb8bc382c047b8c.tar.bz2
mpv-1af8d58c0bf4a4cbac5fa9e5cfb8bc382c047b8c.tar.xz
they've been moved to html
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1612 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/documentation.html')
-rw-r--r--DOCS/documentation.html2312
1 files changed, 0 insertions, 2312 deletions
diff --git a/DOCS/documentation.html b/DOCS/documentation.html
deleted file mode 100644
index 4c34f56ddd..0000000000
--- a/DOCS/documentation.html
+++ /dev/null
@@ -1,2312 +0,0 @@
-<HTML>
-
-<BODY>
-
-<P>
-<CENTER>MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)<BR>
-<BR>
-<A HREF="http://www.mplayerhq.hu">http://www.mplayerhq.hu</A></CENTER><BR>
-</P>
-
-<P><HR></P>
-
-<P>
-Table of Contents
-</P>
-
-<P><HR></P>
-
-<PRE>
-<P>
- <A HREF="#1">1. Introduction</A>
-</P>
-<P>
- <A HREF="#1.1">1.1 Overview</A>
- <A HREF="#1.2">1.2 History</A>
- <A HREF="#1.3">1.3 Installation</A>
- <A HREF="#1.4">1.4 What about the GUI?</A>
-</P>
-<P>
- <A HREF="#2">2. Features</A>
-</P>
-<P>
- <A HREF="#2.1">2.1 Video Formats, Audio & Video Codecs</A>
- <A HREF="#2.1.1">2.1.1 Supported input formats</A>
- <A HREF="#2.1.2">2.1.2 Supported audio & video codecs</A>
- <A HREF="#2.1.2.1">2.1.2.1 OpenDivX</A>
- <A HREF="#2.1.2.2">2.1.2.2 ffmpeg's DivX/libavcodec</A>
- <A HREF="#2.1.4">2.1.4 Codec importing howto</A>
- <A HREF="#2.1.4.1">2.1.4.1 VFW codecs</A>
- <A HREF="#2.1.4.2">2.1.4.2 DirectShow codecs</A>
-</P>
-<P>
- <A HREF="#2.2">2.2 Video & Audio output devices</A>
- <A HREF="#2.2.1">2.2.1 Video output devices</A>
- <A HREF="#2.2.1.1">2.2.1.1 Xv</A>
- <A HREF="#2.2.1.1.1">2.2.1.1.1 3dfx cards</A>
- <A HREF="#2.2.1.1.2">2.2.1.1.2 S3 cards</A>
- <A HREF="#2.2.1.1.3">2.2.1.1.3 nVidia cards</A>
- <A HREF="#2.2.1.1.4">2.2.1.1.4 ATI cards</A>
- <A HREF="#2.2.1.2">2.2.1.2 DGA</A>
- <A HREF="#2.2.1.2.1">2.2.1.2.1 Summary</A>
- <A HREF="#2.2.1.2.2">2.2.1.2.2 What is DGA</A>
- <A HREF="#2.2.1.2.3">2.2.1.2.3 Installing DGA support for MPlayer</A>
- <A HREF="#2.2.1.2.4">2.2.1.2.4 Resolution switching</A>
- <A HREF="#2.2.1.2.5">2.2.1.2.5 DGA & MPlayer</A>
- <A HREF="#2.2.1.2.6">2.2.1.2.6 Features of the DGA driver</A>
- <A HREF="#2.2.1.2.7">2.2.1.2.7 Speed issues</A>
- <A HREF="#2.2.1.2.8">2.2.1.2.8 Known bugs</A>
- <A HREF="#2.2.1.2.9">2.2.1.2.9 Future work</A>
- <A HREF="#2.2.1.2.A">2.2.1.2.A Some modelines</A>
- <A HREF="#2.2.1.2.B">2.2.1.2.B Bug Reports</A>
- <A HREF="#2.2.1.3">2.2.1.3 SDL</A>
- <A HREF="#2.2.1.4">2.2.1.4 SVGAlib</A>
- <A HREF="#2.2.1.5">2.2.1.5 Framebuffer output (FBdev)</A>
- <A HREF="#2.2.1.6">2.2.1.6 Matrox framebuffer (mga_vid)</A>
- <A HREF="#2.2.1.7">2.2.1.7 SiS 6326 framebuffer (sis_vid)</A>
- <A HREF="#2.2.1.8">2.2.1.8 3dfx YUV support</A>
- <A HREF="#2.2.1.9">2.2.1.9 OpenGL output</A>
- <A HREF="#2.2.1.10">2.2.1.10 AAlib - text mode displaying</A>
- <A HREF="#2.2.2">2.2.2 Audio output devices</A>
- <A HREF="#2.2.2.1">2.2.2.1 Soundcard experiences, recommendations</A>
-</P>
-<P>
- <A HREF="#3">3. Usage</A>
-</P>
-<P>
- <A HREF="#3.1">3.1 Control from keyboard</A>
- <A HREF="#3.2">3.2 Control from LIRC (Linux Infrared Remote Control)</A>
- <A HREF="#3.3">3.3 Streaming from network or pipes</A>
-</P>
-<P>
- <A HREF="#4">4. TV-out support</A>
-</P>
-<P>
- <A HREF="#4.1">4.1 Matrox cards</A>
-</P>
-<P>
- <A HREF="#5">5. Tuning</A>
-</P>
-<P>
- <A HREF="#5.1">5.1 CD drives</A>
- <A HREF="#5.2">5.2 DVD drives</A>
- <A HREF="#5.3">5.3 MTRR</A>
-</P>
-<P>
- <A HREF="#6">6. FAQ section</A>
-</P>
-<P>
- <A HREF="#6.1">6.1 Compilation</A>
- <A HREF="#6.2">6.2 General questions</A>
- <A HREF="#6.3">6.3 File playing problems</A>
- <A HREF="#6.4">6.4 Video/audio driver problems</A>
- <A HREF="#6.5">6.5 Feature requests</A>
- <A HREF="#6.6">6.6 DVD FAQ</A>
-</P>
-<P>
- <A HREF="#7">7. Misc OS'es</A>
-</P>
-<P>
- <A HREF="#7.1">7.1 Debian packaging</A>
- <A HREF="#7.2">7.2 FreeBSD</A>
- <A HREF="#7.3">7.3 Solaris 8</A>
- <A HREF="#7.4">7.4 StrongARM</A>
-</P>
-<P>
- <A HREF="#A">A. Authors</A>
-</P>
-<P>
- <A HREF="#B">B. Mailing lists</A>
-</P>
-<P>
- <A HREF="#C">C. How to report bugs</A>
-</P>
-</PRE>
-<P><HR></P>
-
-<P><PRE>
- <A NAME=1>1. Introduction
-
-
- <A NAME=1.1>1.1. Overview
-
- <B>MPlayer</B> is a movie player for LINUX. It plays most MPEG, AVI and ASF files,
- supported by many native and Win32 DLL codecs. You can watch VCD, DVD and
- even DivX movies too. The another big feature of mplayer is the wide range of
- supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev,
- AAlib, but you can use SDL (and this way all drivers of SDL) and some
- lowlevel card-specific drivers (for Matrox) too! Most of them supports
- software or hardware scaling, so you can enjoy movies in fullscreen. And what
- about the nice big antialiased shaded subtitles (7 supported types!!!) with
- hungarian, english, cyrillic, czech, korean fonts, and OSD?
-
- I didn't write any codecs, just some players. I spent
- a lot of time finding the best way to parse bad damaged input files
- (both MPEG and AVI) and to do perfect A-V sync with seeking ability.
- My player is rock solid playing damaged MPEG files (useful for some VCDs),
- and it plays bad AVI files which are unplayable with the famous
- windows media player. Even AVI files without index chunk are playable, and
- you can rebuild their indexes with the -idx option, thus enabling seeking!
- As you see, stability and quality are the most important things for me,
- but the speed is also amazing.
-
-
- <A NAME=1.2>1.2. History
-
- This began a year ago...
- I've tried lots of players under linux (mtv,xmps,dvdview,livid/oms,VideoLAN,
- xine,xanim,avifile,xmmp) but they all have some problem. Mostly with special
- files or with audio/video sync. Most of them is unable to play both MPEG1,
- MPEG2 and AVI (DivX) files. Many players have image quality or speed problems
- too. So I've decided to write/modify one...
-
- - mpg12play v0.1-v0.3:
- The first try, hacked together in a half hour!
- I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3,
- but there were image quality and speed problems with it.
- - mpg12play v0.5-v0.87:
- Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff,
- but it was slow and was written in C++ (I hate C++!!!)
- - mpg12play v0.9-v0.95pre5:
- Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse.
- It's great, optimized very fast C code with perfect image quality and
- 100% MPEG standard conformance.
- - <B>MPlayer</B> v0.3-v0.9:
- It was a pack of two programs: mpg12playv0.95pre6 and my new simple AVI
- player 'avip' based on avifile's Win32 DLL loader.
- - <B>MPlayer</B> v0.10:
- The MPEG and AVI player in a single binary!
- - <B>MPlayer</B> v0.11:
- Some new developers joined and from 0.11 the mplayer project is a team-work!
- Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding.
- - <B>MPlayer</B> v0.17 "The IdegCounter"
- The release version of the 0.11pre after 4 months of heavy development!
- Try it, and be amazed! Thousands of new features added... and of course
- old code was improved too, bugs removed etc.
- - <B>MPlayer</B> 0.18 "The BugCounter"
- 2 months since 0.17 and here's a new release.. Completed ASF support,
- more subtitle formats, introduced libao (similar to libvo but to audio),
- even more stable than ever, and so on. It's a MUST !
-
-
- <A NAME=1.3>1.3. Installation
-
- If you plan to use <B>MPlayer</B> on x86 architecture, you possibly want to use
- Win32 codecs. Download and unzip w32codecs.zip to /usr/lib/win32 .
- Note: the avifile project has similar codecs package, but it differs
- from our, so if you want to use all supported codecs, then use
- our package! However, you can use our codecs package with avifile.
-
- If you own a Matrox G200/G400/G450 card, then please see the <A HREF="#2.2.1.6">2.2.1.6</A>
- section in order to gain big speedup. It is important to do these steps
- _before_ compiling <B>MPlayer</B>, otherwise no Matrox-specific support will be
- built.
-
- If you plan to use the ProjectMayo's <B>OpenDivX</B> codec, check the
- <A HREF="#2.1.2.1">2.1.2.1</A> section before compiling.
-
- Then build <B>MPlayer</B>:
-
-
- ./configure
- make
- make install
-
-
- It is recommended to browse the output of ./configure , it contains info
- about what will be built, and what won't. You may also want to view
- config.h and config.mak files.
-
- Though not mandatory, the fonts should be installed in order to gain
- OSD, and subtitle functionality. Download mp_font3.zip (and optional
- language updates) and optional (if exists) language updates.
-
-
- mkdir ~/.mplayer/font
- cd ~/.mplayer/font
- unzip mp_font3.zip
- unzip mp_font3_hu.zip
-
-
- <A NAME=1.4>1.4. What about the GUI ?
-
- I'm not a GUI programmer. I hate GUIs, I like the pure black 80x25 console.
- So the player has only keyboard control from the controlling console/xterm now.
- There is a GUI development for the player, coordinated by Pontscho/Fresh!
- It's still under development, but it will be merged and released real soon.
- BTW he needs some nice skins, if you are a good graphician, contact him!!!
-
-
- <A NAME=2>2. Features
-
-
- <A NAME=2.1>2.1. Video Formats, Audio & Video Codecs
-
-
- <A NAME=2.1.1>2.1.1. Supported input formats
-
- <B>MPlayer</B> can read/play from the following devices/formats:
- - VCD (Video CD) directly from CD-ROM or from CDRwin's .bin image file
- - DVD, directly from your DVD disk, using optional libcss for decryption
- - MPEG 1/2 System Stream (PS/PES/VOB) and Elementary Stream (ES) file
- formats
- - RIFF AVI file format
- - ASF 1.0 file format
- - supports reading from file, stdin, DVD drive or network via HTTP
-
- Note: about quicktime (.mov/.qt) and realmedia (.ra/.rm) support read the FAQ!
-
-
- <A NAME=2.1.2>2.1.2. Supported audio & video codecs
-
- See http://mplayer.sourceforge.net/DOCS/codecs.html for the complete,
- daily updated list!!!
-
- The most important video codecs:
- - MPEG1 (VCD) and MPEG2 (DVD) video
- - DivX, FFmpeg, OpenDivX and other MPEG4 variants
- - Windows Media Video 7 (WMV1) and Windows Media Video 8 used in .wmv files
- - Intel Indeo codecs (3.1,3.2,4.1,5.0)
- - MJPEG, ASV2 and other hardware formats
-
- The most important audio codecs:
- - MPEG layer 2, and layer 3 (MP3) audio (native code, with 3dnow optimization)
- - AC3 dolby audio (native code, with 3dnow optimization)
- - Voxware audio
- - alaw, msgsm, pcm and other simple old audio formats
-
- If you have a codec not listed here, and not supported yet, just
- read http://mplayer.sourceforge.net/DOCS/codecs.html
- to get info about its status and about how to help us adding support for it!
-
-
- <A NAME=2.1.2.1>2.1.2.1. OpenDivX
-
- This section contains information about the DivX/OpenDivX codecs of
- <A HREF="http://www.projectmayo.com">ProjectMayo</A>. Their first available alpha version was the OpenDivX 4.0
- alpha 47 and 48. Support for this was/is included in <B>MPlayer</B>, and built by
- default. We even used its postprocessing code to optionally enhance visual
- quality of MPEG1/2 movies.
-
- The new generation of this codec can even decode movies made with the
- infamous DivX codec! And it's not everything, it's MUCH faster than the
- traditional Win32 DivX DLL's. See below for configuration. The only
- disadvantage of this codec is that it's currently closed-source. :(
-
- The codec can be downloaded from the following URL:
-
-
- http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip
-
-
- No automatic installing available at this time, so install it manually,
- EXACTLY as described here. Unpack it, and copy files to their place:
-
-
- cp libdivxdecore.so.0.0.0 /usr/local/lib/
- ln -s /usr/local/lib/libdivxdecore.so.0.0.0 /usr/local/lib/libdivxdecore.so.0
- ln -s /usr/local/lib/libdivxdecore.so.0 /usr/local/lib/libdivxdecore.so
- ldconfig
- cp decore.h /usr/local/include/
-
-
- <B>MPlayer</B> autodetects if OpenDivX is (properly) installed, just compile
- as usual. If it doesn't detect it, you didn't install it exactly as above,
- and/or has fucked up config (see last question of 6.1 section).
-
- Using it is a bit tricky. As it conflicts with the old OpenDivX (it's API is
- very similar to OpenDivX's), OpenDivX code is disabled, and the OpenDivX
- driver calls this library too.
-
- Generally we can pinpoint this issue to that you have two options to use
- this codec:
-
-
- -vc odivx : using divx4 codec as a new version of OpenDivX.
- in this case it produces YV12 image in its own buffer,
- and <B>MPlayer</B> (libvo) does colorspace conversion.
-
- -vc divx4 : using divx4 codec's colorspace conversion.
- in this mode, you can use YUY2/UYVY too.
-
- The 'odivx' method is usually faster, due to the fact that it transfers
- image data in YV12 (planar YUV 4:2:0) format, thus requiring much less
- bandwidth on the bus. For packed YUV modes (YUY2, UYVY) use the 'divx4'
- method. For RGB modes you can choose freely, their speed is same, maybe
- differ according to the current bpp.
-
- Note: it supports postprocessing too, but range of values is strange:
-
- 0 no postproc
- 10 .. 20 postprocessing, normal
- (like level 2 with divxds)
- 30 .. 60 hard postprocessing, eats many CPU.
- (like level 4 with divxds)
-
-
- <A NAME=2.1.2.2>2.1.2.2. ffmpeg's DivX/libavcodec
-
- Beginning with version 0.4.2 , <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> contains an <B>opensource</B> DivX codec,
- which is compatible with the traditional DivX. <B>MPlayer</B> contains this codec,
- and this makes it possible to <B>watch DivX movies on non-x86 platforms!</B>
- To get it compile, you'll need nasm, bison, and flex, above the other
- devel tools. It was removed from <B>MPlayer</B>'s cvs tree, you have
- to download it manually directly from <B>FFmpeg</B>'s tree :
-
-
- cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
- cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
-
-
- Note: if you copy with CVS subdirs, next time it's enough to do
- 'cvs update'.
-
- Now, move the newly downloaded ffmpeg source's <B>libavcodec</B> directory,
- (with all it's subdirectories) to <B>MPlayer</B>'s tree, so it will look
- like this :
-
-
- main/libavcodec
-
-
- Symlinking is NOT enough, you have to copy it.
-
- ./configure detects if it can be built. At the moment it doesn't support
- postprocessing, and is under optimization (it's faster than the DS/VfW DivX
- codec).
-
- In order to use it, refresh your codecs.conf file, and do as the manpage,
- or the example.conf says (the -vfm option).
-
- Note: libavcodec contains other codecs as well, but at the moment we mostly
- focus on ffdivx, and it's unlikely that this will change.
-
- <A NAME=2.1.3>2.1.4. Codec importing howto
-
-
- <A NAME=2.1.4.1>2.1.4.1. VFW codecs
-
- VfW (Video for Windows) is the old Video API for Windows. Its codecs have
- the .DLL or (rarely) .DRV extension.
- If <B>MPlayer</B> fails with your AVI:
-
-
- UNKNOWN video codec: HFYU (0x55594648)
-
-
- It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
- HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that we know this, we'll
- have to find out which DLL Windows loads in order to play this file. In our
- case, the system.ini contains this (with many others):
-
-
- VIDC.HFYU=huffyuv.dll
-
-
- So we'll need the huffyuv.dll file. Note that the audio codecs are specified
- with the MSACM prefix :
-
-
- msacm.l3acm=L3codeca.acm
-
-
- This is the MP3 codec.
- So, now we have all the info needed (fourcc, codec file, sample AVI), submit
- your codec support request in mail, and upload these files to the FTP:
- ftp://mplayerhq.hu/MPlayer/incoming/[codecname]/
-
-
- <A NAME=2.1.4.2>2.1.4.2. DirectShow codecs
-
- DirectShow is the newer Video API, which is even worse than its predecessor.
- Things are harder with DirectShow, since
- - system.ini doesn't contain the needed information, instead it's stored in
- the registry :(
- - we'll need the GUID of the codec.
-
- So let's search that goddamn registry..
- - Start 'regedit'
- - press ctrl-f, disable the first two checkbox, and enable the third. Type
- the fourcc of the codec. (for ex.: TM20)
- - you should see a field which contains the path and filename
- (for ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
- - now that we have the file, we'll need the GUID. Try searching again, but
- now we'll search for the codec's name, not the fourcc. Its name can be acquired
- when Media Player is playing that file, by checking File/Properties/Advanced.
- If not, bad luck ;) Try guessing.
- (for ex. search for : TrueMotion)
- - if found (in registry), there should be a FriendlyName field, and a CLSID
- field. Write down that 16 byte of CLSID, this is the GUID required by us.
-
-
- NOTE : if searching fails, try to enable all the checkboxes.. you may have
- false hits, but maybe you'll have the right, too...
- NOTE : dump that M$ shit.
-
-
- So, now we have all the info needed (fourcc, GUID, codec file, sample AVI),
- submit your codec support request in mail, and upload these files to the FTP:
- ftp://mplayerhq.hu/MPlayer/incoming/[codecname]/
-
-
- <A NAME=2.2>2.2. Video & Audio output devices
-
-
- <A NAME=2.2.1>2.2.1. Video output devices
-
- General:
- - x11: X11 with optional SHM extension
- - xv: X11 using overlays with the Xvideo extension (hardware YUV & scaling)
- - gl: OpenGL renderer, so far works only with :
- - all cards with Utah-GLX
- - Matrox cards with X/DRI >=4.0.3
- - Radeon with X/DRI CVS
- - dga: X11 DGA extension
- - fbdev:Output to general framebuffers
- - svga: Output to SVGAlib
- - sdl: 1.1.7 : supports software scaling
- 1.1.8 : supports Xvideo (hardware scaling/fullscreen)
- 1.2.0 : supports AAlib (-vo aa is very recommended, see below!)
- - ggi: similar to SDL
- - aa: textmode rendering with AAlib
-
- Card specific:
- - mga: Matrox G200/G400 hardware YUV overlay via the mga_vid device
- - xmga: Matrox G200/G400 overlay (mga_vid) in X11 window
- (Xv emulation on X 3.3.x !)
- - syncfb: Matrox G400 YUV support on framebuffer (obsoleted, use mga/xmga)
- - 3dfx: Voodoo2/3 hardware YUV (/dev/3dfx) support (not yet tested, maybe
- broken)
-
- Special:
- - png: PNG files output (use -z switch to set compression)
- - pgm: PGM files output (for testing purposes or ffmpeg encoding)
- - md5: MD5sum output (for MPEG conformance tests)
- - odivx:OpenDivX AVI File writer (use -br to set encoding bitrate)
- - null: Null output (for speed tests/benchmarking)
-
- NOTE: check the following subsections for details and requirements!
-
-
- <A NAME=2.2.1.1>2.2.1.1. Xv
-
- 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 '-vo xv' uses.
- In order to make this work, be sure to check the following:
- - You have to use XFree86 4.0.2 or newer (former versions don't have XVideo)
- - Your card actually supports harware acceleration (modern cards do)
- - X loads the XVideo extension, it's something like this:
-
-
- (II) Loading extension XVideo
-
-
- in /var/log/XFree86.0.log
-
-
- NOTE : this loads only the XFree86's extension. In a good install, this is
- always loaded, and doesn't mean that the _card's_ XVideo support is
- loaded!
-
- - Your card has Xv support under Linux. To check, try 'xvinfo', it is the
- part of the XFree86 distribution. It should display a long text, similar
- to this:
-
-
- 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...)
-
-
- It must support YUY2 packed, and YV12 planar pixel formats to be
- usable with <B>MPlayer</B>.
-
- - And finally, check if <B>MPlayer</B> was compiled with 'xv' support.
- ./configure prints this.
-
-
- <A NAME=2.2.1.1.1>2.2.1.1.1. 3dfx cards
-
- Older 3dfx drivers were known to have problems with XVideo acceleration,
- it didn't support either YUY2 or YV12, and so. Verify that you have
- XFree86 version 4.1.0 or greater, it works ok. Alternatively, you can use
- <A HREF="http://dri.sourceforge.net">DRI</A> cvs.
- If you experience strange effects using -vo xv, try SDL (it has XVideo too)
- and see if it helps. Check the <A HREF="#2.2.1.3">SDL section</A> for details.
-
-
- <A NAME=2.2.1.1.2>2.2.1.1.2. S3 cards
-
- S3 Savage3D's should work fine, but for Savage4, use XFree86 version 4.0.3
- or greater. As for S3 Virge.. sell it.
-
-
- <A NAME=2.2.1.1.3>2.2.1.1.3. nVidia cards
-
- nVidia isn't a very good choice under Linux.. You'll have to use the
- binary nVidia driver, available at nVidia's website. The standard X
- driver doesn't support XVideo for these cards, due to nVidia's closed
- sources/specifications.
-
- - Riva128 cards don't have XVideo support even with the nvidia driver :(
- Complain to NVidia.
-
-
- <A NAME=2.2.1.1.4>2.2.1.1.4. ATI cards
-
- The GATOS driver has VSYNC enabled by default. It means that decoding speed
- (!) is synced to the monitor's refresh rate. If playing seems to be slow, try
- disabling VSYNC somehow, or set refresh rate to n*(fps of the movie) Hz.
-
-
- <A NAME=2.2.1.2>2.2.1.2. DGA
-
- <A NAME=2.2.1.2.1>2.2.1.2.1. Summary
-
- This document tries to explain in some words what DGA is in general and
- what the DGA video output driver for mplayer can do (and what it can't).
-
-
- <A NAME=2.2.1.2.2>2.2.1.2.2. What is DGA
-
- DGA is short for Direct Graphics Access 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 root or by setting the suid bit on the mplayer excecutable (NOT
- recommended!).
-
- There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was
- introduced with XFree 4.0.1.
-
- 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.
-
- 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 XServer, switch to a depth of 15 bits and vice
- versa.
-
- However DGA has some drawbacks. It seems it is somewhat dependent on the
- graphics chip you use and on the implementation of the XServer's video
- driver that controls this chip. So it does not work on every system ...
-
-
-<A NAME=2.2.1.2.3>2.2.1.2.3. Installing DGA support for <B>MPlayer</B>
-
- First make sure X loads the DGA extension, see in /var/log/XFree86.0.log :
-
-
- (II) Loading extension XFree86-DGA
-
-
- See, XFree86 4.0.x or greater is VERY RECOMMENDED!
- <B>MPlayer</B>'s DGA driver is autodetected on ./configure, or you can force it
- with --enable-dga.
-
- If the driver couldn't switch to a smaller resolution, experiment with
- switches -vm (only with X 3.3.x), -fs, -bpp, -zoom to find a video mode that
- the movie fits in. There is no converter right now.. :(
-
- Become ROOT. DGA needs root access to be able to write directly video memory.
- If you want to run it as user, then install <B>MPlayer</B> SUID root:
-
-
- chown root /usr/local/bin/mplayer
- chmod 750 /usr/local/bin/mplayer
- chmod +s /usr/local/bin/mplayer
-
-
- Now it works as a simple user, too.
-
-
- !!!! BUT STAY TUNED !!!!
- This is a BIG security risk! Never do this on a server or on a computer
- can be accessed by more people than only you because they can gain root
- privilegies through suid root mplayer.
- !!!! SO YOU HAVE BEEN WARNED ... !!!!
-
-
- Now use '-vo dga' option, and there you go! (hope so:)
- You should also try if the '-vo sdl:dga' option works for you! It's much
- faster!!!
-
-
- <A NAME=2.2.1.2.4>2.2.1.2.4. Resolution switching
-
- 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 honouring aspect ratio) of the video data, but the
- XServer only allows switching to resolutions predefined in
- /etc/X11/XF86Config (/etc/X11/XF86Config-4 for XFree 4.0.X respectively).
- Those are defined by so-called modelines and depend on the capabilites
- of your video hardware. The XServer 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:
- /var/log/XFree86.0.log
- See appendix A for some sample modeline definitions.
-
-
- <A NAME=2.2.1.2.5>2.2.1.2.5. DGA & <B>MPlayer</B>
-
- DGA is used in two places with <B>MPlayer</B>: The SDL driver can be made to make
- use of it (-vo sdl:dga) and within the DGA driver (-vo dga).
- The above said is true for both; in the following sections I'll explain
- how the DGA driver for <B>MPlayer</B> works.
-
-
- <A NAME=2.2.1.2.6>2.2.1.2.6. Features of the DGA driver
-
- The DGA driver is invoked by specifying -vo dga at the command line.
- The default behaviour is to switch to a resolution matching the original
- resolution of the video as close as possible. It deliberately ignores the
- -vm and -fs switches (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 to use a single additional cycle 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 -x and -y.
- By providing the -v option, the DGA driver will print, among a lot of other
- things, a list of all resolutions supported by your current XF86-Config
- file.
- Having DGA2 you may also force it to use a certain depth by using the -bpp
- 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.
-
- If you should be lucky enough to have enough offscreen memory left to
- put a whole image there, the DGA driver will use doublebuffering, which
- results in much smoother movie replaying. It will tell you whether double-
- buffering is enabled or not.
-
- Doublebuffering 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.
-
- Doublebuffering may be switched on by using the option -double and may be
- disabled with -nodouble. Current default option is to disable
- doublebuffering. When using the DGA driver, onscreen display (OSD) only
- works with doublebuffering enabled. However, enabling doublebuffering 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.
-
-
- <A NAME=2.2.1.2.7>2.2.1.2.7. Speed issues
-
- 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 mplayer 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 top to see what is really going on in your
- box ...
-
- 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.
-
- If you have a slow system, better use 15 or 16bit depth since they require
- only half the memory bandwidth of a 32 bit display.
-
- Using a depth of 24bit is even a good idea if your card natively just supports
- 32 bit depth since it transfers 25% less data compared to the 32/32 mode.
-
- I've seen some avi files already be replayed on a Pentium MMX 266. AMD K6-2
- CPUs might work at 400 MHZ and above.
-
-
- <A NAME=2.2.1.2.8>2.2.1.2.8. Known bugs
-
- Well, according to some developpers 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.
-
- o with XFree 4.0.3 and nv.o there is a bug resulting in strange colors
- o ATI driver requires to switch mode back more than once after finishing
- using of DGA
- o some drivers simply fail to switch back to normal resolution (use
- Ctrl-Alt-Keypad +, - to switch back manually)
- o some drivers simply display strange colors
- o some drivers lie about the amount of memory they map into the process's
- address space, thus vo_dga won't use doublebuffering (SIS?)
- o 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 the like ...
- o OSD only works with doublebuffering enabled
-
-
- <A NAME=2.2.1.2.9>2.2.1.2.9. Future work
-
- o use of the new X11 render interface for OSD
- o where is my TODO list ???? :-(((
-
-
- <A NAME=2.2.1.2.A>2.2.1.2.A. Some modelines
-
- 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
-
-
- These entries work fine with my Riva128 chip, using nv.o XServer driver
- module.
-
-
- <A NAME=2.2.1.2.B>2.2.1.2.B. Bug Reports
-
- If you experience troubles with the DGA driver please feel free to file
- a bug report to me (e-mail address below). Please start mplayer with the
- -v option and include all lines in the bug report that start with vo_dga:
-
- Please do also include the version of X11 you are using, the graphics card
- and your CPU type. The X11 driver module (defined in XF86-Config) might
- also help. Thanks!
-
-
- Acki (acki@acki-netz.de, www.acki-netz.de)
-
-
- <A NAME=2.2.1.3>2.2.1.3. SDL
-
- Here are some notes about SDL out in <B>MPlayer</B>.
-
- There are several commandline switches for SDL:
-
- -vo sdl:name specifies sdl video driver to use (ie. aalib,
- dga, x11)
- -ao sdl:name specifies sdl audio driver to use (ie. dsp,
- esd, arts)
- -noxv disables Xvideo hardware acceleration
- -forcexv tries to force Xvideo acceleration
-
- SDL Keys:
-
- F toggles fullscreen/windowed mode
- C cycles available fullscreen modes
- W/S mappings for * and / (mixer control)
-
- KNOWN BUGS:
- - Keys pressed under sdl:aalib console driver repeat forever. (use -vo aa !)
- It's bug in SDL, I can't change it (tested with SDL 1.2.1).
-
-
- <A NAME=2.2.1.4>2.2.1.4. SVGAlib
-
- If you don't have X, you can use the SVGAlib target! Be sure not to use the
- -fs switch, since it toggles the usage of the software scaler, and it's
- SLOOOW now, unless you have a real fast CPU (and/or MTRR?). :(
-
- Of course you'll have to install svgalib and its development package in
- order for <B>MPlayer</B> build its SVGAlib driver (autodetected, but can be
- forced), and don't forget to edit /etc/vga/libvga.config to suit your
- card & monitor.
-
-
- <A NAME=2.2.1.5>2.2.1.5. Framebuffer output (FBdev)
-
- Whether to build the FBdev target is autodetected during ./configure .
- Read the framebuffer documentation in the kernel sources
- (Documentation/fb/*) for info on how to enable it, etc.. !
-
- 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 ;))
-
- The FBdev output takes some additional parameters above the others:
-
- -fb specify the framebuffer device to use (/dev/fd0)
- -fbmode mode name to use (according to /etc/fb.modes)
- -fbmodeconfig config file of modes (default /etc/fb.modes)
- monitor_hfreq
- monitor_vfreq IMPORTANT values, see example.conf
- monitor_dotclock
-
- If you want to change to a specific mode, then use
-
- mplayer -vm -fbmode (NameOfMode) filename
-
- -vm alone will choose the most suitable mode from /etc/fb.modes . Can be
- used together with -x and -y options too. The -flip 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 -bpp option, then that.
- -zoom option isn't supported (software scaling is slow). -fs option
- isn't supported. You can't use 8bpp (or less) modes.
-
- NOTE: FBdev video mode changing _does not work_ with the VESA framebuffer,
- and don't ask for it, since it's not an <B>MPlayer</B> limitation.
-
-
- <A NAME=2.2.1.6>2.2.1.6. Matrox framebuffer (mga_vid)
-
- This section is about the Matrox G200/G400/G450 BES (Back-End Scaler)
- support, the mga_v