mirror of https://github.com/mpv-player/mpv
572 lines
24 KiB
HTML
572 lines
24 KiB
HTML
<!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> <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, Alpha and PowerPC (Linux/Alpha and Linux/PowerPC
|
|
have been tested) 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 download and installation
|
|
instructions (you need at least autoconf 2.50, automake and libtool):</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><CODE>./bootstrap.sh</CODE></LI>
|
|
<LI><CODE>./configure</CODE><BR>
|
|
You may have to add some options (examine the output of
|
|
<CODE>./configure --help</CODE>).</LI>
|
|
<LI><CODE>make && make install</CODE></LI>
|
|
<LI>If you specified <CODE>--enable-divxcompat</CODE>,
|
|
copy the <CODE>divx4.h</CODE> header file from
|
|
<CODE>xvidcore/src/</CODE> 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>
|
|
<LI>AAC</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>
|
|
|
|
|
|
<H4><A NAME="aac">2.2.2.8 AAC codec</A></H4>
|
|
|
|
<P>AAC (Advanced Audio Coding) is an audio codec sometimes found in MOV and MP4
|
|
files. An open source decoder called FAAD is available from
|
|
<A HREF="http://www.audiocoding.com/">AudioCoding.com</A>.
|
|
You can download the second generation codec FAAD2 at their
|
|
<A HREF="http://www.audiocoding.com/download.php">download page</A>.
|
|
Unfortunately FAAD2 1.1 does not compile under Linux, so you will have to use
|
|
the CVS version. Here's how:</P>
|
|
|
|
<OL>
|
|
<LI>cvs -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac login</LI>
|
|
<LI>cvs -z3 -d:pserver:anonymous@cvs.audiocoding.com:/cvsroot/faac co faad2</LI>
|
|
<LI>cd faad2/</LI>
|
|
<LI>chmod +x bootstrap</LI>
|
|
<LI>./bootstrap</LI>
|
|
<LI>make</LI>
|
|
<LI>make install</LI>
|
|
</OL>
|
|
|
|
<P>Binaries are not available from audiocoding.com, but you can (apt-)get
|
|
Debian packages from
|
|
<A HREF="http://marillat.free.fr/">Christian Marillat's homepage</A>
|
|
and Mandrake RPMs from the
|
|
<A HREF="http://plf.zarb.org/">P.L.F</A>.</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> <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> <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> <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> <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 -> 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 -> Properties
|
|
-> 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> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
|
|
|
|
</BODY>
|
|
</HTML>
|