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>