Mercurial > mplayer.hg
diff DOCS/codecs.html @ 1612:1b011d6150c7
new, splitted, etc dox
author | gabucino |
---|---|
date | Tue, 21 Aug 2001 21:01:54 +0000 |
parents | |
children | 2eedc348e92a |
line wrap: on
line diff
--- /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>