Mercurial > mplayer.hg
changeset 15351:bf95700fe8c8
bandaid build fix
author | diego |
---|---|
date | Thu, 05 May 2005 13:26:59 +0000 |
parents | e863a19b0573 |
children | d8ee4d45ec8d |
files | DOCS/xml/ru/codecs.xml |
diffstat | 1 files changed, 143 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/xml/ru/codecs.xml Thu May 05 10:23:59 2005 +0000 +++ b/DOCS/xml/ru/codecs.xml Thu May 05 13:26:59 2005 +0000 @@ -548,6 +548,149 @@ </procedure> </sect3> + +<sect3 id="codec-x264"> +<title>x264</title> + +<sect4 id="codec-x264-whatis"> +<title>What is x264?</title> +<para> + <systemitem class="library">x264</systemitem> is a library for + creating H.264 video streams. + It is not 100% complete, but currently it has at least some kind + of support for most of the H.264 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 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, + or multipass ABR</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> +</itemizedlist> + +<itemizedlist> +<title>Encoder limitations</title> + <listitem><para>No real RD</para></listitem> +</itemizedlist> + + +</sect4> + +<sect4 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 1500kbps H.264 video uses + around 50% CPU to decode. + By comparison, decoding a 1500kbps MPEG4-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 MPEG4-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> +</sect4> + +<sect4 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 functionalities supported and in + terms of improved CPU usage. + Just to be certain, it is always a good idea to use a recent CVS + 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://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg">FFmpeg CVS repository's web interface</ulink>. +</para> +</sect4> + +<sect4 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 subversion client installed, the latest x264 + sources can be gotten with this command: + <screen> + svn co svn://svn.videolan.org/x264/trunk x264 + </screen> + <application>MPlayer</application> sources are updated whenever + an <systemitem class="library">x264</systemitem> API change + occurs, so it is always suggested to use CVS + <application>MPlayer</application> 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 very unstable, in the sense that its programming + interface is subject to change. +</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 configure script will autodetect that you have satisfied the + requirements for <systemitem class="library">x264</systemitem>. +</para> +</sect4> +</sect3> </sect2> <!-- ********** -->