summaryrefslogtreecommitdiffstats
path: root/DOCS/en/codecs.html
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/en/codecs.html')
-rw-r--r--DOCS/en/codecs.html539
1 files changed, 539 insertions, 0 deletions
diff --git a/DOCS/en/codecs.html b/DOCS/en/codecs.html
new file mode 100644
index 0000000000..a163bfa651
--- /dev/null
+++ b/DOCS/en/codecs.html
@@ -0,0 +1,539 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+
+<HEAD>
+ <TITLE>Codecs - MPlayer - The Movie Player for Linux</TITLE>
+ <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+</HEAD>
+
+<BODY>
+
+
+<H2><A NAME="codecs">2.2 Supported codecs</A></H2>
+
+
+<H3><A NAME="video_codecs">2.2.1 Video codecs</A></H3>
+
+<P>See the
+ <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">codec status table</A>
+ for the complete, daily generated list. Quite a few codecs are available for
+ download from our homepage. Grab them from our
+ <A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">codecs page</A>.</P>
+
+<P>The most important ones above all:</P>
+<UL>
+ <LI><B>MPEG1</B> (<B>VCD</B>) and <B>MPEG2</B> (<B>DVD</B>) video</LI>
+ <LI>native decoders for <B>DivX ;-)</B>, <B>OpenDivX</B>, <B>DivX4</B>, <B>
+ DivX5</B>, <B>M$ MPEG4</B> v1, v2 and other MPEG4 variants</LI>
+ <LI>native decoder for <B>Windows Media Video 7/8</B> (<B>WMV1/WMV2</B>), and
+ Win32 DLL decoder for <B>Windows Media Video 9</B> (<B>WMV3</B>), both
+ used in .wmv files</LI>
+ <LI>native <B>Sorenson 1 (SVQ1)</B> decoder</LI>
+ <LI>Win32/QT <B>Sorenson 3 (SVQ3)</B> decoder</LI>
+ <LI><B>3ivx</B> v1, v2 decoder</LI>
+ <LI>Cinepak and <B>Intel Indeo</B> codecs (3.1, 3.2, 4.1, 5.0)</LI>
+ <LI><B>MJPEG</B>, AVID, VCR2, ASV2 and other hardware formats</LI>
+ <LI>VIVO 1.0, 2.0, I263 and other <B>h263</B>(+) variants</LI>
+ <LI>FLI/FLC</LI>
+ <LI><B>RealVideo 1.0</B> codec from libavcodec, and <B>RealVideo 2.0</B>,
+ <B>3.0</B> and <B>4.0</B> codecs using RealPlayer libraries</LI>
+ <LI>native decoder for HuffYUV</LI>
+ <LI>various old simple RLE-like formats</LI>
+</UL>
+
+<P>If you have a Win32 codec not listed here which is not supported yet, please
+ read the <A HREF="#importing">codec importing HOWTO</A> and help us add support
+ for it.</P>
+
+
+<H4><A NAME="divx">2.2.1.1 DivX4/DivX5</A></H4>
+
+<P>This section contains information about the DivX4 and DivX5 codecs of
+ <A HREF="http://www.projectmayo.com">Project Mayo</A>. Their first available
+ alpha version was OpenDivX 4.0 alpha 47 and 48. Support for this was included
+ in MPlayer in the past, and built by default. We also used its
+ postprocessing code to optionally enhance visual quality of MPEG1/2 movies.
+ Now we use our own, for all file types.</P>
+
+<P>The new generation of this codec is called DivX4 and can even decode
+ movies made with the infamous DivX codec! In addition it is much faster than
+ the native Win32 DivX DLLs but slower than libavcodec. Hence its usage as a
+ decoder is <B>DISCOURAGED</B>. However, it is useful for encoding. One
+ disadvantage of this codec is that it is not available under an Open Source
+ license.</P>
+
+<P>DivX4Linux works in two modes:</P>
+
+<DL>
+ <DT><CODE>-vc odivx</CODE></DT>
+ <DD>Uses the codec in OpenDivX fashion. In this case it
+ produces YV12 images in its own buffer, and MPlayer does colorspace
+ conversion via libvo. (<B>Fast, recommended!</B>)</DD>
+
+ <DT><CODE>-vc divx4</CODE></DT>
+ <DD>Uses the colorspace conversion of the codec.
+ In this mode you can use YUY2/UYVY, too. (<B>SLOW</B>)</DD>
+</DL>
+
+<P>The <CODE>-vc odivx</CODE> 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
+ <CODE>-vc divx4</CODE> method. For RGB modes the speed is the same, differing
+ at best according to your current color depth.</P>
+
+<P><B>Note:</B> If your <CODE>-vo</CODE> driver supports direct rendering, then
+ <CODE>-vc divx4</CODE> may be faster or even the fastest solution.</P>
+
+<P>The Divx4/5 binary codec library can be downloaded from
+ <A HREF="http://avifile.sourceforge.net">avifile</A> or
+ <A HREF="http://www.divx.com">divx.com</A>.
+ Unpack it, run <CODE>./install.sh</CODE> as root and do not forget adding
+ <CODE>/usr/local/lib</CODE> to your <CODE>/etc/ld.so.conf</CODE> and running
+ <CODE>ldconfig</CODE>.</P>
+
+<P>Get the CVS version of the OLD OpenDivx core library like this:</P>
+
+<OL>
+ <LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</CODE></LI>
+ <LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</CODE></LI>
+ <LI>This core library is split into a decore and encore library that have to
+ be compiled separately. For the decore Library, simply type
+ <PRE>
+ cd divxcore/decore/build/linux
+ make
+ cp libdivxdecore.so /usr/local/lib
+ ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
+ cp ../../src/decore.h /usr/local/include
+ </PRE>
+ </LI>
+ <LI>Alas, for the encore library there is no Linux Makefile available, and the
+ MMX optimized code only works on Windows. You can still compile it, though,
+ by using this
+ <A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</A>.
+ <PRE>
+ cd ../../../encore/build
+ mkdir linux
+ cd linux
+ cp path/Makefile .
+ make
+ cp libdivxencore.so /usr/local/lib
+ ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
+ cp ../../src/encore.h /usr/local/include
+ </PRE>
+ </LI>
+</OL>
+
+<P>MPlayer autodetects DivX4/DivX5 if it is properly installed, just
+ compile as usual. If it does not detect it, you did not install or configure
+ it correctly.</P>
+
+
+<H4><A NAME="libavcodec">2.2.1.2 FFmpeg DivX/libavcodec</A></H4>
+
+<P><A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A> contains an
+ <B>open source</B> codec package, which is capable of decoding streams
+ encoded with
+ H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV
+ video, or WMA (Windows Media Audio) audio codecs. Not only some of
+ them can be encoded with, but it also offers higher speed than the Win32
+ codecs or the DivX.com DivX4/5 library!</P>
+
+<P>It contains a lot of nice codecs, especially important are the MPEG4
+ variants:
+ DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Also a very
+ interesting one is the WMA decoder.</P>
+
+<P>If you use an MPlayer release you have libavcodec right in the
+ package, just build as usual. If you use MPlayer from CVS you have to
+ extract libavcodec from the FFmpeg CVS tree as FFmpeg releases <B>don't</B>
+ work with MPlayer. In order to achieve this do:</P>
+
+<OL>
+ <LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login</CODE></LI>
+ <LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg</CODE></LI>
+ <LI>Move the <CODE>libavcodec</CODE> directory from the FFmpeg sources to the
+ root of the MPlayer CVS tree. It should look like this:
+ <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
+ Symlinking is <B>not</B> enough, you have to copy or move it!</LI>
+ <LI>Compile. Configure should detect problems before compilation.</LI>
+</OL>
+
+<P><B>Note:</B> MPlayer from CVS does contain a libavcodec
+ subdirectory, but it does <B>not</B> contain the source for libavcodec!
+ You must follow the steps above to obtain the source for this library.</P>
+
+<P>With FFmpeg and my Matrox G400, I can view even the highest resolution DivX
+ movies without dropped frames on my K6/2 500.</P>
+
+
+<H4><A NAME="xanim">2.2.1.3 XAnim codecs</A></H4>
+
+<H4>FOREWORD</H4>
+<P>
+ Be advised that the XAnim binary codecs are packaged with a piece of text
+ claiming to be a legally binding software license which, besides other
+ restrictions, forbids the user to use the codecs in conjunction with any
+ program other than XAnim. However, the XAnim author has yet to bring legal
+ action against anyone for codec-related issues.
+</P>
+
+<H4>INSTALLATION AND USAGE</H4>
+<P>MPlayer is capable of employing the XAnim codecs for decoding. Follow
+ the instructions to enable them:</P>
+
+<OL>
+ <LI>Download the codecs you wish to use from the
+ <A HREF="http://xanim.va.pubnix.com">XAnim site</A>. The <B>3ivx</B> codec
+ is not there, but at the <A HREF="http://www.3ivx.com">3ivx site</A>.</LI>
+ <LI><B>OR</B> download the codecs pack from our
+ <A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">codecs page</A>.
+ </LI>
+ <LI>Use the <CODE>--with-xanimlibdir</CODE> option to tell configure where
+ to find the XAnim codecs. By default, it looks for them at
+ <CODE>/usr/local/lib/xanim/mods, /usr/lib/xanim/mods and /usr/lib/xanim</CODE>.
+ Alternatively you can set the environment variable <I>XANIM_MOD_DIR</I> to
+ the directory of the XAnim codecs.</LI>
+ <LI>Rename/symlink the files, cutting out the architecture stuff, so they will
+ have filenames like these: <CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE>.</LI>
+</OL>
+
+<P>XAnim is video codec family <CODE>xanim</CODE>, so you may want to use the <CODE>-vfm xanim</CODE>
+ option to tell MPlayer to use them if possible.</P>
+
+<P>Tested codecs include: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>, <B>CVID</B>,
+ <B>3ivX</B>, <B>h263</B>.</P>
+
+
+<H4><A NAME="vivo_video">2.2.1.4 VIVO video</A></H4>
+
+<P>MPlayer can play Vivo (1.0 and 2.0) videos. The most suitable codec
+ for 1.0 files is FFmpeg's H263 decoder, you can use it with the <CODE>-vc
+ ffh263</CODE> option. For 2.0 files, use the Win32 DLL through the
+ <CODE>-vc vivo</CODE> option. If you do not supply command line options
+ MPlayer selects the best codec automatically.</P>
+
+
+<H4><A NAME="mpeg">2.2.1.5 MPEG 1/2 video</A></H4>
+
+<P>MPEG1 and MPEG2 are decoded by the multiplatform native <B>libmpeg2</B>
+ library, whose source code is included in MPlayer. We handle buggy
+ MPEG 1/2 video files by catching <CODE>Signal 11 (Segmentation fault)</CODE>,
+ and quickly reinitializing the codec, continuing exactly from where the
+ failure occurred. This recovery technique has no measurable speed penalty.</P>
+
+
+<H4><A NAME="ms_video1">2.2.1.6 MS Video1</A></H4>
+
+<P>This is a very old and very bad codec from Microsoft. In the past it was
+ decoded with the <CODE>msvidc32.dll</CODE> Win32 codec, now we have our own
+ open source implementation (by <A HREF="mailto:melanson@pcisys.net">Mike
+ Melanson</A>).</P>
+
+
+<H4><A NAME="cinepak">2.2.1.7 Cinepak CVID</A></H4>
+
+<P>MPlayer uses its own open source, multiplatform Cinepak decoder (by
+ <A HREF="mailto:timf@csse.monash.edu.au">Dr. Tim Ferguson</A>), by default.
+ It supports YUV outputs, so that hardware scaling is possible if the video
+ output driver permits it.</P>
+
+
+<H4><A NAME="realvideo">2.2.1.8 RealVideo</A></H4>
+
+MPlayer supports decoding all versions of RealVideo:
+
+<UL>
+ <LI>RealVideo 1.0 (fourcc RV10) - en/decoding supported by <B>libavcodec</B></LI>
+ <LI>RealVideo 2.0, 3.0, 4.0 (fourcc RV20, RV30, RV40) - decoding supported by <B>RealPlayer libraries</B></LI>
+</UL>
+
+<P>It is recommended to download and install RealPlayer8 or RealONE, because
+ MPlayer can use their libraries to decode files with RealVideo 2.0 -
+ 4.0 video. The MPlayer configure script should detect the
+ RealPlayer libraries in the standard locations of a full installation. If it
+ does not, tell configure where to look with the
+ <CODE>--with-reallibdir</CODE> option.</P>
+
+<P><B>Note:</B> RealPlayer libraries currently <B>only work with Linux, FreeBSD,
+ NetBSD and Cygwin on the x86 and Alpha platforms.</B></P>
+
+
+<H4><A NAME="xvid">2.2.1.9 XViD</A></H4>
+
+<P><A HREF="http://www.xvid.org/"><B>XViD</B></A> is a forked development of
+ the OpenDivX codec. It happened when ProjectMayo changed OpenDivX to closed
+ source DivX4 (now DivX5), and the non-ProjectMayo people working on OpenDivX
+ got angry, then started XViD. So both projects have the same origin.</P>
+
+<H4>ADVANTAGES</H4>
+
+<UL>
+ <LI>open source</LI>
+ <LI>its API is compatible with DivX4 so adding support for it is easy</LI>
+ <LI>2-pass encoding support</LI>
+ <LI>nice encoding quality, higher speed than DivX4 (you can optimize it for
+ your box while compiling)</LI>
+</UL>
+
+<H4>DISADVANTAGES</H4>
+
+<UL>
+ <LI>currently it does not properly <B>decode</B> all DivX/DivX4 files (no
+ problem as <A HREF="#libavcodec">libavcodec</A> can play them)</LI>
+ <LI>you have to choose between DivX4 <B>or</B> XViD support at compiletime</LI>
+ <LI>under development</LI>
+</UL>
+
+<H4>INSTALLING XVID CVS</H4>
+
+<P>XViD is currently available only from CVS. Here are the
+ download and installation instructions:</P>
+
+<OL>
+ <LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</CODE></LI>
+ <LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</CODE></LI>
+ <LI><CODE>cd xvidcore/build/generic</CODE></LI>
+ <LI>Edit the Makefile for your architecture (probably
+ <CODE>Makefile.linuxx86</CODE>) to fit your needs.</LI>
+ <LI><CODE>make -f Makefile.linuxx86</CODE></LI>
+ <LI>Copy the <CODE>divx4.h</CODE> and <CODE>xvid.h</CODE> header files from
+ <CODE>xvidcore/src/</CODE> to <CODE>/usr/local/include/</CODE>.</LI>
+ <LI>Get <CODE>encore2.h</CODE> and <CODE>decore.h</CODE> from the DivX4Linux
+ package, and copy them to <CODE>/usr/local/include/</CODE>.</LI>
+ <LI>Recompile MPlayer with <CODE>--with-xvidcore=/path/to/libxvidcore.a</CODE>.</LI>
+</OL>
+
+
+<H4><A NAME="sorenson">2.2.1.10 Sorenson</A></H4>
+
+<P><B>Sorenson</B> is a video codec family developed by Sorenson Media and
+ licensed to Apple who distribute it with their QuickTime Player. We are
+ currently able to decode all versions of Sorenson video files with the
+ following decoders:</P>
+
+<UL>
+ <LI>Sorenson 1 (fourcc <I>SVQ1</I>) - decoding supported by <B>native
+ codecs</B><BR>
+ Actually there are two (nearly equal) decoders for SVQ1: one is built in
+ MPlayer, the other is in libavcodec. You can invoke each of them with the
+ <CODE>-vc svq1</CODE> and <CODE>-vc ffsvq1</CODE> options respectively.
+ Some files may work with one of them, and not with the other, so test
+ both decoders. The decoder was written (reverse engineered) by the
+ <A HREF="http://www.xinehq.de">xine</A> authors.</LI>
+ <LI>Sorenson 3 (fourcc <I>SVQ3</I>) - decoding supported by <B>Win32
+ QuickTime libraries</B></LI>
+</UL>
+
+<H4>COMPILING MPLAYER WITH QUICKTIME LIBRARIES SUPPORT</H4>
+
+<P><B>NOTE:</B> currently only 32bit Intel platforms are supported.</P>
+
+<OL>
+ <LI>download MPlayer CVS</LI>
+ <LI>compile MPlayer with:<BR>
+ <CODE>$ ./configure --enable-qtx-codecs</CODE></LI>
+ <LI>download QuickTime DLL pack from
+ <A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</A></LI>
+ <LI>extract QuickTime DLL pack to your Win32 codecs directory (default:
+ <CODE>/usr/lib/win32</CODE>)</LI>
+</OL>
+
+
+<H3><A NAME="audio_codecs">2.2.2 Audio codecs</A></H3>
+
+<P>The most important audio codecs above all:<BR></P>
+
+<UL>
+ <LI>MPEG layer 2 (MP2), and layer 3 (MP3) audio (<B>native</B> code, with
+ MMX/SSE/3DNow! optimization)</LI>
+ <LI>MPEG layer 1 audio (<B>native</B> code, with libavcodec)</LI>
+ <LI>Windows Media Audio v1, v2 (<B>native</B> code, with libavcodec)</LI>
+ <LI>Windows Media Audio 9 (WMAv3) (using DMO DLL)</LI>
+ <LI>AC3 Dolby audio (<B>native</B> code, with MMX/SSE/3DNow!
+ optimization)</LI>
+ <LI>AC3 passing through soundcard hardware</LI>
+ <LI>Ogg Vorbis audio codec (<B>native</B> library)</LI>
+ <LI>RealAudio: DNET (low bitrate AC3), Cook, Sipro and ATRAC3</LI>
+ <LI>QuickTime: Qualcomm and QDesign audio codecs</LI>
+ <LI>VIVO audio (g723, Vivo Siren)</LI>
+ <LI>Voxware audio (using DirectShow DLL)</LI>
+ <LI>alaw and ulaw, various gsm, adpcm and pcm formats and other simple old
+ audio codecs</LI>
+</UL>
+
+
+<H4><A NAME="software_ac3">2.2.2.1 Software AC3 decoding</A></H4>
+
+<P>This is the default decoder used for files with AC3 audio.</P>
+
+<P>The AC3 decoder can create audio output mixes for 2, 4, or 6 speakers. When
+ configured for 6 speakers, this decoder provides separate output of all the
+ AC3 channels to the sound driver, allowing for full "surround sound"
+ experience without the external AC3 decoder required to use the hwac3
+ codec.</P>
+
+<P>Use the <CODE>-channels</CODE> option to select the number of output
+ channels. Use <CODE>-channels 2</CODE> for a stereo downmix. For a 4
+ channel downmix (Left Front, Right Front, Left Surround and Right Surround
+ outputs), use <CODE>-channels 4</CODE>. In this case, any center channel will
+ be mixed equally to the front channels. <CODE>-channels 6</CODE> will output
+ all the AC3 channels as they are encoded - in the order Left, Right, Left
+ Surround, Right Surround, Center and LFE.</P>
+
+<P>The default number of output channels is 2.</P>
+
+<P>To use more than 2 output channels, you will need to use OSS, and have a
+ sound card that supports the appropriate number of output channels via the
+ SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1 (used
+ by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is also
+ supposed to work).</P>
+
+
+<H4><A NAME="hardware_ac3">2.2.2.2 Hardware AC3 decoding</A></H4>
+
+<P>You need an AC3 capable sound card, with digital out (SP/DIF). The card's
+ driver must properly support the AFMT_AC3 format (C-Media does). Connect
+ your AC3 decoder to the SP/DIF output, and use the <CODE>-ac hwac3</CODE>
+ option. It is experimental but known to work with C-Media cards,
+ Soundblaster Live! using ALSA (but not OSS) drivers and DXR3/Hollywood+ MPEG
+ decoder cards.</P>
+
+
+<H4><A NAME="libmad">2.2.2.3 libmad support</A></H4>
+
+<P><A HREF="http://mad.sourceforge.net">libmad</A> is a multiplatform MPEG
+ audio decoding library. It does not handle broken files well, and it
+ sometimes has problems with seeking.</P>
+
+<P>To enable support, compile with the <CODE>--enable-mad</CODE> configure
+ option.</P>
+
+
+<H4><A NAME="vivo_audio">2.2.2.4 VIVO audio</A></H4>
+
+<P>The audio codec used in VIVO files depends on whether it is a VIVO/1.0 or
+ VIVO/2.0 file. VIVO/1.0 files have <B>g.723</B> audio, and VIVO/2.0 files
+ have <B>Vivo Siren</B> audio. Both are supported.</P>
+
+<H4><A NAME="realaudio">2.2.2.5 RealAudio</A></H4>
+
+MPlayer supports decoding nearly all versions of RealAudio:
+
+<UL>
+ <LI>RealAudio DNET - decoding supported by <B>liba52</B></LI>
+ <LI>RealAudio Cook/Sipro/ATRAC3 - decoding supported by <B>RealPlayer
+ libraries</B></LI>
+</UL>
+
+<P>On how to install RealPlayer libraries, see the
+ <A HREF="#realvideo">RealVideo</A> section.</P>
+
+
+<H4><A NAME="qdesign">2.2.2.6 QDesign codecs</A></H4>
+
+<P>QDesign audio streams (fourcc: <I>QDMC</I>, <I>QDM2</I>) are found in MOV/QT
+ files. Both versions of this codec can be decoded with QuickTime libraries.
+ For installation instructions please see the <A HREF="#sorenson">Sorenson
+ video codec</A> section.</P>
+
+
+<H4><A NAME="qclp">2.2.2.7 Qualcomm codec</A></H4>
+
+<P>Qualcomm audio stream (fourcc: <I>Qclp</I>) is found in MOV/QT files.
+ It can be decoded with QuickTime libraries. For installation instructions
+ please see the <A HREF="#sorenson">Sorenson video codec</A> section.</P>
+
+
+<H3><A NAME="importing">2.2.3 Win32 codec importing HOWTO</A></H3>
+
+
+<H4><A NAME="importing_vfw">2.2.3.1 VFW codecs</A></H4>
+
+<P>VFW (Video for Windows) is the old Video API for Windows. Its codecs have
+ the .DLL or (rarely) .DRV extension.
+ If MPlayer fails at playing your AVI with this kind of message:</P>
+
+<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
+
+<P>It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
+ HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that you know this, you
+ have to find out which DLL Windows loads in order to play this file. In our
+ case, the <CODE>system.ini</CODE> contains this information in a line that
+ reads:</P>
+
+<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
+
+<P>So you need the <CODE>huffyuv.dll</CODE> file. Note that the audio codecs are
+ specified by the MSACM prefix:</P>
+
+<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>
+
+
+<P>This is the MP3 codec. Now that you have all the necessary information
+ (fourcc, codec file, sample AVI), submit your codec support request by mail,
+ and upload these files to the FTP site:</P>
+
+<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
+
+<P><B>Note:</B> On Windows NT/2000/XP search for this info in the registry, e.g. search for
+ "VIDC.HFYU". To find out how to do this, look at the old DirectShow method below.</P>
+
+<H4><A NAME="importing_directshow">2.2.3.2 DirectShow codecs</A></H4>
+
+<P>DirectShow is the newer Video API, which is even worse than its predecessor.
+ Things are harder with DirectShow, since</P>
+
+<UL>
+ <LI><CODE>system.ini</CODE> does not contain the needed information, instead it
+ is stored in the registry and</LI>
+ <LI>we need the GUID of the codec.</LI>
+</UL>
+
+<P><B>New Method:</B> Using Microsoft GraphEdit (fast)</P>
+
+<OL>
+ <LI>Get GraphEdit from either DirectX SDK or
+ <A HREF="http://doom9.org">Doom9</A>.</LI>
+ <LI>Start <CODE>graphedit.exe</CODE>.</LI>
+ <LI>From the menu select Graph -&gt; Insert Filters.</LI>
+ <LI>Expand item <CODE>DirectShow Filters</CODE>.</LI>
+ <LI>Select the right codec name and expand item.</LI>
+ <LI>In the entry <CODE>DisplayName</CODE> look at the text in winged brackets
+ after the backslash and write it down (five dash-delimited blocks, the
+ GUID).</LI>
+ <LI>The codec binary is the file specified in the <CODE>Filename</CODE>
+ entry.</LI>
+</OL>
+
+<P><B>Note:</B> If there is no <CODE>Filename</CODE> entry and <CODE>DisplayName</CODE>
+ contains something like <CODE>device:dmo</CODE>, then it is a DMO-Codec.</P>
+
+<P><B>Old Method:</B> Take a deep breath and start searching the registry...</P>
+
+<OL>
+ <LI>Start <CODE>regedit</CODE>.</LI>
+ <LI>Press <CODE>Ctrl-f</CODE>, disable the first two checkboxes, and enable
+ the third. Type in the fourcc of the codec (e.g. TM20).</LI>
+ <LI>You should see a field which contains the path and the filename
+ (e.g. <CODE>C:\WINDOWS\SYSTEM\TM20DEC.AX</CODE>).</LI>
+ <LI>Now that you have the file, we need the GUID. Try searching again, but
+ now search for the codec's name, not the fourcc. Its name can be acquired
+ when Media Player is playing the file, by checking File -&gt; Properties
+ -&gt; Advanced.
+ If not, you are out of luck. Try guessing (e.g. search for TrueMotion).</LI>
+ <LI>If the GUID is found you should see a FriendlyName and a CLSID
+ field. Write down the 16 byte CLSID, this is the GUID we need.</LI>
+</OL>
+
+<P><B>Note:</B> If searching fails, try enabling all the checkboxes. You may have
+ false hits, but you may get lucky...</P>
+
+<P>Now that you have all the necessary information (fourcc, GUID, codec file,
+ sample AVI), submit your codec support request by mail, and upload these files
+ to the FTP site:</P>
+
+<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
+
+</BODY>
+</HTML>