# HG changeset patch # User gpoirier # Date 1135676097 0 # Node ID 4d4878a4c6e5b8edb3a4a2a609ed4c36d40b220e # Parent 61cc20df7f3e7187b4e90680930e96863c56b6ba New section: choosing the video codec for your encode: what to consider before picking it. diff -r 61cc20df7f3e -r 4d4878a4c6e5 DOCS/xml/en/encoding-guide.xml --- a/DOCS/xml/en/encoding-guide.xml Mon Dec 26 20:46:20 2005 +0000 +++ b/DOCS/xml/en/encoding-guide.xml Tue Dec 27 09:34:57 2005 +0000 @@ -1350,6 +1350,111 @@ + +Choosing the video codec + + + Choosing the video codec to use depends on several factors, some of + which widely depend on personal taste and technical constraints. + + + + Compression efficiency: + It's quite easy to understand that newer-generation codecs are made + to yield better picture quality than previous generations. + Therefore, you cannot be wrong + + Be careful, however: decoding DVD-resolution MPEG-4 AVC videos + requires a fast machine (i.e. a Pentium 4 over 1.5Ghz or a Pentium M + over 1Ghz). + + by choosing MPEG-4 AVC codecs like + x264 instead of MPEG-4 ASP codecs + such as libavcodec MPEG-4 or + XviD. + (To get a better grasp of what the fundamental differences between + MPEG-4 ASP and MPEG-4 AVC are, you would be well advised to read the entry + "15 reasons why MPEG4 sucks" + from 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 + bugs which have not yet been noticed and which can ruin an encode. + This is simply the tradeoff for using bleeding-edge technology. + + + What's more, beginning to use a new codec requires that you spend some + time becoming familiar with its available options, so that you know what + to adjust to achieve a desired picture quality. + + + + Hardware compatibility: + It usually takes a long time for standalone video players to begin to + include support for the latest video codecs. + As a result, most only support MPEG-2 and MPEG-4 ASP + (beware: usually, not all MPEG-4 ASP features are supported). + Please refer to the technical specs of your player (if they are available), + or Google around for more information. + + + + Best quality per encoding time: + Codecs that have been around for some time (such as + libavcodec MPEG-4 and + XviD) are usually heavily + optimized with all kinds of smart algorithms 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 you are after blazing speed you should stick around the default + settings of the video codec (which doesn't mean you should not experiment + with some of the options which are mentioned in other sections + of this guide). + + + You may also consider choosing a codec which can do multi-threaded + processing. + libavcodec MPEG-4 does + allow that, resulting in small speed gains at the price of lower + picture quality. + XviD has some experimental + patches available to boost encoding speed, by about 40-60% in typical + cases, with low picture degradation. + x264 also allows multi-threaded + encoding, which currently speeds-up encoding by 15-30% while lowering + PSNR by about 0.05dB. + + + + Personal taste: + This is where it gets almost irrational: For the same reason that some + hung on to DivX 3 for years when newer codecs were already doing wonders, + some folks will prefer XviD + or libavcodec MPEG-4 over + x264. + + + 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 best to your eyes on your display + + The same encode may not look the same on someone else's monitor or + when played back by a different decoder, so future-proof your encodes by + playing them back on different setups.! + + + + Please refer to the section + selecting codecs and container formats + to get a list of supported codecs. + + + Audio