diff options
Diffstat (limited to 'DOCS/xml/en/codecs.xml')
-rw-r--r-- | DOCS/xml/en/codecs.xml | 309 |
1 files changed, 29 insertions, 280 deletions
diff --git a/DOCS/xml/en/codecs.xml b/DOCS/xml/en/codecs.xml index 909efa2ef9..ad873d4877 100644 --- a/DOCS/xml/en/codecs.xml +++ b/DOCS/xml/en/codecs.xml @@ -15,65 +15,7 @@ of our homepage. </para> <para> -The most important ones above all: -</para> - -<itemizedlist> -<listitem><para> - <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) and - <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) video -</para></listitem> -<listitem><para> - native decoders for <emphasis role="bold">all DivX variants, - 3ivX, Microsoft MPEG-4</emphasis> v1, v2 and other MPEG-4 variants -</para></listitem> -<listitem><para> - native decoder for <emphasis role="bold">Windows Media Video 7/8</emphasis> - (<emphasis role="bold">WMV1/WMV2</emphasis>), and Win32 DLL decoder - for <emphasis role="bold">Windows Media Video 9</emphasis> - (<emphasis role="bold">WMV3</emphasis>), - both used in <filename>.wmv</filename> files -</para></listitem> -<listitem><para> - native <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> decoder -</para></listitem> -<listitem><para> - native <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> decoder -</para></listitem> -<listitem><para> - <emphasis role="bold">3ivx</emphasis> v1, v2 decoder -</para></listitem> -<listitem><para> - Cinepak and <emphasis role="bold">Intel Indeo</emphasis> codecs - (3.1,3.2,4.1,5.0) -</para></listitem> -<listitem><para> - <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 and other hardware - formats -</para></listitem> -<listitem><para> - VIVO 1.0, 2.0, I263 and other <emphasis role="bold">H.263(+)</emphasis> - variants -</para></listitem> -<listitem><para> - FLI/FLC -</para></listitem> -<listitem><para> - <emphasis role="bold">RealVideo 1.0 & 2.0</emphasis> from - <systemitem class="library">libavcodec</systemitem>, and - <emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> codecs using - RealPlayer libraries -</para></listitem> -<listitem><para> - native decoder for HuffYUV -</para></listitem> -<listitem><para> - Various old simple RLE-like formats -</para></listitem> -</itemizedlist> - -<para> -If you have a Win32 codec not listed here which is not supported yet, +If you have a Win32 codec which is not supported yet, please read the <link linkend="codec-importing">codec importing HOWTO</link> and help us add support for it. </para> @@ -116,22 +58,8 @@ Just run <filename>./configure</filename> and compile. <para> <ulink url="http://www.xvid.org">Xvid</ulink> is a free software MPEG-4 ASP -compliant video codec, which features two pass encoding and full MPEG-4 ASP -support, making it a lot more efficient than the well-known DivX codec. -It yields very good video quality and good performance due to CPU -optimizations for most modern processors. -</para> - -<para> -It began as a forked development of the OpenDivX codec. -This happened when ProjectMayo changed OpenDivX to closed source -DivX4, and the non-ProjectMayo people working on OpenDivX got angry, -then started Xvid. So both projects have the same origin. -</para> - -<para> -Note that Xvid is not necessary to decode Xvid-encoded video. -<systemitem class="library">libavcodec</systemitem> is used by +compliant video codec. Note that Xvid is not necessary to decode Xvid-encoded +video. <systemitem class="library">libavcodec</systemitem> is used by default as it offers better speed. </para> @@ -184,154 +112,27 @@ default as it offers better speed. <sect2 id="codec-x264"> <title><systemitem class="library">x264</systemitem></title> -<sect3 id="codec-x264-whatis"> -<title>What is <systemitem class="library">x264</systemitem>?</title> - <para> <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink> -is a library for creating H.264 video streams. -It is not 100% complete, but supports most of H.264's features which impact -quality. -There are also many advanced features in the H.264 specification -which have nothing to do with video quality per se; many of these -are not yet implemented in <systemitem class="library">x264</systemitem>. -</para> - -<itemizedlist> -<title>Encoder features</title> - <listitem><para>CAVLC/CABAC</para></listitem> - <listitem><para>Multi-references</para></listitem> - <listitem><para> - Intra: all macroblock types (16x16, 8x8, and 4x4 with all predictions) - </para></listitem> - <listitem><para> - Inter P: all partitions (from 16x16 down to 4x4) - </para></listitem> - <listitem><para> - Inter B: partitions from 16x16 down to 8x8 (including SKIP/DIRECT) - </para></listitem> - <listitem><para> - Ratecontrol: constant quantizer, constant bitrate, single or multipass ABR, - optional VBV - </para></listitem> - <listitem><para>Scene cut detection</para></listitem> - <listitem><para>Adaptive B-frame placement</para></listitem> - <listitem><para> - B-frames as references / arbitrary frame order - </para></listitem> - <listitem><para>8x8 and 4x4 adaptive spatial transform</para></listitem> - <listitem><para>Lossless mode</para></listitem> - <listitem><para>Custom quantization matrices</para></listitem> - <listitem><para>Parallel encoding of multiple slices</para></listitem> - <listitem><para>Interlacing</para></listitem> -</itemizedlist> -</sect3> - - -<sect3 id="codec-h264-whatis"> -<title>What is H.264?</title> - -<para> -H.264 is one name for a new digital video codec jointly developed -by the ITU and MPEG. -It can also be correctly referred to by the cumbersome names of -"ISO/IEC 14496-10" or "MPEG-4 Part 10". -More frequently, it is referred to as "MPEG-4 AVC" or just "AVC". -</para> - -<para> -Whatever you call it, H.264 may be worth trying because it can typically match -the quality of MPEG-4 ASP with 5%-30% less bitrate. -Actual results will depend on both the source material and the encoder. -The gains from using H.264 do not come for free: Decoding H.264 -streams seems to have steep CPU and memory requirements. -For instance, on a 1733 MHz Athlon, a DVD-resolution 1500kbps H.264 -video requires around 35% CPU to decode. -By comparison, decoding a DVD-resolution 1500kbps MPEG-4 ASP stream -requires around 10% CPU. -This means that decoding high-definition streams is almost out of -the question for most users. -It also means that even a decent DVD rip may sometimes stutter on -processors slower than 2.0 GHz or so. -</para> - -<para> -At least with <systemitem class="library">x264</systemitem>, -encoding requirements are not much worse than what you are used to -with MPEG-4 ASP. -For instance, on a 1733 MHz Athlon a typical DVD encode would run -at 5-15fps. -</para> - -<para> -This document is not intended to explain the details of H.264, -but if you are interested in a brief overview, you may want to read -<ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>. -</para> -</sect3> - - -<sect3 id="codec-x264-playback"> -<title>How can I play H.264 videos with - <application>MPlayer</application>?</title> - -<para> -<application>MPlayer</application> uses -<systemitem class="library">libavcodec</systemitem>'s H.264 decoder. -<systemitem class="library">libavcodec</systemitem> has had at -least minimally usable H.264 decoding since around July 2004, -however major changes and improvements have been implemented since -that time, both in terms of more functionality supported and in -terms of improved CPU usage. -Just to be certain, it is always a good idea to use a recent Subversion -checkout. -</para> - -<para> -If you want a quick and easy way to know whether there have been -recent changes to <systemitem class="library">libavcodec</systemitem>'s -H.264 decoding, you might keep an eye on -<ulink url="http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">FFmpeg Subversion repository's web interface</ulink>. -</para> -</sect3> - - -<sect3 id="codec-x264-encode"> -<title>How can I encode videos using <application>MEncoder</application> - and <systemitem class="library">x264</systemitem>?</title> - -<para> -If you have the GIT client installed, the latest x264 -sources can be gotten with this command: -<screen>git clone git://git.videolan.org/x264.git</screen> +is a library for creating H.264 video. <application>MPlayer</application> sources are updated whenever an <systemitem class="library">x264</systemitem> API change occurs, so it is always suggested to use -<application>MPlayer</application> from Subversion as well. -Perhaps this situation will change when and if an -<systemitem class="library">x264</systemitem> "release" occurs. -Meanwhile, <systemitem class="library">x264</systemitem> should -be considered a bit unstable, in the sense that its programming -interface is subject to change. +<application>MPlayer</application> from Subversion. </para> <para> -<systemitem class="library">x264</systemitem> is built and -installed in the standard way: -<screen>./configure && make && sudo make install</screen> -This installs libx264.a in /usr/local/lib and x264.h is placed in -/usr/local/include. - -With the <systemitem class="library">x264</systemitem> library -and header placed in the standard locations, building -<application>MPlayer</application> with -<systemitem class="library">x264</systemitem> support is easy. -Just run the standard: -<screen>./configure && make && sudo make install</screen> -The <filename>./configure</filename> script will autodetect that you have -satisfied the requirements for <systemitem class="library">x264</systemitem>. +If you have a GIT client installed, the latest x264 +sources can be gotten with this command: +<screen>git clone git://git.videolan.org/x264.git</screen> + +Then build and install in the standard way: +<screen>./configure && make && make install</screen> + +Now rerun <filename>./configure</filename> for +<application>MPlayer</application> to pick up +<systemitem class="library">x264</systemitem> support. </para> -</sect3> </sect2> </sect1> @@ -342,55 +143,6 @@ satisfied the requirements for <systemitem class="library">x264</systemitem>. <sect1 id="audio-codecs"> <title>Audio codecs</title> -<itemizedlist> -<title>The most important audio codecs above all:</title> -<listitem><para> - MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role="bold">native</emphasis> - code, with MMX/SSE/3DNow! optimization) -</para></listitem> -<listitem><para> - Windows Media Audio 7 and 8 (AKA WMAv1 and WMAv2) - (<emphasis role="bold">native</emphasis> code, with - <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>) -</para></listitem> -<listitem><para> - Windows Media Audio 9 (WMAv3) (using DMO DLL) -</para></listitem> -<listitem><para> - AC-3 Dolby audio (<emphasis role="bold">native</emphasis> code, with - MMX/SSE/3DNow! optimization) -</para></listitem> -<listitem><para> - AC-3 passing through sound card hardware -</para></listitem> -<listitem><para> - AAC -</para></listitem> -<listitem><para> - Ogg Vorbis audio codec (<emphasis role="bold">native</emphasis> library) -</para></listitem> -<listitem><para> - RealAudio: DNET (low bitrate AC-3), Cook, Sipro and ATRAC3 -</para></listitem> -<listitem><para> - QuickTime: Qualcomm and QDesign audio codecs -</para></listitem> -<listitem><para> - VIVO audio (g723, Vivo Siren) -</para></listitem> -<listitem><para> - Voxware audio (using DirectShow DLL) -</para></listitem> -<listitem><para> - alaw and ulaw, various GSM, ADPCM and PCM formats and other simple old - audio codecs -</para></listitem> -<listitem><para> - Adaptive Multi-Rate (AMR) speech codecs -</para></listitem> -</itemizedlist> - -<!-- ********** --> <sect2 id="swac3"> <title>Software AC-3 decoding</title> @@ -490,21 +242,23 @@ only white noise). <title>AAC codec</title> <para> -AAC (Advanced Audio Coding) is an audio codec sometimes found in MOV and MP4 -files. An open source decoder called FAAD is available from -<ulink url="http://www.audiocoding.com"/>. -<application>MPlayer</application> includes a CVS snapshot of libfaad 2.1 -beta, so you do not need to get it separately. +An open source AAC decoder called FAAD2 is available from +<ulink url="http://www.audiocoding.com/downloads.html"/>. +<application>MPlayer</application> includes a copy of it in its source tree. +If you want to use the external library instead, install it and pass +<option>--enable-faad-external</option> to <filename>./configure</filename>. </para> <para> -If you use gcc 3.2 which fails to compile our internal FAAD or want to use -the external library for some other reason, download the library from the -<ulink url="http://www.audiocoding.com/modules/mydownloads/">download page</ulink> -and pass <option>--enable-faad-external</option> -to <filename>./configure</filename>. -You do not need all of faad2 to decode AAC files, libfaad is enough. Build -it like this: +FAAD2 binaries are not available from audiocoding.com, but you can (apt-)get +Debian packages from +<ulink url="http://www.debian-multimedia.org/">Christian Marillat</ulink>, +Mandrake/Mandriva RPMs from the <ulink url="http://plf.zarb.org">P.L.F</ulink> +and Fedora RPMs from <ulink url="http://rpm.livna.org/">Livna</ulink>. +</para> +<para> +If you choose to build from source, you do not need all of FAAD2 to decode +AAC files, libfaad is enough. Build it like this: <screen> cd faad2/ sh bootstrap @@ -513,11 +267,6 @@ cd libfaad make make install </screen> -Binaries are not available from audiocoding.com, but you can (apt-)get Debian -packages from -<ulink url="http://www.debian-multimedia.org/">Christian Marillat's homepage</ulink>, -Mandrake/Mandriva RPMs from the <ulink url="http://plf.zarb.org">P.L.F</ulink> -and Fedora RPMs from <ulink url="http://rpm.livna.org/">Livna</ulink>. </para> </sect2> |