[MPlayer-DOCS] [PATCH] Choosing the video codec

Guillaume Poirier docmaintainerwannabe at laposte.net
Mon Dec 26 15:30:22 CET 2005

Hello folks!

Here is a new section that I plan to add to MEncoder's doc that
addresses one of the FAQ on the ML.

Please have a look, give some feedbacks and fix if I'm being unclear


<sect2 id="menc-feat-dvd-mpeg4-codec">
<title>Choosing the video codec</title>

  Choosing the video codec to use depends on several factors, some of
  which widely depends on personal tastes and technical constraints.
  <emphasis role="bold">Compression efficiency</emphasis>:
  It's quite easy to understand that newer generation of codecs are made
  to yield better picture quality than previous generations.
  Therefore, you can't be wrong choosing MPEG-4 AVC codecs like
  <systemitem class="library">x264</systemitem> instead of MPEG-4 codecs
  such as <systemitem class="library">libavcodec</systemitem> or
  <systemitem class="library">XviD</systemitem>
  (To get a better grasp of what are the fundamental differences between
  MPEG-4 ASP and MPEG-4 AVC, you should definitely read the entry
  "<ulink url="http://guru.multimedia.cx/?p=10">15 reasons why MPEG4
  of Michael Niedermayer's blog).
  Likewise, you should get better quality using MPEG-4 ASP instead
  of MPEG-2 codecs.
  However, newer codecs which are in heavy development can suffer from
  some bugs which have not been spotted at the time you used that codec,
  ruining your video encode. That's unfortunately sometimes the price to
  pay for bleeding edge technologies.
  What's more, newer codecs means in general that you'd need some training
  time to get used to their set of options so that you know what to tune
  depending on what kind of picture quality you're after.

  <emphasis role="bold">Hardware compatibility</emphasis>:
  Standalone video players are usually quite behind what is going on
  in video codec.
  That means that much only MPEG-2 and MPEG-4 ASP supported
  (beware: usually, not all MPEG-4 ASP features are supported).
  Please refer to the technical specs of your player for more informations.

  <emphasis role="bold">Best quality per fps</emphasis>:
  Codecs that have been around for some times (such as
  <systemitem class="library">libavcodec</systemitem> and
  <systemitem class="library">XviD</systemitem>) are usually heavily
  optimized using all kinds of smart algorithm and SIMD assembly code.
  That's why they tend to yield the best quality per fps.
  However, they may have some very advanced options that, if enabled,
  will make the encode really slow for marginal gains.
  If your are after blazing speed you should stick around the default
  settings of the video codec (which doesn't mean you should not play
  around with some of the options which are told about in other sections
  of this guide).
  You may also consider choosing a codec that can do multi-threaded
  <systemitem class="library">libavcodec</systemitem> does allow that,
  but at the price of picture quality for some low speed gains.
  <systemitem class="library">XviD</systemitem> has some experimental
  patches available to boost encoding speed by about 50-60% in typical
  cases with low picture degradation.
  <systemitem class="library">x264</systemitem> also allows multi-threaded
  encoding, which currently speeds-up encoding by 30-35% while lowering
  PSNR by about 0.05dB.

  <emphasis role="bold">Personal tastes</emphasis>:
  This is were it gets almost irrational: For the same reason that some
  hanged on to DivX3 for years when newer codecs were already doing wonders,
  some folks will prefer <systemitem class="library">libavcodec</systemitem>
  over <systemitem class="library">XviD</systemitem> or
  <systemitem class="library">x264</systemitem>.
  Make your own judgment, and don't always listen to what some people will
  tell you to do or think: the best codec is the one you master the best,
  and the one that looks better to your eyes!
  Please refer to the section
  <link linkend="menc-feat-selecting-codec">selecting codecs and
container formats</link>
  to get a list of supported codecs.

More information about the MPlayer-DOCS mailing list