Mercurial > mplayer.hg
changeset 1612:1b011d6150c7
new, splitted, etc dox
author | gabucino |
---|---|
date | Tue, 21 Aug 2001 21:01:54 +0000 |
parents | c15f0cd6d051 |
children | c6547f93f91e |
files | DOCS/bugreports.html DOCS/codecs.html DOCS/documentation.html DOCS/dvd.html DOCS/faq.html DOCS/sound.html DOCS/video.html |
diffstat | 7 files changed, 2381 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/bugreports.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,141 @@ +<HTML> + +<BODY> + +<PRE> + + <A NAME=C>Appendix C - How to report bugs + +How to report bugs? +~~~~~~~~~~~~~~~~~~~ +First read DOCS/BUGS, and other docs. If your problem isn't +known or isn't solved by our instructions, then report the bug: + +Where? +====== +Subscribe to the mplayer-users mailing list: + http://lists.sourceforge.net/lists/listinfo/mplayer-users +and send your bugreport to: + mplayer-users@lists.sourceforge.net +We won't CC: so please subscribe!!! + +Don't send bugreports private, directly to author's address!!! +We are working together on code, so everyone is interested in it. +BTW many times other users know the solution (system config probs, +bad drivers etc), even when we think it's a bug in our code. +The language of this list is ENGLISH ! + +Please describe your problem in details, examples etc, and don't +forget to include these: + +What? +===== + +1. The system info what we always want: +- linux distribution + examples: + RedHat 7.1 + Slackware 7.0 + devel packs from 7.1 ... +- kernel version: + uname -a +- libc version: + ls -l /lib/libc[.-]* +- X version: + X -version +- gcc and ld version: + gcc -v + ld -v +- binutils version: + as --version + +2. Hardware & drivers: +- CPU info: + cat /proc/cpuinfo +- video card manufacturer and model + examples: + ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM + Matrox G400 DH 32MB SGRAM +- video driver type&version + examples: + X built-in driver + nvidia 0.9.623 + Utah-GLX CVS 2001-02-17 + DRI from X 4.0.3 +- sound card type & driver + examples: + Creative SBLive! Gold with OSS driver from oss.creative.com + Creative SB16 with OSS drivers of kernel + GUS PnP with ALSA OSS emulation +- if you are unsure, attach output of lspci -v + +For compiling problems/errors: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +3. output of configure/make: + make distclean + ./configure &>config.log + ./make &>make.log +4. these files: + config.h + config.mak + libvo/config.mak + +For playback problems: +~~~~~~~~~~~~~~~~~~~~~~ +3. Output of mplayer at verbose level 1 (-v) + mplayer -v [options] filename &> mplayer.log + +4. If the problem is specific to one or a few files, + then please upload that file to: + ftp://mplayerhq.hu/MPlayer/incoming/ + Usually first 1-5 MB of the file is enough to reproduce + the problem, but first you should try it: + dd if=yourfile of=smallfile bs=1k count=1024 + (it will cut first 1MB of 'yourfile' and save to 'smallfile') + Then try again on this small file, and if bug still exists + then it's enough to upload this small file. + NEVER send such files via mail! Upload it, and send only + the path/filename of the file on the FTP. + If the file is accessible on the net, then sending the + _exact_ URL is enough! + +5. For crashes (segfault, SIGILL, signal 4 etc): + +If you have coredump of the crash, see 5.a, else see 5.b: + +5.a: Please print us coredump (if it was created). +Howto: +please create following command file: + +disass $eip-32 $eip+32 +printf "eax=%08lX\n",$eax +printf "ebx=%08lX\n",$ebx +printf "ecx=%08lX\n",$ecx +printf "edx=%08lX\n",$edx +printf "esp=%08lX\n",$esp +printf "ebp=%08lX\n",$ebp +printf "edi=%08lX\n",$edi +printf "esi=%08lX\n",$esi + +Then simply execute following command line: +gdb mplayer --core=core -batch --command=command_file >mplayer.bug + +5.b.: run <B>MPlayer</B> in gdb: +[at root/user shell prompt:] + # gdb mplayer +[at gdb prompt:] + > run -v [options-to-mplayer] filename + ... (wait until it will crash) + > bt + > disass $eip-32 $eip+32 +Send us the full output of the above things! + +In general: +~~~~~~~~~~~ + If something is big (logs etc) then it's better to upload to the ftp + (gzipped), and include only path/filename in the bugreport! + +</PRE> + +</BODY> + +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/codecs.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,219 @@ +<HTML> + +<BODY> + +<PRE> + + <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.4>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]/ + +</PRE> + +</BODY> + +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/documentation.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,731 @@ +<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="codecs.html">2.1 Video Formats, Audio & Video Codecs</A> + <A HREF="codecs.html#2.1.1">2.1.1 Supported input formats</A> + <A HREF="codecs.html#2.1.2">2.1.2 Supported audio & video codecs</A> + <A HREF="codecs.html#2.1.2.1">2.1.2.1 OpenDivX</A> + <A HREF="codecs.html#2.1.2.2">2.1.2.2 ffmpeg's DivX/libavcodec</A> + <A HREF="codecs.html#2.1.4">2.1.4 Codec importing howto</A> + <A HREF="codecs.html#2.1.4.1">2.1.4.1 VFW codecs</A> + <A HREF="codecs.html#2.1.4.2">2.1.4.2 DirectShow codecs</A> +</P> +<P> + <A HREF="video.html">2.2 Video & Audio output devices</A> + <A HREF="video.html#2.2.1">2.2.1 Video output devices</A> + <A HREF="video.html#2.2.1.1">2.2.1.1 MTRR</A> + <A HREF="video.html#2.2.1.2">2.2.1.2 Xv</A> + <A HREF="video.html#2.2.1.2.1">2.2.1.2.1 3dfx cards</A> + <A HREF="video.html#2.2.1.2.2">2.2.1.2.2 S3 cards</A> + <A HREF="video.html#2.2.1.2.3">2.2.1.2.3 nVidia cards</A> + <A HREF="video.html#2.2.1.2.4">2.2.1.2.4 ATI cards</A> + <A HREF="video.html#2.2.1.3">2.2.3.2 DGA</A> + <A HREF="video.html#2.2.1.3.1">2.2.1.3.1 Summary</A> + <A HREF="video.html#2.2.1.3.2">2.2.1.3.2 What is DGA</A> + <A HREF="video.html#2.2.1.3.3">2.2.1.3.3 Installing DGA support for MPlayer</A> + <A HREF="video.html#2.2.1.3.4">2.2.1.3.4 Resolution switching</A> + <A HREF="video.html#2.2.1.3.5">2.2.1.3.5 DGA & MPlayer</A> + <A HREF="video.html#2.2.1.3.6">2.2.1.3.6 Features of the DGA driver</A> + <A HREF="video.html#2.2.1.3.7">2.2.1.3.7 Speed issues</A> + <A HREF="video.html#2.2.1.3.8">2.2.1.3.8 Known bugs</A> + <A HREF="video.html#2.2.1.3.9">2.2.1.3.9 Future work</A> + <A HREF="video.html#2.2.1.3.A">2.2.1.3.A Some modelines</A> + <A HREF="video.html#2.2.1.3.B">2.2.1.3.B Bug Reports</A> + <A HREF="video.html#2.2.1.4">2.2.1.4 SDL</A> + <A HREF="video.html#2.2.1.5">2.2.1.5 SVGAlib</A> + <A HREF="video.html#2.2.1.6">2.2.1.6 Framebuffer output (FBdev)</A> + <A HREF="video.html#2.2.1.7">2.2.1.7 Matrox framebuffer (mga_vid)</A> + <A HREF="video.html#2.2.1.8">2.2.1.8 SiS 6326 framebuffer (sis_vid)</A> + <A HREF="video.html#2.2.1.9">2.2.1.9 3dfx YUV support</A> + <A HREF="video.html#2.2.1.10">2.2.1.10 OpenGL output</A> + <A HREF="video.html#2.2.1.11">2.2.1.11 AAlib - text mode displaying</A> + <A HREF="video.html#2.2.1.A">2.2.1.A TVout</A> + <A HREF="video.html#2.2.1.A.1">2.2.1.A.1 Matrox cards</A> + <A HREF="sound.html#2.2.2">2.2.2 Audio output devices</A> + <A HREF="sound.html#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="dvd.html#4">4. CD/DVD section</A> +</P> +<P> + <A HREF="dvd.html#4.1">4.1 CD drives</A> + <A HREF="dvd.html#4.2">4.2 DVD drives</A> + <A HREF="dvd.html#4.3">4.3 DVD FAQ</A> +</P> +<P> + <A HREF="faq.html">5. FAQ section</A> +</P> +<P> + <A HREF="faq.html#5.1">5.1 Compilation</A> + <A HREF="faq.html#5.2">5.2 General questions</A> + <A HREF="faq.html#5.3">5.3 File playing problems</A> + <A HREF="faq.html#5.4">5.4 Video/audio driver problems</A> + <A HREF="faq.html#5.5">5.5 Feature requests</A> +</P> +<P> + <A HREF="#6">6. Misc OS'es</A> +</P> +<P> + <A HREF="#6.1">6.1 Debian packaging</A> + <A HREF="#6.2">6.2 FreeBSD</A> + <A HREF="#6.3">6.3 Solaris 8</A> + <A HREF="#6.4">6.4 StrongARM</A> +</P> +<P> + <A HREF="#A">A. Authors</A> +</P> +<P> + <A HREF="#B">B. Mailing lists</A> +</P> +<P> + <A HREF="bugreports.html">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="video.html#2.2.1.7">2.2.1.7</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="codecs.html#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. <A HREF="codecs.html">Video Formats, Audio & Video Codecs</A> + + + <A NAME=2.2>2.2. <A HREF="video.html">Video</A> & <A HREF="sound.html">Audio</A> output devices + + + <A NAME=3>3. Usage + + file: mplayer [options] [path/]filename + VCD: mplayer [options] -vcd trackno /dev/cdrom + DVD: mplayer [options] -dvdauth /dev/dvd filename.VOB + net: mplayer [options] http://site.com/file.[mpg|avi] + + mplayer -vo x11 /mnt/Films/Contact/contact2.mpg + mplayer -vcd 2 /dev/cdrom + mplayer -afm 3 /mnt/DVDtrailers/alien4.vob + mplayer -dvd /dev/dvd /mnt/dvd/matrix.vob + mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi + + + <A NAME=3.1>3.1. Control from keyboard + + + l/r arrows seek backward/forward 10 seconds + up or down seek backward/forward 1 minute + p or SPACE pause movie (press any key to continue) + q or ^C stop playing and quit program + o toggle OSD : none / seek / seek+timer + / and * decrease/increase volume + m toggle using master/pcm channel for volume setting + f toggle fullscreen (only with -vo sdl) + + + <A NAME=3.2>3.2. Control from LIRC + + Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver, + an (almost) arbitrary remote control and control your linux box with it! + More about it at www.lirc.org. + + If you have installed the lirc-package, you can compile <B>MPlayer</B> with LIRC + support using ./configure --enable-lirc + + If everything went fine, <B>MPlayer</B> will print a message like + LIRC init was successful. + on startup. If an error occurs it will tell you. If it doens't tell you + anything about LIRC there's no support compiled in. That's it :-) + + The application name for <B>MPlayer</B> is - oh wonder - mplayer_lirc. + It understands the following commands: + + PAUSE - pause playing. Any other keystroke will continue replay. + QUIT - exit mplayer + RWND - 10 secs back + FRWND - 60 secs back + FWD - skip 10 secs + FFWD - skip 60 secs + INCVOL - increase volume one percent + DECVOL - decrease volmue one percent + MASTER - use master mixer channel + PCM - use pcm mixer channel + + Don't forget to enable the repeat flag for RWND/FWD in .lircrc. Here's an + excerpt from my .lircrc: + + begin + remote = CU-SX070 + prog = mplayer_lirc + button = Tape_Play + repeat = 1 + config = FFWD + end + + begin + remote = CU-SX070 + prog = mplayer_lirc + button = Tape_Stop + config = QUIT + end + + If you don't like the standard location for the lirc-config file (~/.lircrc) + use the -lircconf [filename] switch to specify another file. + + + <A NAME=3.3>3.3. Streaming from network or pipes + + <B>MPlayer</B> can play media from network, by using the HTTP protocol, and even + beta ASF streaming (FROM network) is available. + Configuring it is simple, just recompile <B>MPlayer</B> with + + + ./configure --enable-streaming + + + <B>MPlayer</B> can read from stdin (NOT named pipes). This can be for example + used to play from FTP : + + + wget ftp://micorsops.com/something.avi -O - | mplayer - + + + <A NAME=4>4. <A HREF="faq.html">FAQ section</A> + + + <A NAME=5>5. <A HREF="dvd.html">CD/DVD section</A> + + + <A NAME=6>6. Misc OS'es + + + <A NAME=6.1>6.1. Debian packaging + + To build the package, get the cvs version, or .tgz and uncompress it, + and cd into programs directory: + + + cd main + fakeroot debian/rules binary + + + (... mplayer detects hardware/software, builds itself and.. ) + dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'. + + And now just become root, and : + + + dpkg -i ../mplayer_0.18-1_i386.deb as root. + + + Here's how it looks like: + + eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb + Password: + (Reading database ... 26946 files and directories currently installed.) + Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb) + Unpacking replacement mplayer ... + Setting up mplayer (0.18-1) ... + + + <A NAME=6.2>6.2. FreeBSD + + To build the package you will need GNU make (gmake, /usr/ports/devel/gmake), + native BSD make will not work. + + To run <B>MPlayer</B> you will need to re-compile the kernel with + "options USER_LDT" (unless you are running -CURRENT, where this is default). + If you have a CPU with SSE also use "options CPU_ENABLE_SSE" to use it + (FreeBSD-STABLE required, or use kernel patches). + + If <B>MPlayer</B> complains about "CD-ROM Device '/dev/cdrom' not found!" make a + symbolic link : ln -s /dev/(your_cdrom_device) /dev/cdrom + + There's no DVD support for FreeBSD yet. + Feel free to add it :-) + + + <A NAME=6.3>6.3. Solaris 8 + + AVI file playback works best on Solaris x86, because you have the + option to use the win32 codecs on the x86 platform. On Solaris SPARC, + you'll find quite a few AVI files with non working video and/or + audio playback, because the video/audio codecs using the win32 DLLs + are not available. However, <B>DivX/OpenDivX</B> movies should work, + when using libavcodec. + + To build the package you will need GNU make (gmake, /opt/sfw/gmake), native + Solaris make will not work. Typical error you get when building with solaris' + make instead of GNU make: + + + % /usr/ccs/bin/make + make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen + + + On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter + if GNU C/C++ compiler is configured with or without the GNU assembler. + + On Solaris x86, you need the GNU assembler and the GNU C/C++ + compiler, configured to use the GNU assembler! The mplayer code on + the x86 platform makes heavy use of MMX, SSE and 3DNOW! + instructions that cannot be compiled using Sun's assembler + /usr/ccs/bin/as. + + The configure script tries to find out, which assembler program is + used by your "gcc" command (in case the autodetection fails, use + the "--as=/whereever/you/have/installed/gnu-as" option to tell the + configure script where it can find GNU "as" on your system). + + Error message from configure on a Solaris x86 system using GCC + without GNU assembler: + + % configure + ... + Checking assembler (/usr/ccs/bin/as) ... , failed + Please upgrade(downgrade) binutils to 2.10.1... + + (Solution: Install and use a gcc configured with "--with-as=gas") + + Typical error you get when building with a GNU C compiler that does + not use GNU as: + + % gmake + ... + gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math + -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c + Assembler: mplayer.c + "(stdin)", line 3567 : Illegal mnemonic + "(stdin)", line 3567 : Syntax error + ... more "Illegal mnemonic" and "Syntax error" errors ... + + + For DVD support you must have the patched libcss installed. Patch: + http://www.tools.de/solaris/mplayer/ + + + Due to two bugs in solaris 8 x86, you cannot reliably play DVDs using a + capacity >4GB: + + - The sd(7D) driver on solaris 8 x86 driver has bug when accessing a + disk block >4GB on a device using a logical blocksize != DEV_BSIZE + (i.e. CDROM and DVD media). Due to a 32bit int overflow, a disk + address modulo 4GB is accessed. + (http://groups.yahoo.com/group/solarisonintel/message/22516) + + - The similar bug is present in the hsfs(7FS) filesystem code (aka + ISO9660), hsfs currently does not support partitions/disks >4GB, + all data is accessed modulo 4GB + (http://groups.yahoo.com/group/solarisonintel/message/22592) + + + <A NAME=6.4>6.4. StrongARM + + MPlayer is reported to compile on StrongARM. Use the following command line: + + + ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib + --with-x11incdir=/usr/arm/lib --disable-gcc-checking + + + <A NAME=A>Appendix A - Authors + +NOTE: Do *NOT* send bugreports, help & feature requests directly to the authors! +===== Read Appendix <A HREF="#C">C</A> and subscribe to mplayer-users mailing lists. + +========================== The <B>MPlayer</B> project: =============================== + +Árpád Gereöffy (A'rpi/ESP-team): <arpi@thot.banki.hu> +- player code (mpeg stream demultiplexer and avi/asf parser, A-V sync, seek...) +- mp3lib, based on mpglib sources [MP3 audio decoder] +- getch2 [keyboard handler] +- some changes in libmpeg2 code (progressive frames, bitrate & fps support) +- libvo improvements: adding OpenGL support, bugfix in mga driver... +- triple buffering & YUY2 support (for DivX/MPEG4) into mga_vid driver +- scripts in the TVout directory (TVout on Matrox G400DH, read documentation) +- hacking DivX/Mpeg4 VfW codecs to get YUV output +- opendivx decoder speed optimizations (see opendivx/ChangeLog) +- OSD & SUB display code +- ffmpeg/libavcodec integration +- DivX4Linux (ProjectMayo) support (see documentation) + +Zoltán Ponekker (Pontscho/Fresh!): <pontscho@makacs.poliod.hu> +- configure script and Makefiles for easy compile +- GUI system (near complete!?) +- 3DNow! support into mp3lib +- 3DNow! support into fastmemcpy.h +- various X11 driver changes (keyboard handling, fullscreen, bpp detect, etc) +- libvo: adding xmga driver, and fullscreen support to xv +- audio mixer (volume) support + +Gábor Lénárt (LGB): <lgb@lgb.hu> +- ./configure script improvements +- Makefile improvements +- prelimenary DVD support +- another GUI code (is that so..?) +- various X11 cleanups and fixes + +Gábor Bérczi (Gabucino): <gabucino@k2.jozsef.kando.hu> +- documentation maintainer +- hungarian translation of documentation +- second webpage design&gfx +- webpage maintainer +- testing, codecs quality & speed comparsions +- IRC channel #<B>MPlayer</B> operator + (devel channel, users earn kickban) +- experimental MINIX port + +Szabolcs Berecz (Szabi): <szabi@inf.elte.hu> +- codecs.conf file parser +- config file and command line parser +- mga_vid fixes, module option etc. +- fbdev support in libvo +- type #7 subtitle support + +László Megyer (Lez, Laaz): <lez@sch.bme.hu> +- SUB reader +- screensaver+DPMS disable for libvo + +Gyula László (Chass, Tégla): <chass-@freemail.hu> +- first fonts (mp_font1.zip) +- third (current) homepage design&gfx + +Zoltán Márk Vicián (Se7en): <se7en@sch.bme.hu> +- SVGAlib support in libvo + +Alex Beregszaszi (Al3x): <alex@naxine.org> +- ALSA output driver in libao2 +- vo_ggi output driver in libvo (www.ggi-project.org) + +Andreas Ackermann (Acki): <asackerm@stud.informatik.uni-erlangen.de> +- LIRC support (see documentation) +- DGA support in libvo + +Felix Bünemann (Atmos): <atmosfear@users.sourceforge.net> +- SDL driver maintainer +- Additional YUV formats fixes +- New font (mp_font2.zip) +- PNG file output support in libvo +- flipping support (for Indeo 3/4, etc) +- SDL audio driver in libao2 +- RAW PCM/WAVE file writer for libao2 + +TeLeNiEkO: <telenieko@telenieko.com> +- spanish translation of documentation + +Michael Graffam: <mgraffam@idsi.net> +- XF86VidMode support to vo_x11 and vo_dga +- Video mode switching code to vo_dga + +Jens Hoffmann: <hoffmajs@gmx.de> +- Additional YUV formats support +- found the big BITMAPINFOHEADER problem -> solved ASV2 pixelization + +Nick Kurshev: <nickols_k@mail.ru> +- memcpy optimizations for AMD K7 and Intel Pentium III (fastmemcpy.h) +- CDROM tune info +- further 3DNow! optimizations into mp3lib and libac3 and ffmpeg +- russian translation of documentation + +German Gomez Garcia: <german@piraos.com> +- DVD .ifo parser and chapter selection [not yet in the main trunk] +- SPDIF AC3 output for SBLive! + +Dariush Pietrzak (Eyck): <eyck@incubus.ar.lublin.pl> +- debian packaging support (see debian/* and this documentation) +- support for vplayer subtitle format +- prelimenary support for .RT subtitle format + +Marcus Comstedt: <marcus@idonex.se> +- initial solaris8-x86 support + +Jürgen Keil and Marcus Comstedt: <jk@tools.de> <marcus@idonex.se> +- patched <B>MPlayer</B> to work on Solaris 8 x86 +- configure fixes +- various fixes (win32, configure, etc) +- SUN audio driver in libao2 + +Vladimir Kushnir: <vkushnir@Alfacom.net> +- patched <B>MPlayer</B> to work on FreeBSD x86 + +Bertrand BAUDET: <bertrand_baudet@yahoo.com> +- network streaming support + +Artur Zaprzala: <artur.zaprzala@talex.com.pl> +- Complete font generator prog + OSD font (TOOLS/subfont-c) + +lanzz@lanzz.org: +- GIMP font generator plugin (TOOLS/subfont-gimp) + +Adam Tla/lka: <atlka@pg.gda.pl> +- osd/sub review, fixes, optimization, utf8 support +- various fixes + +Folke Ashberg: <folke@ashberg.de> +- native AAlib driver (-vo aa) + +Main testers: + Tibor Balázs (Tibcu) + Péter Sasi (SaPe) + Christoph H. Lampert + Attila Kinali + Dirk Vornheder + +========================== The codecs, libs: ================================= + +Aaron Holtzman: <aholtzma@engr.uvic.ca> +- ac3dec (and libac3) author [AC3 audio decoder] +- mga_vid driver [Matrox G200/G400 YUV Back-end Scaler] +- mpeg2dec [Fast MPEG1/MPEG2 video decoder, currently used in player] + +Michel Lespinasse: <walken@zoy.org> +- did large libmpeg2 changes for better speed and mpeg conformance + +Eugene Kuznetsov: <divx@euro.ru> +- avifile author [AVI player library for linux, using Win32 VfW/ACM codecs] +- technical help about AVI and ASF formats, and how to get YUV using VfW... +- divx4linux techical support + +Zdenek Kabelac: <kabi@informatics.muni.cz> +- current avifile maintainer(?) +- some technical help about the win32 stuff and timers + +Gerard Lantau: <glantau@yahoo.fr> +- ffmpeg/libavcodec author,maintainer (opensource mpeg, mjpeg, divx en/decoder) + +Project Mayo: [http://www.projectmayo.com] +- the OpenDivX codec authors + +Michael Hipp: +- mpglib author [isn't used directly but some parts in mp3lib] + +Mark Podlipec: +- xa_gsm.c author [MS-GSM audio codec] + [from a GSM library by Jutta Degener and Carsten Bormann] + +Their code is not used in current player version, but I've got some ideas or +other technical help from: + +John F. McGowan http://www.jmcgowan.com/ +- AVI FAQ author/collector. [site with many useful docs on codecs and avi fmt] + +Dirk Farin: <farin@ti.uni-mannheim.de> +- dvdview author [MPEG1/MPEG2 video decoder, used in v0.5-v0.8] + +Adam Williams: <broadcast@earthling.net> +- libmpeg3 (and xmovie) author [MPEG1/MPEG2 video decoder, used in v0.1-v0.4] + + + <A NAME=B>Appendix B - Mailing lists + +There are some public mailing lists on <B>MPlayer</B>. Subscribing can be achieved on +the following addresses: + +- <B>MPlayer</B> core/hungarian developers list: + http://mp.dev.hu/mailman/listinfo/mplayer-devel + + I dunno, it is the FLAME list in hungarian language :) + Also some talking about mplayer core team internals, like mplayer + party, sponsors etc can be here. + +- <B>MPlayer</B> developers list: + http://lists.sourceforge.net/lists/listinfo/mplayer-dev-eng + + This list is about mplayer development! Talking about interface/API changes, + new libraryes, code optimization, ./configure changes, and send patches here. + Do NOT send bugreports, user questions, feature requests here! + This list should be kept low-traffic. + +- <B>MPlayer</B> users list: + http://lists.sourceforge.net/lists/listinfo/mplayer-users + + - send bugreports here (after reading DOCS/BUGS, Appendix <A HREF="#C">C</A>) + - send feature requests here (after reading DOCS/TODO) + - send user questions here (after reading all this documentation) + +- <B>MPlayer</B> & Matrox G200/G400/G450 users: + http://lists.sourceforge.net/lists/listinfo/mplayer-matrox + + Send matrox-related questions here, + - things about mga_vid, + - matrox's official beta drivers (for X 4.x.x) + - and about matroxfb-TVout stuff. + +- mpg12play-portable developers: + http://lists.sourceforge.net/lists/listinfo/mplayer-mpg12play + + This list is for talking about mplayer ports to non-x86 platforms + (IRIX, Solaris-SPARC, Alpha, Commodore64, Sharp Calculator, + Teapot etc...) + +- <B>MPlayer</B> announce: + http://lists.sourceforge.net/lists/listinfo/mplayer-announce + + Very low traffic list :) + And it's read-only. I'll post something shit there if a new release + is done. + +- <B>MPlayer</B> CVS-log: + http://mp.dev.hu/mailman/listinfo/mplayer-cvslog + + Send only questions about CVS changes here. + (if you don't understand why a change is required or you've better fix) + Be sure in that your target developer reads this list! + +NOTE: language of above lists are ENGLISH, unless explicitly stated otherwise. + Please do not send messages using other language! + + + <A NAME=C><A HREF="bugreports.html">Appendix C</A> - How to report bugs + +</PRE> + +</BODY> + +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/dvd.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,207 @@ +<HTML> + +<BODY> + +<PRE> + + <A NAME=4.1>4.1. CD-ROM drives + + From Linux documentation: + + Some CDROM drives are capable of changing their head-speed. There are several + reasons for changing the speed of a CDROM drive. Badly pressed CDROMs may + benefit from less-than-maximum head rate. Modern CDROM drives can obtain very + high head rates (up to 24-times is common). It has been reported that these + drives can make reading errors at these high speeds, reducing the speed can + prevent data loss in these circumstances. Finally, some of these drives can + make an annoyingly loud noise, which a lower speed may reduce. + + The recommended way to do it is with a program called 'setcd' . It's kinda + old, but won't be too hard to find on the Net. (UPDATE : new hdparm + has an option for this !) + Use it with : + + + setcd -x [speed] [cdrom device] + + + Also you can try : + + + echo current_speed:4 >/proc/ide/[cdrom device]/settings + + + but you'll need root privileges. I use following command too : + + + echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings + + + for 2MB prefetched reading from the file (it's useful for scratched CDROMs). + It's recommended that you tuneup your CDROM drive also with hdparm : + + + hdparm -d1 -a8 -u1 (cdrom device) + + + to enable using DMA access, readahead, and IRQ unmasking. + (if you don't understand these, *read the hdparm manpage*) + + Please refer to "/proc/ide/[cdrom device]/settings" for fine-tuning your + CDROM. + + + + <A NAME=4.2>4.2. DVD drives + + IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. This + is extremly experimental hack. Maybe it won't work for you. If you're + capable of helping us do it now! First we would like to fix existing problems. + Then we can start implementing advanced DVD playback functions of course. + + This means current DVD functions are mainly for developers and not for users! + + First, you must compile and install libcss on your system. + Second, you have to recompile <B>MPlayer</B> with libcss support. There is + autodetection of libcss, but if it fails, see below : + + Call ./configure script of <B>MPlayer</B> with these options: + + ./configure --enable-css --with-csslibdir=/usr/local/lib --with-cssincdir=/usr/local/include + + (of course you can append your favourite options as well) + + --with-csslibdir=/usr/local/lib + Directory contains libcss.so shared library. This directory should + be in your /etc/ld.so.conf as well. + + --with-cssincdir=/usr/local/include + Directory contains header file 'css.h' of libcss. + + mplayer -dvdauth /dev/dvd /mnt/cdrom/video_ts/vts_01_1.vob + + where, + + '-dvdauth /dev/dvd' tells <B>MPlayer</B> the device name of your DVD drive. + it's used in disc authentication process + + the filename is simply a VOB file path on the disc + + Note that according to my experiences, disc authentication requires root + privileges so you must run <B>MPlayer</B> as root! (see section 'Problems'). + + NOTE about the sound: + It seems that <B>MPlayer</B> sometimes fails to find the first audio stream. + You can specify it with the '-aid 128' option, for example. + Please experience with 128,129 and similar values. See section + 'Problems'. + + On my AMD K6-2 with using hw scaling and colorspace conversion + capability of my G400 it's possible to watch DVD with about 70% + CPU usage with '-nosound'. Unfortunately with sound my machine is + not enough :( Maybe it can be improved somewhat ... + Guess, it's not so bad ... According to reports from my friends + xine uses 80-90% CPU to play DVD on much more powerful machines + like 1GHz Athlon systems (as far as I know, it's said that about + 300MHz celeron is the minimum to watch DVDs ... using windows + DVD viewers). + + Hint: I commented out downmix functions from libac3 (of course in this way I + can't get sound) and audio decoding CPU usage became 11% instead of 24 on + my machine. This clearly indicates that we should optimize downmix functions + (KNI code is no use for my k6-2). + + HOT NEWZ: + We have got 3Dnow optimized libac3. Wow ;-) + + + Problems (TODO) + + * disc authentication (the FIBMAP ioctl) requires root privilegies. + this is strange since OMS can do it as user too. + * sound. I'm using my only DVD disc (The Matrix) to test <B>MPlayer</B>. + some VOB file have English sound, some have Spanish and some have + no sound at all. + IT SEEMS that if I give '-aid 128' everything works with English sound ... + * strange effects but only with SOME vob files (it looks like some interlacing + effect, eg: every 2nd line on the screen is from the last frame). + + + Feature TODO + + * chapter scanner + * audio stream scanner and allow to select one on runtime as well + (in stage#1 it would be enough to select one on the startup, see + 'Problems' above) + * DVD menu + I found (at least on disc 'The Matrix') the menu VOB but I don't + know how can it be used. + (after some eyeballing on the source of OMS, it seems we would have to + parse *.ifo files) + * subtitle support + * OSD/GUI (?) support for select chapter, subtitle and audio stream + * getting some documentation on DVD format, eg: which is the 'root' VOB + file on the disc in video_ts directory, which is the menu and so on. + * improve performance (see 'Performance' above) + + + No sound problem (from Matrix DVD, the menu VOB) + + End of packet while searching for PCM header + + DEMUXER: Too many (2048 in 4131540 bytes) video packets in the buffer! + (maybe you play a non-interleaved stream/file or video codec failed) + MPEG: No Audio stream found... ->nosound + + However this does not occur if you specify '-aid 128'. + + + <A NAME=4.3>4.3. DVD FAQ + + <B>Q: I have some problem not mentioned here ... + </B>A: Read file 'DVD' as well. + + <B>Q: How can I actually watch DVD with MPlayer? + </B>A: Ehh. Go on reading this file as well as 'DVD' (hint: you must have libcss) + + <B>Q: So MPlayer can play DVDs? Then it must use DeCSS! You are under arrest + under the XYZ#$ paragraph of the-- + </B>A: Get back asshole, there is no DeCSS code in MPlayer. It links to libcss. + + <B>Q: Seems to work but no sound. + </B>A: Use '-aid 128' (or try: 128,129,...) command line switch + + <B>Q: I have got Spanish audio instead of English (or similar problems) + </B>A: See the last question/answer. + + <B>Q: MPlayer complains about FIBMAP or something. + </B>A: Try to run MPlayer as root. + + <B>Q: some strange effect (interlace like thing) especially when fast moving + objects are shown in the movie + </B>A: known problem, we try to fix it later + + <B>Q: DVD support in MPlayer is a piece of shit! + </B>A: You're probably right :) However please contact us if you can improve it! + + <B>Q: Where can I get libcss package from? + </B>A: Maybe from the source of OMS (www.linuxvideo.org). + + <B>Q: How can I ... (insert some expectable DVD player feature here) + </B>A: The current implementation is only for viewing VOB files from DVD. + Nothing more, like subtitles, menus and so on. + + <B>Q: How can I set the region code of my DVD-Drive ? I don't have windows! + </B>A: Use the 'regionset' tool : + http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz + + <B>Q: MPlayer complains about some renamed option? + </B>A: For future development, old '-dvd' option was replaced by '-dvdauth'. + Option '-dvd' *WILL* do the 'full disk movie' mplaying mode. + But until that, '-dvd' does nothing only prints error message. + +</PRE> + +</BODY> + +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/faq.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,322 @@ +<HTML> + +<BODY> + +<PRE> + + <A NAME=5>5. FAQ section + + + <A NAME=5.1>5.1. Compilation + + <B>Q: What's the problem with gcc 2.96 ? + </B>A: gcc 2.96 is RedHat's UNOFFICIAL (it can be found only on RedHat sites, or + RedHat distributions) and BUGGY gcc release. gcc 2.96 is TOTALLY + unsupported by <B>MPlayer</B>, because it simply SKIPS MMX codes, it just does + not compile it. Important: this is NOT an <B>MPlayer</B>-specific problem, + numerous other projects (DRI, avifile, etc..) have problems with this shit + too. + ** DO NOT USE gcc 2.96 !!! ** + + <B>Q: Great, I have gcc 3.0.1 from RedHat/Mandrake, then I'm fine--! + </B>A: No :) Their gcc 3.0.1 was compiled with gcc 2.96, so they are + buggy shit too. + + <B>Q: Now then. What should I use? + </B>A: Any of gcc 2.95 series. + + <B>Q: SDL output doesn't work or compile. Problem is .... + </B>A: It is tested with newest SDL (probably runs on 1.1.7+). + It does NOT work with 1.1.6, 1.1.5 1.1.4 1.1.3 1.0.4 etc, don't ask. + + <B>Q: I am still having trouble compiling with SDL support. gcc says something + about "undefined reference to `SDL_EnableKeyRepeat'" What's now? + </B>A: Where did you install the SDL library? If you installed in /usr/local + (the default) then edit the top level config.mak and add + "-L/usr/local/lib " after "X_LIBS=" Now type make. You're done! + + <B>Q: It doesn't compile, and it misses uint64_t inttypes.h and similar things... + </B>A: copy DOCS/inttypes.h to <B>MPlayer</B> directory (cp DOCS/inttypes.h .) + try again... if fail, contact us + + <B>Q: I have Pentium III but ./configure doesn't detect SSE + </B>A: Only kernel versions 2.4.x supports SSE (or try latest 2.2.19 or newer, but + be prepared for problems) + + <B>Q: I have G200/G400, how to compile/use mga_vid driver? + </B>A: Read all this documentation. + + <B>Q: Are there rpm/deb/... packages of <B>MPlayer</B>? + </B>A: You can make a .deb package for yourself, check section <A HREF="documentation.html#6.1">6.1</A> . + It's _STRONGLY_ discouraged to use precompiled packages + of <B>MPlayer</B>, since it (currently) _highly_ depends on compile-time + options and optimizations! + Precompiled packages are COMPLETELY unsupported by the <B>MPlayer</B> team! + + <B>Q: During 'make', <B>MPlayer</B> complains about X11 libraries. I don't understand, + I DO have X installed!? + </B>A: ...but you don't have the X development package installed. Or not + correctly. It's called XFree86-devel* under RedHat, and xlib6g-dev* under + Debian. Also check if the /usr/X11 symlink exists (this can be a problem on + Mandrake systems). It can be created with the + $ ln -sf /usr/X11R6 /usr/X11 + command. Also check the /usr/include/X11 link : + $ ln -sf /usr/X11R6/include/X11 /usr/include/X11 + Your distribution may differ from the Linux Filesystem Standard. + + <B>Q: What about DGA driver? I can't find it!!! + </B>A: ./configure autodetects your DGA driver. If -vo help doesn't show + DGA, then there's a problem with your X installation. + Try ./configure --enable-dga (and read VIDEOCARDS) + Alternatively, try SDL's DGA driver with '-vo sdl:dga' options. + + <B>Q: I can't compile SVGAlib.. I'm using 2.3/2.4 kernel. + </B>A: You have to edit SVGAlib's Makefile.cfg and comment "BACKGROUND = y" out. + + <B>Q: I compiled <B>MPlayer</B> with libcss/libdivxdecore support, but when + I try to start it, it says : + > error while loading shared libraries: libcss.so.0: cannot load + > shared object file: No such file or directory + I checked up on the file and it IS there in /usr/local/lib. + </B>A: What are you doing on Linux? Can't you install a library? Why do + we get these questions? It's not <B>MPlayer</B> specific at all! Add + /usr/local/lib to <B>/etc/ld.so.conf</B> and run <B>ldconfig</B> . + Or install it to /usr/lib , because if you can't solve the /usr/local + problem, you are careless enough to do such things. + + <B>Q: I have gcc 3.0 . I have to compile mplayer with --disable-dshow, + else it prints + + /usr/local/objdir/gcc-3.0/lib//libstdc++.so.3: undefined symbol: __dso_handle + + </B>A: All you have to do is create a symbolic link from libstdc++.so to + libstdc++.so.3 + + + <A NAME=5.2>5.2. General questions + + <B>Q: What about DVD playback? + </B>A: Read files 'DVD' and 'DVD-FAQ'. + + <B>Q: -xy option doesn't work with x11 driver (-vo x11) + </B>A: x11 driver doesn't support scaling, but XF86VidMode support is now + used: you must specify the -vm and the -fs switch, and you're done. + Make sure you have the right Modelines in your XF86Config file, and + try if the DGA driver (and SDL's DGA driver, see VIDEOCARDS) works for you. + It's much faster. If SDL's DGA works too, use that, it'll be EVEN + faster! + + <B>Q: what is the meaning of numbers in the status line? + </B>A: see: + </B>A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57 41% 0% 2.6% 0 + - </B>A: audio position in seconds + - V: video position in seconds + - A-V: audio-video difference in seconds (delay) + - ct: total A-V sync correction done + - frames played (counting from last seek) + - video codec cpu usage in percent (for mpeg it includes video_out too!) + - video_out cpu usage for avi, 0 for mpg (see above) + - audio codec cpu usage in percent + - frames needed to drop to maintain A-V sync + Most of them are for debug purposes, and will be removed soon. + + <B>Q: Why is video_out cpu usage zero (0%) for mpeg files? + </B>A: It's not zero, but it's built in into codec, so can't be measured separated. + You should try to play the file using -vo null and then -vo ... and check + the difference to see video_out speed... + + <B>Q: What's XMMP? (is it XMMS or XMPS but mispelled?) + </B>A: It's a new project, see http://frozenproductions.com for details + + <B>Q: There are error messages about file not found /usr/lib/win32/.... + </B>A: Download & install w32codec.zip from *our* FTP + (avifile's codec package has different DLL set) + + <B>Q: Are there any mailing lists on <B>MPlayer</B>? + </B>A: Yes! See README on how to subscribe them! + + <B>Q: I've found a nasty bug when I tried to play my favourite video!! + Who should I inform? + </B>A: See Appendix <A HREF="bugreports.html">C</A> . + + <B>Q: I have problems playing files with ... codec. Can I use'em? + </B>A: Check http://mplayer.sourceforge.net/DOCS/codecs.html, + if it doesn't contain your codec, read + http://mplayer.sourceforge.net/DOCS/CODECS, and contact us. + + <B>Q: Umm, what is "IdegCounter" ? + </B>A: A mixture of a hungarian and an english word. In english, "Ideg" means + "nerve", and is pronounced as something like "ydaegh" . It was first used + to measure the nervousness of A'rpi, after some (umm) "mystic" disappearance + of CVS code ;) + + <B>Q: LIRC doesn't work, because ... + </B>A: Are you sure you use "mplayer_lirc" instead of "mplayer" ? + + <B>Q: Subtitles are very nice, the most beautiful I've ever seen, but they slow + down the playing! I know it's unlikely... + </B>A: After running ./configure , edit config.h and replace #undef FAST_OSD with + #define FAST_OSD . Then recompile. + + <B>Q: The OSD is flickering! + </B>A: You use a vo driver with single buffering (x11,xv). With xv you can change + the number of buffers in libvo/vo_xv.c : + Increase #define NUM_BUFFERS 1 + + <B>Q: What exactly is this libavcodec? + </B>A: It's from Gerard Lantau's ffmpeg package (http://ffmpeg.sourceforge.net). + It has C language DivX ;-) and OpenDivX codec. Some benchmarks + showed that its DivX seems to be even faster than DirectShow codec without + preprocessing, and only a few percent slower than ProjectMayo's OpenDivX + decoder. It uses YV12 pixel format, so old Voodoo users can use it for YUV. + Also, open the possibility to play DivX on virtually every computer that + has a C compiler. Kinda great stuff, isn't it? + + <B>Q: But configure tells me "Checking for libavcodec ... no"! + </B>A: You need to get libavcodec from FFmpeg's CVS. Read the instructions in + the <A HREF="codecs.html#2.1.2.2">ffmpeg section</A> . + + + <A NAME=5.3>5.3. File playing problems + + <B>Q: ...... works with avifile/aviplay while doesn't with <B>MPlayer</B> + </B>A: <B>MPlayer</B> != avifile + The only common thing between these players is the Win32 DLL loader. + The codecs (dll) sets, syncronization, demultiplexing etc is totaly + different and shouldn't be compared. + If something works with aviplay it doesn't mean that <B>MPlayer</B> should do + it and vice versa. + + <B>Q: audio goes out of sync playing .avi file + </B>A: try with -bps or -nobps option + if still bad, send me (upload to ftp) that file, I'll check. + + <B>Q: Indeo 3.x/4.x movies are viewed upside-down!!!? + </B>A: It's a known bug (really it's a bug/limitation of the DLL codec) + Try if your vo driver supports the -flip switch. + + <B>Q: Indeo 3.x,4.x video doesn't work at 32bpp resolutions (16,24 bpp are ok) + </B>A: It's a known bug (really it's a bug/limitation of the DLL codec) + + <B>Q: I've got '<B>MPlayer</B> interrupted by signal 11' in module audio_setup or + decode_audio. + </B>A: This is highly unlikely, since the mp3lib rewrite. Contact us, it may be + a bug. Possibly it's a damaged file, try with -afm 4 . + + <B>Q: <B>MPlayer</B> exits with something error when using l3codeca.acm + </B>A: Check 'ldd /usr/local/bin/mplayer' output. If it contains + libc.so.6 => /lib/libc.so.6 (0x4???????) + where "?" is any number then it's ok, the error is not here. If it is: + libc.so.6 => /lib/libc.so.6 (0x00??????) + then there is problem with your kernel/libc. Maybe you are using some + security patches (for example Solar Designer's OpenWall patch) which + forces loading libraries to very low addresses. + Because l3codeca.acm is a non-relocatable DLL, it must be loaded to + 0x00400000, we can't change this. You should use non-patched kernel, + or use <B>MPlayer</B>'s -afm 1 option to disable using l3codeca.acm. + + <B>Q: My computer plays M$ DivX AVIs with resolutions ~ 640x300 and stereo mp3 + sound too slow. When I use -nosound switch, everything is ok (but quiet). + </B>A: Those files probably have 48Khz audio, and your soundcard/driver can't play + it correctly. Audio downsampling isn't implemented in <B>MPlayer</B> (yet). + + <B>Q: <B>MPlayer</B> dies with "<B>MPlayer</B> interrupted by signal 4 in module: decode_video". + </B>A: Try running <B>MPlayer</B> on the machine you compiled on. Or recompile. Don't + use <B>MPlayer</B> on different CPU than it was compiled on. + + <B>Q: I have problems with [your window manager] and fullscreen xv/xmga/sdl/x11 + modes.. + </B>A1: Use the -fsmode switch. See example.conf or manpage. + + <B>Q: But it works with avifile ! + </B>A: So what? + + <B>Q: Then avifile is better ! + </B>A: Then use avifile, it has nice GUI and nice C++ code :) + + <B>Q: I got this playing mpeg files: Can't find codec for video format 0x10000001 ! + </B>A: You have old version of codecs.conf at ~/.mplayer/. Upgrade it from DOCS/ + + <B>Q: After starting mplayer under KDE(1/2) I just get a black screen and nothing + happens, after about one minute the video starts playing. + </B>A: The KDE arts sound daemon is blocking the sound device, either wait the time + until video starts or you disable the arts-daemon in kontrollcenter. + If you want to use arts sound, specify audio output via SDL (ao=sdl), and + make sure your SDL can handle arts sound. Yet another option is to start + mplayer with artsdsp. + + <B>Q: I have an AVI that plays with grey screen with -vc odivx, and green + with -vc divx4 . + </B>A: It's not a DivX file, but an M$ MPEG4v3 . Update your codecs.conf. + + + <A NAME=5.4>5.4. Video/audio driver problems (vo/ao) + + <B>Q: Ok, -vo help shows DGA driver, but it is babbling about permissions! + Help me! + </B>A: It works only if running as root! It's a DGA limitation. + You should become to root (su -), and try again. + + Another solution is making mplayer SUID root, but its NOT RECOMMENDED! + + chown root /usr/local/bin/mplayer + chmod 750 /usr/local/bin/mplayer + chmod +s /usr/local/bin/mplayer + + !!!! 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 ... !!!! + + <B>Q: When using Xvideo, my Voodoo 3/Banshee says: + X Error of failed request: BadAccess (attempt to access private resource + denied) + Major opcode of failed request: 147 (MIT-SHM) + Minor opcode of failed request: 1 (X_ShmAttach) + Serial number of failed request: 26 + Current serial number in output stream:27 + </B>A: Your driver is old, update it. Either download (at least) DRI version 0.6 + from http://dri.sourceforge.net , or use the DRI cvs. + + <B>Q: When using Xvideo, I can't play DivX avis with my Voodoo 3/Banshee ! + It says: + ... + Xvideo image format: 0x32315659 (YV12) planar + Xvideo image format: 0x30323449 (I420) planar + ... + </B>A1: See the previous answer. + A2: Since 0.18pre4 we include libavcodec from the ffmpeg package. It contains + a C language DivX and OpenDivX decoder. The DivX decoder uses YV12 format + for output, thus it should work for you. Compile in libavcodec support. + + <B>Q: OpenGL (-vo gl) output doesn't work (hangup/black window/X11 errors/...) + </B>A: your opengl driver doesn't support dynamic texture changes (glTexSubImage) + it's known not to work with nVidia's binary shit. + it's known to work with Utah-GLX/DRI and Matrox G400 card. Also with + DRI and Radeon card. It won't work with DRI others than these. + it will not work with 3DFX cards because the 256x256 texture size limit. + + <B>Q: I have an nVidia TNT/TNT2 card, and I have a band with strange colours, + right under the movie! Whose fault is this? + </B>A: It's the nVidia X driver's. These bugs are ONLY with the TNT/TNT2 cards, + and we can't do anything about it, it's not our bug. + + + <A NAME=5.5>5.5. Feature requests + + <B>Q: Is there a hint on how to watch QuickTime and RealMedia movies in MPlayer? + </B>A: There's no way to do it. Therefore these formats deserve to die in flames. + Theoretically you can reverse engineer Real codecs built for Linux (they + are available as .so files), but in practice that's really difficult, even + if you know how the compiler used by Real is making assembler code. + As for QuickTime, it's possible to play some old movies and this + capability will be added to mplayer soon, but newer clips are all Sorenson + encoded, and that codec is built-in deep in the QT executable, there's + no way to use it. + +</PRE> + +</BODY> + +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/sound.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,84 @@ +<HTML> + +<BODY> + +<PRE> + + <A NAME=2.2.2>2.2.2. Audio output devices + + - OSS (ioctl) driver + - SDL driver (supports up/downsampling, esd, arts etc) + - native ALSA 0.5 driver + - native ALSA 0.9 driver (buggy, use OSS emulation!) + - ESD (through SDL) + - ARTS (through SDL) + - SUN audio driver (/dev/audio) for BSD and Solaris8 users + + + <A NAME=2.2.2.1>2.2.2.1. Soundcard experiences, recommendations + + Aureal Vortex 2: + OSS/Free: no driver + OSS : OK + ALSA : no driver + Max kHz : 48 + Driver : <A HREF="http://aureal.sourceforge.net">aureal.sourceforge.net</A> + Driver2 : from <A HREF="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">here</A> + (buffer size increased to 64k) + + GUS PnP: + OSS/Free: no driver + OSS : OK + ALSA : OK + Max kHz : 48 + + SB Live!: + OSS : OK + ALSA : (?) + Max kHz : 48 + + SB AWE 64 OSS : max 44kHz + ALSA : 48kHz sounds shit + Max kHz : 48 + + Gravis UltraSound ACE: + OSS : max 44Khz. Also has problems with the + new sound code. + ALSA : OK + Max kHz : 48 + + Gravis UltraSound MAX: + OSS : OK + ALSA : OK (?) + Max kHz : 48 + + ESS 688: + OSS : OK + ALSA : OK (?) + Max kHz : 48 + + C-Media cards (which ones?) + OSS : not OK (hissing) (?) + ALSA : OK (?) + Max kHz : ? + + PC Speaker or DAC: + OSS : OK (use the SDL driver : -ao sdl) + ALSA : no driver + Max kHz : the driver emulates 44.1 maybe more + Driver : <A HREF="ftp://ftp.infradead.org/pub/pcsp">ftp://ftp.infradead.org/pub/pcsp</A> + + - use at least 2.4 if possible, 2.2 isn't tested + - if sound clicks when playing from CD-ROM, turn on IRQ unmasking ! + for example "hdparm -u1 /dev/cdrom" (see "man hdparm" !!!) + This is recommended anyways... (for XMMS, etc...) + Read section <A HREF="dvd.html#4.1">4.1</A> . + - don't use your soundcard by other application ( for ex. XMMS ) ! + if you use ESD, start MPlayer with the esddsp utility ! + - Please tell us how MPlayer and your soundcard(s) worked together! + +</PRE> + +</BODY> + +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/video.html Tue Aug 21 21:01:54 2001 +0000 @@ -0,0 +1,677 @@ +<HTML> + +<BODY> + +<PRE> + + <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. MTRR + + It is VERY recommended to set MTRR registers up properly, because they can + give a big performance boost. First you have to find the base address. + You have 3 ways to find it: + + - from X11 startup messages, for example: + + (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 + (--) SVGA: Linear framebuffer at 0xD8000000 + + - from /proc/pci (use lspci -v command): + + 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 + Memory at d8000000 (32-bit, prefetchable) + + - from mga_vid kernel driver messages (use dmesg): + + mga_mem_base = d8000000 + + Then let's find the memory size. This is very easy, just convert video ram + size to hexadecimal, or use this table: + + + 1 MB 0x100000 + 2 MB 0x200000 + 4 MB 0x400000 + 8 MB 0x800000 + 16 MB 0x1000000 + 32 MB 0x2000000 + + + You know base address and memory size, let's setup mtrr registers! + For example, for the Matrox card above (base=0xd8000000) with 32MB + ram (size=0x2000000) just execute: + + + echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr + + + Not all CPUs support MTRRs. For example older K6-2's [around 266Mhz, + stepping 0] doesn't support MTRR, but stepping 12's do ('cat /proc/cpuinfo' + to check it). + + + <A NAME=2.2.1.2>2.2.1.2. 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.2.1>2.2.1.2.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.4">SDL section</A> for details. + + + <A NAME=2.2.1.2.2>2.2.1.2.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.2.3>2.2.1.2.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.2.4>2.2.1.2.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.3>2.2.1.3. DGA + + <A NAME=2.2.1.3.1>2.2.1.3.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.3.2>2.2.1.3.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.3.3>2.2.1.3.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.3.4>2.2.1.3.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.3.5>2.2.1.3.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.3.6>2.2.1.3.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.3.7>2.2.1.3.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.3.8>2.2.1.3.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.3.9>2.2.1.3.9. Future work + + o use of the new X11 render interface for OSD + o where is my TODO list ???? :-((( + + + <A NAME=2.2.1.3.A>2.2.1.3.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.3.B>2.2.1.3.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.4>2.2.1.4. 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.5>2.2.1.5. 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.6>2.2.1.6. 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.7>2.2.1.7. Matrox framebuffer (mga_vid) + + This section is about the Matrox G200/G400/G450 BES (Back-End Scaler) + support, the mga_vid kernel driver. It's active developed by me (A'rpi), and + it has hardware VSYNC support with triple buffering. It works on both + framebuffer console and under X. + + To use it, you first have to compile mga_vid.o : + + + cd drivers + make + + + Then create /dev/mga_vid device : + + + mknod /dev/mga_vid c 178 0 + + + and load the driver with + + + insmod mga_vid.o + + + You should verify the memory size detection using the 'dmesg' command. If + it's bad, use the mga_ram_size option (rmmod mga_vid first), specify card's + memory size in MB: + + + insmod mga_vid.o mga_ram_size=16 + + + To make it load/unload automatically when needed, insert the following line + at the end of /etc/modules.conf : + + + alias char-major-178 mga_vid + + + Then run + + + depmod -a + + + Now you have to (re)compile <B>MPlayer</B>, ./configure will detect /dev/mga_vid + and build the 'mga' driver. Using it from <B>MPlayer</B> goes by '-vo mga' if + you have matroxfb console, or '-vo xmga' under XFree86 3.x.x or 4.x.x . + + Note: '-vo xmga' works under XFree86 4.x.x, but it conflicts with the Xv + driver, so avoid using both. If you messed up Xv with mga, try running + <B>MPlayer</B> with '-vo mga' . It should fix Xv. + + + <A NAME=2.2.1.8>2.2.1.8. SiS 6326 framebuffer (sis_vid) + + SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver + + Its interface should be compatible with the mga_vid, but the driver was not + updated after the mga_vid changes, so it's outdated now. Volunteers + needed to test it and bring the code up-to-date. + + + <A NAME=2.2.1.9>2.2.1.9. 3dfx YUV support + + 3dfx has native YUV+scaler support, using /dev/3dfx (tdfx.o driver?) + The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with + Glide 2.x Linux ports. It's not tested with <B>MPlayer</B>, and so no more + supported. Volunteers needed to test it and bring the code up-to-date. + + + <A NAME=2.2.1.10>2.2.1.10. OpenGL output + + <B>MPlayer</B> support displaying movies using OpenGL. Unfortunately, not all + drivers support this ability. For example the Utah-GLX drivers + (for XFree86 3.3.6) have it, with all cards. + See <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A> for details about how to install it. + + XFree86(DRI) >= 4.0.3 supports it only with Matrox, and Radeon cards. + See <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> for download, and installation instructions. + + + <A NAME=2.2.1.11>2.2.1.11. AAlib - text mode displaying + + <B>AAlib</B> is a library for displaying graphics in text mode, using powerful + ASCII renderer. There are LOTS of programs already supporting it, like Doom, + Quake, etc. MPlayer contains a very usable driver for it. + If ./configure detects aalib installed, the aalib libvo driver will be built. + + You can use some keys in the AA Window to change rendering options: + 1 : decrease contrast + 2 : increase contrast + 3 : decrease brightness + 4 : increase brightness + 5 : switch fast rendering on/off + 6 : set dithering mode (none, error distribution, floyd steinberg) + 7 : invert image + a : toggles between aa and mplayer control) + + + + The following command line options can be used: + -aaosdcolor=V : change osd color + -aasubcolor=V : change subtitle color + where V can be: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special) + + AAlib itselves provides a large sum of options. + Here are some important: + -aadriver : set recommended aa driver (X11, curses, linux) + -aaextended : use all 256 characters + -aaeight : use eight bit ascii + -aahelp : prints out all aalib options + + + + + + NOTE: 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 :)) (anyone can enhance + fbdev to do conversion/dithering to hgafb? Would be neat :) + + Use the -framedrop option if your comp isn't fast enough to render all frames! + + Playing on terminal you'll get better speed and quality using the linux driver, not + curses (-aadriver linux). But therefore you need write access on /dev/vcsa<terminal>! + That isn't autodetected by aalib, bu vo_aa tries to find the best mode. + See http://aa-project.sourceforge.net/tune/ for further tuning issues. + + + <A NAME=2.2.1.A>2.2.1.A. TV-out support + + + <A NAME=2.2.1.A.1>2.2.1.A.1. Matrox cards + + > What I'd love to see in mplayer is the the same feature that I see in my + > windows box. When I start a movie in windows (in a window or in full screen) + > the movie is also redirected to the tv-out and I can also see it full screen + > on my tv. I love this feature and was wondering how hard it would be to add + > such a feature to mplayer. + + It's a driver limitation. BES (Back-End Scaler, it's the overlay generator + and YUV scaling engine of G200/G400/G450 cards) works only with CRTC1. + Normally, CRTC1 (textmode, every bpp gfx and BES) is routed to HEAD1, + and CRTC2 (only 16/32bpp gfx) is routed to HEAD2 (TV-out). + + Under linux, you have two choices to get TV-out working: + + 1. Using X 4.0.x + the HAL driver from matrox, so you'll get dual-head + support, and you'll be able to redirect second output to the TV. + Unfortunately it has Macrovision encryption enabled, so it will + only work on directly-connected TV, no through VCR. + Other problem is that Xv doesn't work on the second head. + (I don't know how Windows solve it, maybe it swaps the CRTCs between + the heads, or just uses YUV framebuffer of second DAC with some trick) + + 2. Using matroxfb with dual-head support enabled (2.4.x kernels). + You'll be able to get a framebuffer console (using CRTC2, so it's + slow), and TV-out (using CRTC1, with BES support). + You have to forget X while using this kind of TV-out! :( + + - Compile all the matrox-related things to modules in the kernel. + (you MUST compile them to modules, at least I couldn't get them + working built-in yet) + [reboot to new kernel & install modules, but don't load them yet!] + + cd TVout + ./compile.sh + + - Run the 'modules' script from the TV-out directory of mplayer. + It will switch your console to framebuffer. + Change to tty1 (ALT+F1)! + Now run the script 'independent', it will set up your tty's: + tty 1,2: fb console, CRTC2, head 1 (monitor) + tty 3,4,5...: framebuffer+BES, CRTC1, head 2 (TV-out) + You should run the scripts TV-* and Mon-* to set up resolutions: + change to tty1 (ALT+F1), and run Mon-* (one of them) + change to tty3 (ALT+F3) and then back to tty1 (ALT+F1) + (this change will select tty3 on /dev/fb1 - tricky) + run TV-* (one of them) + (now you'll get a console on your PAL TV - don't know about NTSC) + + Now if you start mplayer (on tty1), the picture will show up on + the tty3, so you'll see it on your TV or second monitor. + + Yes, it is a bit 'hack' now. But I'm waiting for the marvel + project to be finished, it will provide real TV-out drivers, I hope. + + My current problem is that BES is working only with CRTC1. So picture + will always shown up on head routed to CRTC1 (normaly the monitor), + so i have to swap CRTC's, but this way your console will framebuffer + (CRTC2 can't do text-mode) and a bit slow (no acceleration). :( + + + > anyway i also just get monochrome output on the tv ... + Maybe you have NTSC TV? Or just didn't run one of TV-* scripts. + + +</PRE> + +</BODY> + +</HTML>