aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS
diff options
context:
space:
mode:
authorGravatar Uoti Urpala <uau@glyph.nonexistent.invalid>2011-02-15 12:08:16 +0200
committerGravatar Uoti Urpala <uau@glyph.nonexistent.invalid>2011-02-15 12:08:16 +0200
commit685bbb5734014ac6efece02d7df757fb4a942cbb (patch)
tree4fc8e140a2bebb64c3773d41ac4b8712f12baf10 /DOCS
parent0321f6ce3c9d3bf8ea8d1c5df3ba81a5844748bf (diff)
DOCS/xml/en: remove various outdated documentation
The XML documentation was badly outdated, with various obsolete, useless and and sometimes actively harmful advice. Delete a lot of the obsolete stuff, without spending much effort to replace it for now. In the FAQ section I removed some questions completely; in other cases I only removed the answer if I thought the entry might be worth keeping but the answer would need to be updated.
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/xml/en/bugreports.xml260
-rw-r--r--DOCS/xml/en/documentation.xml106
-rw-r--r--DOCS/xml/en/encoding-guide.xml5545
-rw-r--r--DOCS/xml/en/faq.xml647
-rw-r--r--DOCS/xml/en/install.xml413
-rw-r--r--DOCS/xml/en/mencoder.xml771
-rw-r--r--DOCS/xml/en/ports.xml833
-rw-r--r--DOCS/xml/en/usage.xml119
-rw-r--r--DOCS/xml/en/video.xml2301
9 files changed, 43 insertions, 10952 deletions
diff --git a/DOCS/xml/en/bugreports.xml b/DOCS/xml/en/bugreports.xml
index 786c2516ef..dbcffcb88a 100644
--- a/DOCS/xml/en/bugreports.xml
+++ b/DOCS/xml/en/bugreports.xml
@@ -41,13 +41,7 @@ send that one with another mail.
<title>How to fix bugs</title>
<para>
-If you feel have the necessary skills you are invited to have a go at fixing the
-bug yourself. Or maybe you already did that? Please read
-<ulink url="../../tech/patches.txt">this short document</ulink> to find out how
-to get your code included in <application>MPlayer</application>. The people on
-the
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-mailing list will assist you if you have questions.
+OUTDATED CONTENT REMOVED
</para>
</sect1>
@@ -59,84 +53,7 @@ mailing list will assist you if you have questions.
<title>How to do regression testing using Subversion</title>
<para>
-A problem that can happen sometimes is 'it used to work before, now it
-doesn't anymore...'.
-Here is a step by step procedure to try to pinpoint when the problem
-occurred. This is <emphasis role="bold">not</emphasis> for casual users.
-</para>
-
-<para>
-First, you'd need to fetch MPlayer's source tree from Subversion.
-Instructions can be found in the
-<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">Subversion section of the download page</ulink>.
-</para>
-
-<para>
-You will have now in the mplayer/ directory an image of the Subversion tree, on
-the client side.
-Now update this image to the date you want:
-<screen>
-cd mplayer/
-svn update -r {"2004-08-23"}
-</screen>
-The date format is YYYY-MM-DD HH:MM:SS.
-Using this date format ensure that you will be able to extract patches
-according to the date at which they were committed, as in the
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog archive</ulink>.
-</para>
-
-<para>
-Now proceed as for a normal update:
-<screen>
-./configure
-make
-</screen>
-</para>
-
-<para>
-If any non-programmer reads this, the fastest method to get at the point
-where the problem occurred is to use a binary search &mdash; that is,
-search the date of the breakage by repeatedly dividing the search
-interval in half.
-For example, if the problem occurred in 2003, start at mid-year, then ask
-"Is the problem already here?".
-If yes, go back to the first of April; if not, go to the first of October,
-and so on.
-</para>
-
-<para>
-If you have lot of free hard disk space (a full compile currently takes
-100 MB, and around 300-350 MB if debugging symbols are enabled), copy the
-oldest known working version before updating it; this will save time if
-you need to go back.
-(It is usually necessary to run 'make distclean' before recompiling an
-earlier version, so if you do not make a backup copy of your original
-source tree, you will have to recompile everything in it when you come
-back to the present.)
-Alternatively you may use <ulink url="http://ccache.samba.org/">ccache</ulink>
-to speed up compilation.
-</para>
-
-<para>
-When you have found the day where the problem happened, continue the search
-using the mplayer-cvslog archive (sorted by date) and a more precise svn
-update including hour, minute and second:
-<screen>
-svn update -r {"2004-08-23 15:17:25"}
-</screen>
-This will allow you to easily find the exact patch that did it.
-</para>
-
-<para>
-If you find the patch that is the cause of the problem, you have almost won;
-report about it to the
-<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink> or
-subscribe to
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
-and post it there.
-There is a chance that the author will jump in to suggest a fix.
-You may also look hard at the patch until it is coerced to reveal where
-the bug is :-).
+OUTDATED CONTENT REMOVED
</para>
</sect1>
@@ -148,49 +65,7 @@ the bug is :-).
<title>How to report bugs</title>
<para>
-First of all please try the latest Subversion version of
-<application>MPlayer</application>
-as your bug might already be fixed there. Development moves extremely fast,
-most problems in official releases are reported within days or even hours,
-so please use <emphasis role="bold">only Subversion</emphasis> to report bugs.
-This includes binary packages of <application>MPlayer</application>.
-Subversion instructions can be found at the bottom of
-<ulink url="http://www.mplayerhq.hu/dload.html">this page</ulink> or in
-the README. If this did not help please refer to the rest of the documentation.
-If your problem is not known or not solvable by our instructions,
-then please report the bug.
-</para>
-
-<para>
-Please do not send bug reports privately to individual developers. This is
-community work and thus there might be several people interested in it.
-Sometimes other users already experienced your troubles and know how to
-circumvent a problem even if it is a bug in <application>MPlayer</application>
-code.
-</para>
-
-<para>
-Please describe your problem in as much detail as possible. Do a little
-detective work to narrow down the circumstances under which the problem occurs.
-Does the bug only show up in certain situations? Is it specific to certain
-files or file types? Does it occur with only one codec or is it codec
-independent? Can you reproduce it with all output drivers? The more information
-you provide the better are our chances at fixing your problem. Please do not
-forget to also include the valuable information requested below, we will be
-unable to properly diagnose your problem otherwise.
-</para>
-
-<para>
-An excellent and well written guide to asking questions in public forums is
-<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</ulink>
-by <ulink url="http://www.catb.org/~esr/">Eric S. Raymond</ulink>.
-There is another called
-<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</ulink>
-by <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</ulink>.
-If you follow these guidelines you should be able to get help. But please
-understand that we all follow the mailing lists voluntarily in our free time. We
-are very busy and cannot guarantee that you will get a solution for your problem
-or even an answer.
+OUTDATED CONTENT REMOVED
</para>
</sect1>
@@ -202,15 +77,7 @@ or even an answer.
<title>Where to report bugs</title>
<para>
-Subscribe to the MPlayer-users mailing list:
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
-and send your bug report to
-<ulink url="mailto:mplayer-users@mplayerhq.hu"/> where you can discuss it.
-</para>
-
-<para>
-If you prefer, you can use our brand-new
-<ulink url="http://bugzilla.mplayerhq.hu/">Bugzilla</ulink> instead.
+OUTDATED CONTENT REMOVED
</para>
<para>
@@ -235,12 +102,7 @@ to subscribe to actually receive your answer.
<title>What to report</title>
<para>
-You may need to include log, configuration or sample files in your bug report.
-If some of them are quite big then it is better to upload them to our
-<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP server</ulink> in a
-compressed format (gzip and bzip2 preferred) and include only the path and file
-name in your bug report. Our mailing lists have a message size limit of 80k, if
-you have something bigger you have to compress or upload it.
+OUTDATED CONTENT REMOVED
</para>
<!-- ********** -->
@@ -249,57 +111,7 @@ you have something bigger you have to compress or upload it.
<title>System Information</title>
<para>
-<itemizedlist>
-<listitem><para>
- Your Linux distribution or operating system and version e.g.:
- <itemizedlist>
- <listitem><para>Red Hat 7.1</para></listitem>
- <listitem><para>Slackware 7.0 + devel packs from 7.1 ...</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- kernel version:
- <screen>uname -a</screen>
-</para></listitem>
-<listitem><para>
- libc version:
- <screen>ls -l /lib/libc[.-]*</screen>
-</para></listitem>
-<listitem><para>
- gcc and ld versions:
- <screen>
-gcc -v
-ld -v<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- binutils version:
- <screen>as --version</screen>
-</para></listitem>
-<listitem><para>
- If you have problems with fullscreen mode:
- <itemizedlist>
- <listitem><para>Window manager type and version</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- If you have problems with XVIDIX:
- <itemizedlist>
- <listitem><para>
- X colour depth:
- <screen>xdpyinfo | grep "depth of root"</screen>
- </para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- If only the GUI is buggy:
- <itemizedlist>
- <listitem><para>GTK version</para></listitem>
- <listitem><para>GLIB version</para></listitem>
- <listitem><para>GUI situation in which the bug occurs</para></listitem>
- </itemizedlist>
-</para></listitem>
-</itemizedlist>
+OUTDATED CONTENT REMOVED
</para>
</sect2>
@@ -309,39 +121,7 @@ ld -v<!--
<title>Hardware and drivers</title>
<para>
-<itemizedlist>
-<listitem><para>
- CPU info (this works on Linux only):
- <screen>cat /proc/cpuinfo</screen>
-</para></listitem>
-<listitem><para>
- Video card manufacturer and model, e.g.:
- <itemizedlist>
- <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
- <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Video driver type &amp; version, e.g.:
- <itemizedlist>
- <listitem><para>X built-in driver</para></listitem>
- <listitem><para>nVidia 0.9.623</para></listitem>
- <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
- <listitem><para>DRI from X 4.0.3</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- Sound card type &amp; driver, e.g.:
- <itemizedlist>
- <listitem><para>Creative SBLive! Gold with OSS driver from oss.creative.com</para></listitem>
- <listitem><para>Creative SB16 with kernel OSS drivers</para></listitem>
- <listitem><para>GUS PnP with ALSA OSS emulation</para></listitem>
- </itemizedlist>
-</para></listitem>
-<listitem><para>
- If in doubt include <command>lspci -vv</command> output on Linux systems.
-</para></listitem>
-</itemizedlist>
+OUTDATED CONTENT REMOVED
</para>
</sect2>
@@ -472,30 +252,4 @@ gdb mplayer --core=core -batch --command=command_file &gt; mplayer.bug
</sect2>
</sect1>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bugreports_advusers">
-<title>I know what I am doing...</title>
-
-<para>
-If you created a proper bug report following the steps above and you are
-confident it is a bug in <application>MPlayer</application>, not a compiler
-problem or broken file, you have already read the documentation and you could
-not find a solution, your sound drivers are OK, then you might want to
-subscribe to the MPlayer-advusers list and send your bug report there to get
-a better and faster answer.
-</para>
-
-<para>
-Please be advised that if you post newbie questions or questions answered in the
-manual there, you will be ignored or flamed instead of getting an appropriate
-answer. So do not flame us and subscribe to -advusers only if you really know
-what you are doing and feel like being an advanced
-<application>MPlayer</application> user or developer. If you meet these
-criteria it should not be difficult to find out how to subscribe...
-</para>
-</sect1>
-
</appendix>
diff --git a/DOCS/xml/en/documentation.xml b/DOCS/xml/en/documentation.xml
index 8d4a5e38a4..2d6e16c4c2 100644
--- a/DOCS/xml/en/documentation.xml
+++ b/DOCS/xml/en/documentation.xml
@@ -3,7 +3,7 @@
<bookinfo id="toc">
<title><application>MPlayer</application> - The Movie Player</title>
-<subtitle><ulink url="http://www.mplayerhq.hu"></ulink></subtitle>
+<subtitle><ulink url="http://www.mplayer2.org/"></ulink></subtitle>
<date>March 24, 2003</date>
<copyright>
<year>2000</year>
@@ -17,6 +17,7 @@
<year>2008</year>
<year>2009</year>
<year>2010</year>
+ <year>2011</year>
<holder>MPlayer team</holder>
</copyright>
<legalnotice>
@@ -45,116 +46,17 @@ If you are a first-time installer: be sure to read everything from here to
the end of the Installation section, and follow the links you will find. If
you have any other questions, return to the <link linkend="toc">Table of
Contents</link> and search for the topic, read the <xref linkend="faq"/>,
-or try grepping through the files. Most questions should be answered somewhere
-here and the rest has probably already been asked on our
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">mailing lists</ulink>.
-Check the
-<ulink url="https://lists.mplayerhq.hu/mailman/listinfo">archives</ulink>, there
-is a lot of valuable information to be found there.
+or try grepping through the files.
</para>
</preface>
<chapter id="intro">
<title>Introduction</title>
-
-<para>
-<application>MPlayer</application> is a movie player for Linux (runs on
-many other Unices, and non-x86 CPUs, see <xref linkend="ports"/>).
-It plays most MPEG, VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM,
-NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroska files, supported by
-many native, XAnim, RealPlayer, and Win32 DLL codecs. You can watch
-Video CD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora,
-and MPEG-4 (DivX) movies, too. Another big
-feature of <application>MPlayer</application> is the wide range of
-supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib,
-fbdev, AAlib, libcaca, DirectFB, but you can use GGI and SDL (and this way all
-their drivers) and some low level card-specific drivers (for Matrox, 3Dfx and
-Radeon, Mach64, Permedia3) too! Most of them support software or hardware
-scaling, so you can enjoy movies in fullscreen.
-<application>MPlayer</application> supports displaying through some
-hardware MPEG decoder boards, such as the <link linkend="dvb">DVB</link> and
-<link linkend="dxr3">DXR3/Hollywood+</link>. And what about the nice big
-antialiased shaded subtitles (14 supported types)
-with European/ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic, Korean
-fonts, and the onscreen display (OSD)?
-</para>
-
+OUTDATED CONTENT REMOVED
<para>
-The player is rock solid playing damaged MPEG files (useful for some VCDs),
-and it plays bad AVI files which are unplayable with the famous
-<application>Windows Media Player</application>.
-Even AVI files without index chunk are playable, and you can
-temporarily rebuild their indexes with the <option>-idx</option> option, or
-permanently with <application>MEncoder</application>, thus enabling
-seeking! As you see, stability and quality are the most important things,
-but the speed is also amazing. There is also a powerful filter system for
-video and audio manipulation.
</para>
-<para>
-<application>MEncoder</application> (<application>MPlayer</application>'s Movie
-Encoder) is a simple movie encoder, designed to encode
-<application>MPlayer</application>-playable movies
-AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA
-to other <application>MPlayer</application>-playable formats (see below).
-It can encode with various codecs, like MPEG-4 (DivX4)
-(one or two passes), <systemitem class="library">libavcodec</systemitem>,
-PCM/MP3/VBR MP3 audio.
-</para>
-
-<itemizedlist>
-<title><application>MEncoder</application> features</title>
-<listitem><para>
- Encoding from the wide range of file formats and decoders of
- <application>MPlayer</application>
-</para></listitem>
-<listitem><para>
- Encoding to all the codecs of FFmpeg's
- <systemitem class="library">libavcodec</systemitem>
-</para></listitem>
-<listitem><para>
- Video encoding from V4L compatible TV tuners
-</para></listitem>
-<listitem><para>
- Encoding/multiplexing to interleaved AVI files with proper index
-</para></listitem>
-<listitem><para>
- Creating files from external audio stream
-</para></listitem>
-<listitem><para>
- 1, 2 or 3 pass encoding
-</para></listitem>
-<listitem><para>
- VBR MP3 audio
-</para></listitem>
-<listitem><para>
- PCM audio
-</para></listitem>
-<listitem><para>
- Stream copying
-</para></listitem>
-<listitem><para>
- Input A/V synchronizing (pts-based, can be disabled with
- <option>-mc 0</option> option)
-</para></listitem>
-<listitem><para>
- fps correction with <option>-ofps</option> option (useful when encoding
- 30000/1001 fps VOB to 24000/1001 fps AVI)
-</para></listitem>
-<listitem><para>
- Using our very powerful filter system (crop, expand, flip, postprocess,
- rotate, scale, RGB/YUV conversion)
-</para></listitem>
-<listitem><para>
- Can encode DVD/VOBsub and text subtitles
- into the output file
-</para></listitem>
-<listitem><para>
- Can rip DVD subtitles to VOBsub format
-</para></listitem>
-</itemizedlist>
-
<!-- FIXME: the license should be in bookinfo -->
<para>
<application>MPlayer</application> and <application>MEncoder</application>
diff --git a/DOCS/xml/en/encoding-guide.xml b/DOCS/xml/en/encoding-guide.xml
index 9309df9df7..d458f31b1c 100644
--- a/DOCS/xml/en/encoding-guide.xml
+++ b/DOCS/xml/en/encoding-guide.xml
@@ -3,5550 +3,7 @@
<chapter id="encoding-guide">
<title>Encoding with <application>MEncoder</application></title>
-<sect1 id="menc-feat-dvd-mpeg4">
-<title>Making a high quality MPEG-4 ("DivX")
- rip of a DVD movie</title>
-
-<para>
-One frequently asked question is "How do I make the highest quality rip
-for a given size?". Another question is "How do I make the highest
-quality DVD rip possible? I do not care about file size, I just want the best
-quality."
-</para>
-
-<para>
-The latter question is perhaps at least somewhat wrongly posed. After all, if
-you do not care about file size, why not simply copy the entire MPEG-2 video
-stream from the the DVD? Sure, your AVI will end up being 5GB, give
-or take, but if you want the best quality and do not care about size,
-this is certainly your best option.
-</para>
-
-<para>
-In fact, the reason you want to transcode a DVD into MPEG-4 is
-specifically because you <emphasis role="bold">do</emphasis> care about
-file size.
-</para>
-
-<para>
-It is difficult to offer a cookbook recipe on how to create a very high
-quality DVD rip. There are several factors to consider, and you should
-understand these details or else you are likely to end up disappointed
-with your results. Below we will investigate some of these issues, and
-then have a look at an example. We assume you are using
-<systemitem class="library">libavcodec</systemitem> to encode the video,
-although the theory applies to other codecs as well.
-</para>
-
-<para>
-If this seems to be too much for you, you should probably use one of the
-many fine frontends that are listed in the
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder section</ulink>
-of our related projects page.
-That way, you should be able to achieve high quality rips without too much
-thinking, because most of those tools are designed to take clever decisions
-for you.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
-<title>Preparing to encode: Identifying source material and framerate</title>
-
-<para>
-Before you even think about encoding a movie, you need to take
-several preliminary steps.
-</para>
-
-<para>
-The first and most important step before you encode should be
-determining what type of content you are dealing with.
-If your source material comes from DVD or broadcast/cable/satellite
-TV, it will be stored in one of two formats: NTSC for North
-America and Japan, PAL for Europe, etc.
-It is important to realize, however, that this is just the formatting for
-presentation on a television, and often does
-<emphasis role="bold">not</emphasis> correspond to the
-original format of the movie.
-Experience shows that NTSC material is a lot more difficult to encode,
-because there more elements to identify in the source.
-In order to produce a suitable encode, you need to know the original
-format.
-Failure to take this into account will result in various flaws in your
-encode, including ugly combing (interlacing) artifacts and duplicated
-or even lost frames.
-Besides being ugly, the artifacts also harm coding efficiency:
-You will get worse quality per unit bitrate.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
-<title>Identifying source framerate</title>
-
-<para>
-Here is a list of common types of source material, where you are
-likely to find them, and their properties:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Standard Film</emphasis>: Produced for
- theatrical display at 24fps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL video</emphasis>: Recorded with a PAL
- video camera at 50 fields per second.
- A field consists of just the odd- or even-numbered lines of a
- frame.
- Television was designed to refresh these in alternation as a
- cheap form of analog compression.
- The human eye supposedly compensates for this, but once you
- understand interlacing you will learn to see it on TV too and
- never enjoy TV again.
- Two fields do <emphasis role="bold">not</emphasis> make a
- complete frame, because they are captured 1/50 of a second apart
- in time, and thus they do not line up unless there is no motion.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC Video</emphasis>: Recorded with an
- NTSC video camera at 60000/1001 fields per second, or 60 fields per
- second in the pre-color era.
- Otherwise similar to PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Animation</emphasis>: Usually drawn at
- 24fps, but also comes in mixed-framerate varieties.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Computer Graphics (CG)</emphasis>: Can be
- any framerate, but some are more common than others; 24 and
- 30 frames per second are typical for NTSC, and 25fps is typical
- for PAL.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Old Film</emphasis>: Various lower
- framerates.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
-<title>Identifying source material</title>
-
-<para>
-Movies consisting of frames are referred to as progressive,
-while those consisting of independent fields are called
-either interlaced or video - though this latter term is
-ambiguous.
-</para>
-
-<para>
-To further complicate matters, some movies will be a mix of
-several of the above.
-</para>
-
-<para>
-The most important distinction to make between all of these
-formats is that some are frame-based, while others are
-field-based.
-<emphasis role="bold">Whenever</emphasis> a movie is prepared
-for display on television (including DVD), it is converted to a
-field-based format.
-The various methods by which this can be done are collectively
-referred to as "telecine", of which the infamous NTSC
-"3:2 pulldown" is one variety.
-Unless the original material was also field-based (and the same
-fieldrate), you are getting the movie in a format other than the
-original.
-</para>
-
-<itemizedlist>
-<title>There are several common types of pulldown:</title>
-<listitem><para>
- <emphasis role="bold">PAL 2:2 pulldown</emphasis>: The nicest of
- them all.
- Each frame is shown for the duration of two fields, by extracting the
- even and odd lines and showing them in alternation.
- If the original material is 24fps, this process speeds up the
- movie by 4%.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
- Every 12th frame is shown for the duration of three fields, instead of
- just two.
- This avoids the 4% speedup issue, but makes the process much
- more difficult to reverse.
- It is usually seen in musical productions where adjusting the
- speed by 4% would seriously damage the musical score.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Frames are
- shown alternately for the duration of 3 fields or 2 fields.
- This gives a fieldrate 2.5 times the original framerate.
- The result is also slowed down very slightly from 60 fields per
- second to 60000/1001 fields per second to maintain NTSC fieldrate.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Used for
- showing 30fps material on NTSC.
- Nice, just like 2:2 PAL pulldown.
-</para></listitem>
-</itemizedlist>
-
-<para>
-There are also methods for converting between NTSC and PAL video,
-but such topics are beyond the scope of this guide.
-If you encounter such a movie and want to encode it, your best
-bet is to find a copy in the original format.
-Conversion between these two formats is highly destructive and
-cannot be reversed cleanly, so your encode will greatly suffer
-if it is made from a converted source.
-</para>
-
-<para>
-When video is stored on DVD, consecutive pairs of fields are
-grouped as a frame, even though they are not intended to be shown
-at the same moment in time.
-The MPEG-2 standard used on DVD and digital TV provides a
-way both to encode the original progressive frames and to store
-the number of fields for which a frame should be shown in the
-header of that frame.
-If this method has been used, the movie will often be described
-as "soft-telecined", since the process only directs the
-DVD player to apply pulldown to the movie rather than altering
-the movie itself.
-This case is highly preferable since it can easily be reversed
-(actually ignored) by the encoder, and since it preserves maximal
-quality.
-However, many DVD and broadcast production studios do not use
-proper encoding techniques but instead produce movies with
-"hard telecine", where fields are actually duplicated in the
-encoded MPEG-2.
-</para>
-
-<para>
-The procedures for dealing with these cases will be covered
-<link linkend="menc-feat-telecine">later in this guide</link>.
-For now, we leave you with some guides to identifying which type
-of material you are dealing with:
-</para>
-
-<itemizedlist>
-<title>NTSC regions:</title>
-<listitem><para>
- If <application>MPlayer</application> prints that the framerate
- has changed to 24000/1001 when watching your movie, and never changes
- back, it is almost certainly progressive content that has been
- "soft telecined".
-</para></listitem>
-<listitem><para>
- If <application>MPlayer</application> shows the framerate
- switching back and forth between 24000/1001 and 30000/1001, and you see
- "combing" at times, then there are several possibilities.
- The 24000/1001 fps segments are almost certainly progressive
- content, "soft telecined", but the 30000/1001 fps parts could be
- either hard-telecined 24000/1001 fps content or 60000/1001 fields per second
- NTSC video.
- Use the same guidelines as the following two cases to determine which.
-</para></listitem>
-<listitem><para>
- If <application>MPlayer</application> never shows the framerate
- changing, and every single frame with motion appears combed, your
- movie is NTSC video at 60000/1001 fields per second.
-</para></listitem>
-<listitem><para>
- If <application>MPlayer</application> never shows the framerate
- changing, and two frames out of every five appear combed, your
- movie is "hard telecined" 24000/1001fps content.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>PAL regions:</title>
-<listitem><para>
- If you never see any combing, your movie is 2:2 pulldown.
-</para></listitem>
-<listitem><para>
- If you see combing alternating in and out every half second,
- then your movie is 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
-</para></listitem>
-<listitem><para>
- If you always see combing during motion, then your movie is PAL
- video at 50 fields per second.
-</para></listitem>
-</itemizedlist>
-
-<note><title>Hint:</title>
-<para>
- <application>MPlayer</application> can slow down movie playback
- with the -speed option or play it frame-by-frame.
- Try using <option>-speed</option> 0.2 to watch the movie very
- slowly or press the "<keycap>.</keycap>" key repeatedly to play one frame at
- a time and identify the pattern, if you cannot see it at full speed.
-</para>
-</note>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-2pass">
-<title>Constant quantizer vs. multipass</title>
-
-<para>
-It is possible to encode your movie at a wide range of qualities.
-With modern video encoders and a bit of pre-codec compression
-(downscaling and denoising), it is possible to achieve very good
-quality at 700 MB, for a 90-110 minute widescreen movie.
-Furthermore, all but the longest movies can be encoded with near-perfect
-quality at 1400 MB.
-</para>
-
-<para>
-There are three approaches to encoding the video: constant bitrate
-(CBR), constant quantizer, and multipass (ABR, or average bitrate).
-</para>
-
-<para>
-The complexity of the frames of a movie, and thus the number of bits
-required to compress them, can vary greatly from one scene to another.
-Modern video encoders can adjust to these needs as they go and vary
-the bitrate.
-In simple modes such as CBR, however, the encoders do not know the
-bitrate needs of future scenes and so cannot exceed the requested
-average bitrate for long stretches of time.
-More advanced modes, such as multipass encode, can take into account
-the statistics from previous passes; this fixes the problem mentioned
-above.
-</para>
-
-<note><title>Note:</title>
-<para>
-Most codecs which support ABR encode only support two pass encode
-while some others such as <systemitem class="library">x264</systemitem>,
-<systemitem class="library">Xvid</systemitem>
-and <systemitem class="library">libavcodec</systemitem> support
-multipass, which slightly improves quality at each pass,
-yet this improvement is no longer measurable nor noticeable after the
-4th or so pass.
-Therefore, in this section, two pass and multipass will be used
-interchangeably.
-</para>
-</note>
-
-<para>
-In each of these modes, the video codec (such as
-<systemitem class="library">libavcodec</systemitem>)
-breaks the video frame into 16x16 pixel macroblocks and then applies a
-quantizer to each macroblock. The lower the quantizer, the better the
-quality and higher the bitrate.
-The method the movie encoder uses to determine
-which quantizer to use for a given macroblock varies and is highly
-tunable. (This is an extreme over-simplification of the actual
-process, but the basic concept is useful to understand.)
-</para>
-
-<para>
-When you specify a constant bitrate, the video codec will encode the video,
-discarding
-detail as much as necessary and as little as possible in order to remain
-lower than the given bitrate. If you truly do not care about file size,
-you could as well use CBR and specify a bitrate of infinity. (In
-practice, this means a value high enough so that it poses no limit, like
-10000Kbit.) With no real restriction on bitrate, the result is that
-the codec will use the lowest
-possible quantizer for each macroblock (as specified by
-<option>vqmin</option> for
-<systemitem class="library">libavcodec</systemitem>, which is 2 by default).
-As soon as you specify a
-low enough bitrate that the codec
-is forced to use a higher quantizer, then you are almost certainly ruining
-the quality of your video.
-In order to avoid that, you should probably downscale your video, according
-to the method described later on in this guide.
-In general, you should avoid CBR altogether if you care about quality.
-</para>
-
-<para>
-With constant quantizer, the codec uses the same quantizer, as
-specified by the <option>vqscale</option> option (for
-<systemitem class="library">libavcodec</systemitem>), on every macroblock.
-If you want the highest quality rip possible, again ignoring bitrate,
-you can use <option>vqscale=2</option>.
-This will yield the same bitrate and PSNR (peak signal-to-noise ratio)
-as CBR with
-<option>vbitrate</option>=infinity and the default <option>vqmin</option>
-of 2.
-</para>
-
-<para>
-The problem with constant quantizing is that it uses the given quantizer
-whether the macroblock needs it or not. That is, it might be possible
-to use a higher quantizer on a macroblock without sacrificing visual
-quality. Why waste the bits on an unnecessarily low quantizer? Your
-CPU has as many cycles as there is time, but there is only so many bits
-on your hard disk.
-</para>
-
-<para>
-With a two pass encode, the first pass will rip the movie as though it
-were CBR, but it will keep a log of properties for each frame. This
-data is then used during the second pass in order to make intelligent
-decisions about which quantizers to use. During fast action or high
-detail scenes, higher quantizers will likely be used, and during
-slow moving or low detail scenes, lower quantizers will be used.
-Normally, the amount of motion is much more important than the
-amount of detail.
-</para>
-
-<para>
-If you use <option>vqscale=2</option>, then you are wasting bits. If you
-use <option>vqscale=3</option>, then you are not getting the highest
-quality rip. Suppose you rip a DVD at <option>vqscale=3</option>, and
-the result is 1800Kbit. If you do a two pass encode with
-<option>vbitrate=1800</option>, the resulting video will have
-<emphasis role="bold">higher quality</emphasis> for the
-<emphasis role="bold">same bitrate</emphasis>.
-</para>
-
-<para>
-Since you are now convinced that two pass is the way to go, the real
-question now is what bitrate to use? The answer is that there is no
-single answer. Ideally you want to choose a bitrate that yields the
-best balance between quality and file size. This is going to vary
-depending on the source video.
-</para>
-
-<para>
-If size does not matter, a good starting point for a very high quality
-rip is about 2000Kbit plus or minus 200Kbit.
-For fast action or high detail source video, or if you just have a very
-critical eye, you might decide on 2400 or 2600.
-For some DVDs, you might not notice a difference at 1400Kbit. It is a
-good idea to experiment with scenes at different bitrates to get a feel.
-</para>
-
-<para>
-If you aim at a certain size, you will have to somehow calculate the bitrate.
-But before that, you need to know how much space you should reserve for the
-audio track(s), so you should
-<link linkend="menc-feat-dvd-mpeg4-audio">rip those</link> first.
-You can compute the bitrate with the following equation:
-<systemitem>bitrate = (target_size_in_Mbytes - sound_size_in_Mbytes) *
-1024 * 1024 / length_in_secs * 8 / 1000</systemitem>
-For instance, to squeeze a two-hour movie onto a 702MB CD, with 60MB
-of audio track, the video bitrate will have to be:
-<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
-= 740kbps</systemitem>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-constraints">
-<title>Constraints for efficient encoding</title>
-
-<para>
-Due to the nature of MPEG-type compression, there are various
-constraints you should follow for maximal quality.
-MPEG splits the video up into 16x16 squares called macroblocks,
-each composed of 4 8x8 blocks of luma (intensity) information and two
-half-resolution 8x8 chroma (color) blocks (one for red-cyan axis and
-the other for the blue-yellow axis).
-Even if your movie width and height are not multiples of 16, the
-encoder will use enough 16x16 macroblocks to cover the whole picture
-area, and the extra space will go to waste.
-So in the interests of maximizing quality at a fixed file size, it is
-a bad idea to use dimensions that are not multiples of 16.
-</para>
-
-<para>
-Most DVDs also have some degree of black borders at the edges. Leaving
-these in place will hurt quality <emphasis role="bold">a lot</emphasis>
-in several ways.
-</para>
-
-<orderedlist>
-<listitem>
- <para>
- MPEG-type compression is highly dependent on frequency domain
- transformations, in particular the Discrete Cosine Transform (DCT),
- which is similar to the Fourier transform. This sort of encoding is
- efficient for representing patterns and smooth transitions, but it
- has a hard time with sharp edges. In order to encode them it must
- use many more bits, or else an artifact known as ringing will
- appear.
- </para>
-
- <para>
- The frequency transform (DCT) takes place separately on each
- macroblock (actually each block), so this problem only applies when
- the sharp edge is inside a block. If your black borders begin
- exactly at multiple-of-16 pixel boundaries, this is not a problem.
- However, the black borders on DVDs rarely come nicely aligned, so
- in practice you will always need to crop to avoid this penalty.
- </para>
-</listitem>
-</orderedlist>
-
-<para>
-In addition to frequency domain transforms, MPEG-type compression uses
-motion vectors to represent the change from one frame to the next.
-Motion vectors naturally work much less efficiently for new content
-coming in from the edges of the picture, because it is not present in
-the previous frame. As long as the picture extends all the way to the
-edge of the encoded region, motion vectors have no problem with
-content moving out the edges of the picture. However, in the presence
-of black borders, there can be trouble:
-</para>
-
-<orderedlist continuation="continues">
-<listitem>
- <para>
- For each macroblock, MPEG-type compression stores a vector
- identifying which part of the previous frame should be copied into
- this macroblock as a base for predicting the next frame. Only the
- remaining differences need to be encoded. If a macroblock spans the
- edge of the picture and contains part of the black border, then
- motion vectors from other parts of the picture will overwrite the
- black border. This means that lots of bits must be spent either
- re-blackening the border that was overwritten, or (more likely) a
- motion vector will not be used at all and all the changes in this
- macroblock will have to be coded explicitly. Either way, encoding
- efficiency is greatly reduced.
- </para>
-
- <para>
- Again, this problem only applies if black borders do not line up on
- multiple-of-16 boundaries.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Finally, suppose we have a macroblock in the interior of the
- picture, and an object is moving into this block from near the edge
- of the image. MPEG-type coding cannot say "copy the part that is
- inside the picture but not the black border." So the black border
- will get copied inside too, and lots of bits will have to be spent
- encoding the part of the picture that is supposed to be there.
- </para>
-
- <para>
- If the picture runs all the way to the edge of the encoded area,
- MPEG has special optimizations to repeatedly copy the pixels at the
- edge of the picture when a motion vector comes from outside the
- encoded area. This feature becomes useless when the movie has black
- borders. Unlike problems 1 and 2, aligning the borders at multiples
- of 16 does not help here.
- </para>
-</listitem>
-
-<listitem><para>
- Despite the borders being entirely black and never changing, there
- is at least a minimal amount of overhead involved in having more
- macroblocks.
-</para></listitem>
-</orderedlist>
-
-<para>
-For all of these reasons, it is recommended to fully crop black
-borders. Further, if there is an area of noise/distortion at the edge
-of the picture, cropping this will improve encoding efficiency as
-well. Videophile purists who want to preserve the original as close as
-possible may object to this cropping, but unless you plan to encode at
-constant quantizer, the quality you gain from cropping will
-considerably exceed the amount of information lost at the edges.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-crop">
-<title>Cropping and Scaling</title>
-
-<para>
-Recall from the previous section that the final picture size you
-encode should be a multiple of 16 (in both width and height).
-This can be achieved by cropping, scaling, or a combination of both.
-</para>
-
-<para>
-When cropping, there are a few guidelines that must be followed to
-avoid damaging your movie.
-The normal YUV format, 4:2:0, stores chroma (color) information
-subsampled, i.e. chroma is only sampled half as often in each
-direction as luma (intensity) information.
-Observe this diagram, where L indicates luma sampling points and C
-chroma.
-</para>
-
-<informaltable>
-<?dbhtml table-width="40%" ?>
-<?dbfo table-width="40%" ?>
-<tgroup cols="8" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-As you can see, rows and columns of the image naturally come in pairs.
-Thus your crop offsets and dimensions <emphasis>must</emphasis> be
-even numbers.
-If they are not, the chroma will no longer line up correctly with the
-luma.
-In theory, it is possible to crop with odd offsets, but it requires
-resampling the chroma which is potentially a lossy operation and not
-supported by the crop filter.
-</para>
-
-<para>
-Further, interlaced video is sampled as follows:
-</para>
-
-<informaltable>
-<?dbhtml table-width="80%" ?>
-<?dbfo table-width="80%" ?>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
-<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
-<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
-<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
-<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
-<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
-<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
-<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Top field</entry>
- <entry namest="col9" nameend="col16">Bottom field</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry spanname="spa9-10">C</entry>
- <entry spanname="spa11-12">C</entry>
- <entry spanname="spa13-14">C</entry>
- <entry spanname="spa15-16">C</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
-</tgroup>
-</informaltable>
-
-<para>
-As you can see, the pattern does not repeat until after 4 lines.
-So for interlaced video, your y-offset and height for cropping must
-be multiples of 4.
-</para>
-
-<para>
-Native DVD resolution is 720x480 for NTSC, and 720x576 for PAL, but
-there is an aspect flag that specifies whether it is full-screen (4:3) or
-wide-screen (16:9). Many (if not most) widescreen DVDs are not strictly
-16:9, and will be either 1.85:1 or 2.35:1 (cinescope). This means that
-there will be black bands in the video that will need to be cropped out.
-</para>
-
-<para>
-<application>MPlayer</application> provides a crop detection filter that
-will determine the crop rectangle (<option>-vf cropdetect</option>).
-Run <application>MPlayer</application> with
-<option>-vf cropdetect</option> and it will print out the crop
-settings to remove the borders.
-You should let the movie run long enough that the whole picture
-area is used, in order to get accurate crop values.
-</para>
-
-<para>
-Then, test the values you get with <application>MPlayer</application>,
-using the command line which was printed by
-<option>cropdetect</option>, and adjust the rectangle as needed.
-The <option>rectangle</option> filter can help by allowing you to
-interactively position the crop rectangle over your movie.
-Remember to follow the above divisibility guidelines so that you
-do not misalign the chroma planes.
-</para>
-
-<para>
-In certain cases, scaling may be undesirable.
-Scaling in the vertical direction is difficult with interlaced
-video, and if you wish to preserve the interlacing, you should
-usually refrain from scaling.
-If you will not be scaling but you still want to use multiple-of-16
-dimensions, you will have to overcrop.
-Do not undercrop, since black borders are very bad for encoding!
-</para>
-
-<para>
-Because MPEG-4 uses 16x16 macroblocks, you will want to make sure that each
-dimension of the video you are encoding is a multiple of 16 or else you
-will be degrading quality, especially at lower bitrates. You can do this
-by rounding the width and height of the crop rectangle down to the nearest
-multiple of 16.
-As stated earlier, when cropping, you will want to increase the Y offset by
-half the difference of the old and the new height so that the resulting
-video is taken from the center of the frame. And because of the way DVD
-video is sampled, make sure the offset is an even number. (In fact, as a
-rule, never use odd values for any parameter when you are cropping and
-scaling video.) If you are not comfortable throwing a few extra pixels
-away, you might prefer to scale the video instead. We will look
-at this in our example below.
-You can actually let the <option>cropdetect</option> filter do all of the
-above for you, as it has an optional <option>round</option> parameter that
-is equal to 16 by default.
-</para>
-
-<para>
-Also, be careful about "half black" pixels at the edges. Make sure you
-crop these out too, or else you will be wasting bits there that
-are better spent elsewhere.
-</para>
-
-<para>
-After all is said and done, you will probably end up with video whose pixels
-are not quite 1.85:1 or 2.35:1, but rather something close to that. You
-could calculate the new aspect ratio manually, but
-<application>MEncoder</application> offers an option for <systemitem
-class="library">libavcodec</systemitem> called <option>autoaspect</option>
-that will do this for you. Absolutely do not scale this video up in order to
-square the pixels unless you like to waste your hard disk space. Scaling
-should be done on playback, and the player will use the aspect stored in
-the AVI to determine the correct resolution.
-Unfortunately, not all players enforce this auto-scaling information,
-therefore you may still want to rescale.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
-<title>Choosing resolution and bitrate</title>
-
-<para>
-If you will not be encoding in constant quantizer mode, you need to
-select a bitrate.
-The concept of bitrate is quite simple.
-It is the (average) number of bits that will be consumed to store your
-movie, per second.
-Normally bitrate is measured in kilobits (1000 bits) per second.
-The size of your movie on disk is the bitrate times the length of the
-movie in time, plus a small amount of "overhead" (see the section on
-<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">the AVI container</link>
-for instance).
-Other parameters such as scaling, cropping, etc. will
-<emphasis role="bold">not</emphasis> alter the file size unless you
-change the bitrate as well!
-</para>
-
-<para>
-Bitrate does <emphasis role="bold">not</emphasis> scale proportionally
-to resolution.
-That is to say, a 320x240 file at 200 kbit/sec will not be the same
-quality as the same movie at 640x480 and 800 kbit/sec!
-There are two reasons for this:
-<orderedlist>
-<listitem><para>
- <emphasis role="bold">Perceptual</emphasis>: You notice MPEG
- artifacts more if they are scaled up bigger!
- Artifacts appear on the scale of blocks (8x8).
- Your eye will not see errors in 4800 small blocks as easily as it
- sees errors in 1200 large blocks (assuming you will be scaling both
- to fullscreen).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Theoretical</emphasis>: When you scale down
- an image but still use the same size (8x8) blocks for the frequency
- space transform, you move more data to the high frequency bands.
- Roughly speaking, each pixel contains more of the detail than it
- did before.
- So even though your scaled-down picture contains 1/4 the information
- in the spacial directions, it could still contain a large portion
- of the information in the frequency domain (assuming that the high
- frequencies were underutilized in the original 640x480 image).
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Past guides have recommended choosing a bitrate and resolution based
-on a "bits per pixel" approach, but this is usually not valid due to
-the above reasons.
-A better estimate seems to be that bitrates scale proportional to the
-square root of resolution, so that 320x240 and 400 kbit/sec would be
-comparable to 640x480 at 800 kbit/sec.
-However this has not been verified with theoretical or empirical
-rigor.
-Further, given that movies vary greatly with regard to noise, detail,
-degree of motion, etc., it is futile to make general recommendations
-for bits per length-of-diagonal (the analog of bits per pixel,
-using the square root).
-</para>
-<para>
-So far we have discussed the difficulty of choosing a bitrate and
-resolution.
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
-<title>Computing the resolution</title>
-
-<para>
-The following steps will guide you in computing the resolution of your
-encode without distorting the video too much, by taking into account several
-types of information about the source video.
-First, you should compute the encoded aspect ratio:
-<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
-
-<itemizedlist>
-<title>where:</title>
-<listitem><para>
- Wc and Hc are the width and height of the cropped video,
-</para></listitem>
-<listitem><para>
- ARa is the displayed aspect ratio, which usually is 4/3 or 16/9,
-</para></listitem>
-<listitem><para>
- PRdvd is the pixel ratio of the DVD which is equal to 1.25=(720/576) for PAL
- DVDs and 1.5=(720/480) for NTSC DVDs.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Then, you can compute the X and Y resolution, according to a certain
-Compression Quality (CQ) factor:
-<systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
-and
-<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
-</para>
-
-<para>
-Okay, but what is the CQ?
-The CQ represents the number of bits per pixel and per frame of the encode.
-Roughly speaking, the greater the CQ, the less the likelihood to see
-encoding artifacts.
-However, if you have a target size for your movie (1 or 2 CDs for instance),
-there is a limited total number of bits that you can spend; therefore it is
-necessary to find a good tradeoff between compressibility and quality.
-</para>
-
-<para>
-The CQ depends on the bitrate, the video codec efficiency and the
-movie resolution.
-In order to raise the CQ, typically you would downscale the movie given that the
-bitrate is computed in function of the target size and the length of the
-movie, which are constant.
-With MPEG-4 ASP codecs such as <systemitem class="library">Xvid</systemitem>
-and <systemitem class="library">libavcodec</systemitem>, a CQ below 0.18
-usually results in a pretty blocky picture, because there
-are not enough bits to code the information of each macroblock. (MPEG4, like
-many other codecs, groups pixels by blocks of several pixels to compress the
-image; if there are not enough bits, the edges of those blocks are
-visible.)
-It is therefore wise to take a CQ ranging from 0.20 to 0.22 for a 1 CD rip,
-and 0.26-0.28 for 2 CDs rip with standard encoding options.
-More advanced encoding options such as those listed here for
-<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
-and
-<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
-should make it possible to get the same quality with CQ ranging from
-0.18 to 0.20 for a 1 CD rip, and 0.24 to 0.26 for a 2 CD rip.
-With MPEG-4 AVC codecs such as <systemitem class="library">x264</systemitem>,
-you can use a CQ ranging from 0.14 to 0.16 with standard encoding options,
-and should be able to go as low as 0.10 to 0.12 with
-<link linkend="menc-feat-x264-example-settings"><systemitem class="library">x264</systemitem>'s advanced encoding settings</link>.
-</para>
-
-<para>
-Please take note that the CQ is just an indicative figure, as depending on
-the encoded content, a CQ of 0.18 may look just fine for a Bergman, contrary
-to a movie such as The Matrix, which contains many high-motion scenes.
-On the other hand, it is worthless to raise CQ higher than 0.30 as you would
-be wasting bits without any noticeable quality gain.
-Also note that as mentioned earlier in this guide, low resolution videos
-need a bigger CQ (compared to, for instance, DVD resolution) to look good.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-filtering">
-<title>Filtering</title>
-
-<para>
-Learning how to use <application>MEncoder</application>'s video filters
-is essential to producing good encodes.
-All video processing is performed through the filters -- cropping,
-scaling, color adjustment, noise removal, sharpening, deinterlacing,
-telecine, inverse telecine, and deblocking, just to name a few.
-Along with the vast number of supported input formats, the variety of
-filters available in <application>MEncoder</application> is one of its
-main advantages over other similar programs.
-</para>
-
-<para>
-Filters are loaded in a chain using the -vf option:
-
-<screen>-vf filter1=options,filter2=options,...</screen>
-
-Most filters take several numeric options separated by colons, but
-the syntax for options varies from filter to filter, so read the man
-page for details on the filters you wish to use.
-</para>
-
-<para>
-Filters operate on the video in the order they are loaded.
-For example, the following chain:
-
-<screen>-vf crop=688:464:12:4,scale=640:464</screen>
-
-will first crop the 688x464 region of the picture with upper-left
-corner at (12,4), and then scale the result down to 640x464.
-</para>
-
-<para>
-Certain filters need to be loaded at or near the beginning of the
-filter chain, in order to take advantage of information from the
-video decoder that will be lost or invalidated by other filters.
-The principal examples are <option>pp</option> (postprocessing, only
-when it is performing deblock or dering operations),
-<option>spp</option> (another postprocessor to remove MPEG artifacts),
-<option>pullup</option> (inverse telecine), and
-<option>softpulldown</option> (for converting soft telecine to hard telecine).
-</para>
-
-<para>
-In general, you want to do as little filtering as possible to the movie
-in order to remain close to the original DVD source. Cropping is often
-necessary (as described above), but avoid to scale the video. Although
-scaling down is sometimes preferred to using higher quantizers, we want
-to avoid both these things: remember that we decided from the start to
-trade bits for quality.
-</para>
-
-<para>
-Also, do not adjust gamma, contrast, brightness, etc. What looks good
-on your display may not look good on others. These adjustments should
-be done on playback only.
-</para>
-
-<para>
-One thing you might want to do, however, is pass the video through a
-very light denoise filter, such as <option>-vf hqdn3d=2:1:2</option>.
-Again, it is a matter of putting those bits to better use: why waste them
-encoding noise when you can just add that noise back in during playback?
-Increasing the parameters for <option>hqdn3d</option> will further
-improve compressibility, but if you increase the values too much, you
-risk degrading the image visibly. The suggested values above
-(<option>2:1:2</option>) are quite conservative; you should feel free to
-experiment with higher values and observe the results for yourself.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-interlacing">
-<title>Interlacing and Telecine</title>
-
-<para>
-Almost all movies are shot at 24 fps. Because NTSC is 30000/1001 fps, some
-processing must be done to this 24 fps video to make it run at the correct
-NTSC framerate. The process is called 3:2 pulldown, commonly referred to
-as telecine (because pulldown is often applied during the telecine
-process), and, naively described, it works by slowing the film down to
-24000/1001 fps, and repeating every fourth frame.
-</para>
-
-<para>
-No special processing, however, is done to the video for PAL DVDs, which
-run at 25 fps. (Technically, PAL can be telecined, called 2:2 pulldown,
-but this does not become an issue in practice.) The 24 fps film is simply
-played back at 25 fps. The result is that the movie runs slightly faster,
-but unless you are an alien, you probably will not notice the difference.
-Most PAL DVDs have pitch-corrected audio, so when they are played back at
-25 fps things will sound right, even though the audio track (and hence the
-whole movie) has a running time that is 4% less than NTSC DVDs.
-</para>
-
-<para>
-Because the video in a PAL DVD has not been altered, you need not worry
-much about framerate. The source is 25 fps, and your rip will be 25
-fps. However, if you are ripping an NTSC DVD movie, you may need to
-apply inverse telecine.
-</para>
-
-<para>
-For movies shot at 24 fps, the video on the NTSC DVD is either telecined
-30000/1001, or else it is progressive 24000/1001 fps and intended to be
-telecined on-the-fly by a DVD player. On the other hand, TV series are usually
-only interlaced, not telecined. This is not a hard rule: some TV series
-are interlaced (such as Buffy the Vampire Slayer) whereas some are a
-mixture of progressive and interlaced (such as Angel, or 24).
-</para>
-
-<para>
-It is highly recommended that you read the section on
-<link linkend="menc-feat-telecine">How to deal with telecine and interlacing in NTSC DVDs</link>
-to learn how to handle the different possibilities.
-</para>
-
-<para>
-However, if you are mostly just ripping movies, likely you are either
-dealing with 24 fps progressive or telecined video, in which case you can
-use the <option>pullup</option> filter <option>-vf
-pullup,softskip</option>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
-<title>Encoding interlaced video</title>
-
-<para>
-If the movie you want to encode is interlaced (NTSC video or
-PAL video), you will need to choose whether you want to
-deinterlace or not.
-While deinterlacing will make your movie usable on progressive
-scan displays such a computer monitors and projectors, it comes
-at a cost: The fieldrate of 50 or 60000/1001 fields per second
-is halved to 25 or 30000/1001 frames per second, and roughly half of
-the information in your movie will be lost during scenes with
-significant motion.
-</para>
-
-<para>
-Therefore, if you are encoding for high quality archival purposes,
-it is recommended not to deinterlace.
-You can always deinterlace the movie at playback time when
-displaying it on progressive scan devices.
-The power of currently available computers forces players to use a
-deinterlacing filter, which results in a slight degradation in
-image quality.
-But future players will be able to mimic the interlaced display of
-a TV, deinterlacing to full fieldrate and interpolating 50 or
-60000/1001 entire frames per second from the interlaced video.
-</para>
-
-<para>
-Special care must be taken when working with interlaced video:
-</para>
-
-<orderedlist>
-<listitem><para>
- Crop height and y-offset must be multiples of 4.
-</para></listitem>
-<listitem><para>
- Any vertical scaling must be performed in interlaced mode.
-</para></listitem>
-<listitem><para>
- Postprocessing and denoising filters may not work as expected
- unless you take special care to operate them a field at a time,
- and they may damage the video if used incorrectly.
-</para></listitem>
-</orderedlist>
-
-<para>
-With these things in mind, here is our first example:
-<screen>
-mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
- vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
-</screen>
-Note the <option>ilme</option> and <option>ildct</option> options.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-av-sync">
-<title>Notes on Audio/Video synchronization</title>
-
-<para>
-<application>MEncoder</application>'s audio/video synchronization
-algorithms were designed with the intention of recovering files with
-broken sync.
-However, in some cases they can cause unnecessary skipping and duplication of
-frames, and possibly slight A/V desync, when used with proper input
-(of course, A/V sync issues apply only if you process or copy the
-audio track while transcoding the video, which is strongly encouraged).
-Therefore, you may have to switch to basic A/V sync with
-the <option>-mc 0</option> option, or put this in your
-<systemitem>~/.mplayer/mencoder</systemitem> config file, as long as
-you are only working with good sources (DVD, TV capture, high quality
-MPEG-4 rips, etc) and not broken ASF/RM/MOV files.
-</para>
-
-<para>
-If you want to further guard against strange frame skips and
-duplication, you can use both <option>-mc 0</option> and
-<option>-noskip</option>.
-This will prevent <emphasis>all</emphasis> A/V sync, and copy frames
-one-to-one, so you cannot use it if you will be using any filters that
-unpredictably add or drop frames, or if your input file has variable
-framerate!
-Therefore, using <option>-noskip</option> is not in general recommended.
-</para>
-
-<para>
-The so-called "three-pass" audio encoding which
-<application>MEncoder</application> supports has been reported to cause A/V
-desync.
-This will definitely happen if it is used in conjunction with certain
-filters, therefore, it is now recommended <emphasis>not</emphasis> to
-use three-pass audio mode.
-This feature is only left for compatibility purposes and for expert
-users who understand when it is safe to use and when it is not.
-If you have never heard of three-pass mode before, forget that we
-even mentioned it!
-</para>
-
-<para>
-There have also been reports of A/V desync when encoding from stdin
-with <application>MEncoder</application>.
-Do not do this! Always use a file or CD/DVD/etc device as input.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-codec">
-<title>Choosing the video codec</title>
-
-<para>
-Which video codec is best to choose depends on several factors,
-like size, quality, streamability, usability and popularity, some of
-which widely depend on personal taste and technical constraints.
-</para>
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Compression efficiency</emphasis>:
- It is quite easy to understand that most newer-generation codecs are
- made to increase quality and compression.
- Therefore, the authors of this guide and many other people suggest that
- you cannot go wrong
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
- 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).
- </para></footnote>
- when choosing MPEG-4 AVC codecs like
- <systemitem class="library">x264</systemitem> instead of MPEG-4 ASP codecs
- such as <systemitem class="library">libavcodec</systemitem> MPEG-4 or
- <systemitem class="library">Xvid</systemitem>.
- (Advanced codec developers may be interested in reading Michael
- Niedermayer's opinion on
- "<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>".)
- Likewise, you should get better quality using MPEG-4 ASP than you
- would with MPEG-2 codecs.
- </para>
-
- <para>
- 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.
- </para>
-
- <para>
- What is more, beginning to use a new codec requires that you spend some
- time becoming familiar with its options, so that you know what
- to adjust to achieve a desired picture quality.
- </para>
-</listitem>
-
-<listitem><para>
- <emphasis role="bold">Hardware compatibility</emphasis>:
- 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-1 (like VCD, XVCD and KVCD), MPEG-2
- (like DVD, SVCD and KVCD) and MPEG-4 ASP (like DivX,
- <systemitem class="library">libavcodec</systemitem>'s LMP4 and
- <systemitem class="library">Xvid</systemitem>)
- (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.
-</para></listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Best quality per encoding time</emphasis>:
- Codecs that have been around for some time (such as
- <systemitem class="library">libavcodec</systemitem> MPEG-4 and
- <systemitem class="library">Xvid</systemitem>) are usually heavily
- optimized with all kinds of smart algorithms and SIMD assembly code.
- That is why they tend to yield the best quality per encoding time ratio.
- However, they may have some very advanced options that, if enabled,
- will make the encode really slow for marginal gains.
- </para>
-
- <para>
- If you are after blazing speed you should stick around the default
- settings of the video codec (although you should still try the other
- options which are mentioned in other sections of this guide).
- </para>
-
- <para>
- You may also consider choosing a codec which can do multi-threaded
- processing, though this is only useful for users of machines with
- several CPUs.
- <systemitem class="library">libavcodec</systemitem> MPEG-4 does
- allow that, but speed gains are limited, and there is a slight
- negative effect on picture quality.
- <systemitem class="library">Xvid</systemitem>'s multi-threaded encoding,
- activated by the <option>threads</option> option, can be used to
- boost encoding speed &mdash; by about 40-60% in typical cases &mdash;
- with little if any picture degradation.
- <systemitem class="library">x264</systemitem> also allows multi-threaded
- encoding, which currently speeds up encoding by 94% per CPU core while
- lowering PSNR between 0.005dB and 0.01dB on a typical setup.
- </para>
-</listitem>
-
-<listitem>
- <para>
- <emphasis role="bold">Personal taste</emphasis>:
- This is where it gets almost irrational: For the same reason that some
- hung on to DivX&nbsp;3 for years when newer codecs were already doing wonders,
- some folks will prefer <systemitem class="library">Xvid</systemitem>
- or <systemitem class="library">libavcodec</systemitem> MPEG-4 over
- <systemitem class="library">x264</systemitem>.
- </para>
- <para>
- You should make your own judgement; do not take advice from people who
- swear by one codec.
- Take a few sample clips from raw sources and compare different
- encoding options and codecs to find one that suits you best.
- The best codec is the one you master, and the one that looks
- best to your eyes on your display
- <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para>
- 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.
- </para></footnote>!
- </para>
-</listitem>
-</itemizedlist>
-
-<para>
-Please refer to the section
-<link linkend="menc-feat-selecting-codec">selecting codecs and container formats</link>
-to get a list of supported codecs.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-audio">
-<title>Audio</title>
-
-<para>
-Audio is a much simpler problem to solve: if you care about quality, just
-leave it as is.
-Even AC-3 5.1 streams are at most 448Kbit/s, and they are worth every bit.
-You might be tempted to transcode the audio to high quality Vorbis, but
-just because you do not have an A/V receiver for AC-3 pass-through today
-does not mean you will not have one tomorrow. Future-proof your DVD rips by
-preserving the AC-3 stream.
-You can keep the AC-3 stream either by copying it directly into the video
-stream <link linkend="menc-feat-mpeg4">during the encoding</link>.
-You can also extract the AC-3 stream in order to mux it into containers such
-as NUT or Matroska.
-<screen>
-mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable>
-</screen>
-will dump into the file <replaceable>sound.ac3</replaceable> the
-audio track number 129 from the file
-<replaceable>source_file.vob</replaceable> (NB: DVD VOB files
-usually use a different audio numbering,
-which means that the VOB audio track 129 is the 2nd audio track of the file).
-</para>
-
-<para>
-But sometimes you truly have no choice but to further compress the
-sound so that more bits can be spent on the video.
-Most people choose to compress audio with either MP3 or Vorbis audio codecs.
-While the latter is a very space-efficient codec, MP3 is better supported
-by hardware players, although this trend is changing.
-</para>
-
-<para>
-Do <emphasis>not</emphasis> use <option>-nosound</option> when encoding
-a file with audio, even if you will be encoding and muxing audio
-separately later.
-Though it may work in ideal cases, using <option>-nosound</option> is
-likely to hide some problems in your encoding command line setting.
-In other words, having a soundtrack during your encode assures you that,
-provided you do not see messages such as
-<quote>Too many audio packets in the buffer</quote>, you will be able
-to get proper sync.
-</para>
-
-<para>
-You need to have <application>MEncoder</application> process the sound.
-You can for example copy the original soundtrack during the encode with
-<option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV
-PCM with <option>-oac pcm -channels 1 -srate 4000</option>.
-Otherwise, in some cases, it will generate a video file that will not sync
-with the audio.
-Such cases are when the number of video frames in the source file does
-not match up to the total length of audio frames or whenever there
-are discontinuities/splices where there are missing or extra audio frames.
-The correct way to handle this kind of problem is to insert silence or
-cut audio at these points.
-However <application>MPlayer</application> cannot do that, so if you
-demux the AC-3 audio and encode it with a separate app (or dump it to PCM with
-<application>MPlayer</application>), the splices will be left incorrect
-and the only way to correct them is to drop/duplicate video frames at the
-splice.
-As long as <application>MEncoder</application> sees the audio when it is
-encoding the video, it can do this dropping/duping (which is usually OK
-since it takes place at full black/scene change), but if
-<application>MEncoder</application> cannot see the audio, it will just
-process all frames as-is and they will not fit the final audio stream when
-you for example merge your audio and video track into a Matroska file.
-</para>
-
-<para>
-First of all, you will have to convert the DVD sound into a WAV file that the
-audio codec can use as input.
-For example:
-<screen>
-mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> \
- -vc dummy -aid 1 -vo null
-</screen>
-will dump the second audio track from the file
-<replaceable>source_file.vob</replaceable> into the file
-<replaceable>destination_sound.wav</replaceable>.
-You may want to normalize the sound before encoding, as DVD audio tracks
-are commonly recorded at low volumes.
-You can use the tool <application>normalize</application> for instance,
-which is available in most distributions.
-If you are using Windows, a tool such as <application>BeSweet</application>
-can do the same job.
-You will compress in either Vorbis or MP3.
-For example:
-<screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
-will encode <replaceable>destination_sound.wav</replaceable> with
-the encoding quality 1, which is roughly equivalent to 80Kb/s, and
-is the minimum quality at which you should encode if you care about
-quality.
-Please note that <application>MEncoder</application> currently cannot
-mux Vorbis audio tracks
-into the output file because it only supports AVI and MPEG
-containers as an output, each of which may lead to audio/video
-playback synchronization problems with some players when the AVI file
-contain VBR audio streams such as Vorbis.
-Do not worry, this document will show you how you can do that with third
-party programs.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-muxing">
-<title>Muxing</title>
-
-<para>
-Now that you have encoded your video, you will most likely want
-to mux it with one or more audio tracks into a movie container, such
-as AVI, MPEG, Matroska or NUT.
-<application>MEncoder</application> is currently only able to natively output
-audio and video into MPEG and AVI container formats.
-for example:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> \
- -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable>
-</screen>
-This would merge the video file <replaceable>input_video.avi</replaceable>
-and the audio file <replaceable>input_audio.mp2</replaceable>
-into the AVI file <replaceable>output_movie.avi</replaceable>.
-This command works with MPEG-1 layer I, II and III (more commonly known
-as MP3) audio, WAV and a few other audio formats too.
-</para>
-
-<para>
-<application>MEncoder</application> features experimental support for
-<systemitem class="library">libavformat</systemitem>, which is a
-library from the FFmpeg project that supports muxing and demuxing
-a variety of containers.
-For example:
-<screen>
-mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> \
- <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf
-</screen>
-This will do the same thing as the previous example, except that
-the output container will be ASF.
-Please note that this support is highly experimental (but getting
-better every day), and will only work if you compiled
-<application>MPlayer</application> with the support for
-<systemitem class="library">libavformat</systemitem> enabled (which
-means that a pre-packaged binary version will not work in most cases).
-</para>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
-<title>Improving muxing and A/V sync reliability</title>
-
-<para>
-You may experience some serious A/V sync problems while trying to mux
-your video and some audio tracks, where no matter how you adjust the
-audio delay, you will never get proper sync.
-That may happen when you use some video filters that will drop or
-duplicate some frames, like the inverse telecine filters.
-It is strongly encouraged to append the <option>harddup</option> video
-filter at the end of the filter chain to avoid this kind of problem.
-</para>
-
-<para>
-Without <option>harddup</option>, if <application>MEncoder</application>
-wants to duplicate a frame, it relies on the muxer to put a mark on the
-container so that the last frame will be displayed again to maintain
-sync while writing no actual frame.
-With <option>harddup</option>, <application>MEncoder</application>
-will instead just push the last frame displayed again into the filter
-chain.
-This means that the encoder receives the <emphasis>exact</emphasis>
-same frame twice, and compresses it.
-This will result in a slightly bigger file, but will not cause problems
-when demuxing or remuxing into other container formats.
-</para>
-
-<para>
-You may also have no choice but to use <option>harddup</option> with
-container formats that are not too tightly linked with
-<application>MEncoder</application> such as the ones supported through
-<systemitem class="library">libavformat</systemitem>, which may not
-support frame duplication at the container level.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
-<title>Limitations of the AVI container</title>
-
-<para>
-Although it is the most widely-supported container format after MPEG-1,
-AVI also has some major drawbacks.
-Perhaps the most obvious is the overhead.
-For each chunk of the AVI file, 24 bytes are wasted on headers and index.
-This translates into a little over 5 MB per hour, or 1-2.5%
-overhead for a 700 MB movie. This may not seem like much, but it could
-mean the difference between being able to use 700 kbit/sec video or
-714 kbit/sec, and every bit of quality counts.
-</para>
-
-<para>
-In addition this gross inefficiency, AVI also has the following major
-limitations:
-</para>
-
-<orderedlist>
-<listitem><para>
- Only fixed-fps content can be stored. This is particularly limiting
- if the original material you want to encode is mixed content, for
- example a mix of NTSC video and film material.
- Actually there are hacks that can be used to store mixed-framerate
- content in AVI, but they increase the (already huge) overhead
- fivefold or more and so are not practical.
-</para></listitem>
-<listitem><para>
- Audio in AVI files must be either constant-bitrate (CBR) or
- constant-framesize (i.e. all frames decode to the same number of
- samples).
- Unfortunately, the most efficient codec, Vorbis, does not meet
- either of these requirements.
- Therefore, if you plan to store your movie in AVI, you will have to
- use a less efficient codec such as MP3 or AC-3.
-</para></listitem>
-</orderedlist>
-
-<para>
-Having said all that, <application>MEncoder</application> does not
-currently support variable-fps output or Vorbis encoding.
-Therefore, you may not see these as limitations if
-<application>MEncoder</application> is the
-only tool you will be using to produce your encodes.
-However, it is possible to use <application>MEncoder</application>
-only for video encoding, and then use external tools to encode
-audio and mux it into another container format.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
-<title>Muxing into the Matroska container</title>
-
-<para>
-Matroska is a free, open standard container format, aiming
-to offer a lot of advanced features, which older containers
-like AVI cannot handle.
-For example, Matroska supports variable bitrate audio content
-(VBR), variable framerates (VFR), chapters, file attachments,
-error detection code (EDC) and modern A/V Codecs like "Advanced Audio
-Coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing
-handled by AVI.
-</para>
-
-<para>
-The tools required to create Matroska files are collectively called
-<application>mkvtoolnix</application>, and are available for most
-Unix platforms as well as <application>Windows</application>.
-Because Matroska is an open standard you may find other
-tools that suit you better, but since mkvtoolnix is the most
-common, and is supported by the Matroska team itself, we will
-only cover its usage.
-</para>
-
-<para>
-Probably the easiest way to get started with Matroska is to use
-<application>MMG</application>, the graphical frontend shipped with
-<application>mkvtoolnix</application>, and follow the
-<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink>
-</para>
-
-<para>
-You may also mux audio and video files using the command line:
-<screen>
-mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable>
-</screen>
-This would merge the video file <replaceable>input_video.avi</replaceable>
-and the two audio files <replaceable>input_audio1.mp3</replaceable>
-and <replaceable>input_audio2.ac3</replaceable> into the Matroska
-file <replaceable>output.mkv</replaceable>.
-Matroska, as mentioned earlier, is able to do much more than that, like
-multiple audio tracks (including fine-tuning of audio/video
-synchronization), chapters, subtitles, splitting, etc...
-Please refer to the documentation of those applications for
-more details.
-</para>
-</sect3>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-telecine">
-<title>How to deal with telecine and interlacing within NTSC DVDs</title>
-
-<sect2 id="menc-feat-telecine-intro">
-<title>Introduction</title>
-
-<formalpara>
-<title>What is telecine?</title>
-<para>
-If you do not understand much of what is written in this document, read the
-<ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia entry on telecine</ulink>.
-It is an understandable and reasonably comprehensive
-description of what telecine is.
-</para></formalpara>
-
-<formalpara>
-<title>A note about the numbers.</title>
-<para>
-Many documents, including the article linked above, refer to the fields
-per second value of NTSC video as 59.94 and the corresponding frames
-per second values as 29.97 (for telecined and interlaced) and 23.976
-(for progressive). For simplicity, some documents even round these
-numbers to 60, 30, and 24.
-</para></formalpara>
-
-<para>
-Strictly speaking, all those numbers are approximations. Black and
-white NTSC video was exactly 60 fields per second, but 60000/1001
-was later chosen to accommodate color data while remaining compatible
-with contemporary black and white televisions. Digital NTSC video
-(such as on a DVD) is also 60000/1001 fields per second. From this,
-interlaced and telecined video are derived to be 30000/1001 frames
-per second; progressive video is 24000/1001 frames per second.
-</para>
-
-<para>
-Older versions of the <application>MEncoder</application> documentation
-and many archived mailing list posts refer to 59.94, 29.97, and 23.976.
-All <application>MEncoder</application> documentation has been updated
-to use the fractional values, and you should use them too.
-</para>
-
-<para>
-<option>-ofps 23.976</option> is incorrect.
-<option>-ofps 24000/1001</option> should be used instead.
-</para>
-
-<formalpara>
-<title>How telecine is used.</title>
-<para>
-All video intended to be displayed on an NTSC
-television set must be 60000/1001 fields per second. Made-for-TV movies
-and shows are often filmed directly at 60000/1001 fields per second, but
-the majority of cinema is filmed at 24 or 24000/1001 frames per
-second. When cinematic movie DVDs are mastered, the video is then
-converted for television using a process called telecine.
-</para></formalpara>
-
-<para>
-On a DVD, the video is never actually stored as 60000/1001 fields per
-second. For video that was originally 60000/1001, each pair of fields is
-combined to form a frame, resulting in 30000/1001 frames per
-second. Hardware DVD players then read a flag embedded in the video
-stream to determine whether the odd- or even-numbered lines should
-form the first field.
-</para>
-
-<para>
-Usually, 24000/1001 frames per second content stays as it is when
-encoded for a DVD, and the DVD player must perform telecining
-on-the-fly. Sometimes, however, the video is telecined
-<emphasis>before</emphasis> being stored on the DVD; even though it
-was originally 24000/1001 frames per second, it becomes 60000/1001 fields per
-second. When it is stored on the DVD, pairs of fields are combined to form
-30000/1001 frames per second.
-</para>
-
-<para>
-When looking at individual frames formed from 60000/1001 fields per
-second video, telecined or otherwise, interlacing is clearly visible
-wherever there is any motion, because one field (say, the
-even-numbered lines) represents a moment in time 1/(60000/1001)
-seconds later than the other. Playing interlaced video on a computer
-looks ugly both because the monitor is higher resolution and because
-the video is shown frame-after-frame instead of field-after-field.
-</para>
-
-<itemizedlist>
-<title>Notes:</title>
-<listitem><para>
- This section only applies to NTSC DVDs, and not PAL.
-</para></listitem>
-<listitem><para>
- The example <application>MEncoder</application> lines throughout the
- document are <emphasis role="bold">not</emphasis> intended for
- actual use. They are simply the bare minimum required to encode the
- pertaining video category. How to make good DVD rips or fine-tune
- <systemitem class="library">libavcodec</systemitem> for maximal
- quality is not within the scope of this section; refer to other
- sections within the <link linkend="encoding-guide">MEncoder encoding
- guide</link>.
-</para></listitem>
-<listitem><para>
- There are a couple footnotes specific to this guide, linked like this:
- <link linkend="menc-feat-telecine-footnotes">[1]</link>
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-ident">
-<title>How to tell what type of video you have</title>
-
-<sect3 id="menc-feat-telecine-ident-progressive">
-<title>Progressive</title>
-
-<para>
-Progressive video was originally filmed at 24000/1001 fps, and stored
-on the DVD without alteration.
-</para>
-
-<para>
-When you play a progressive DVD in <application>MPlayer</application>,
-<application>MPlayer</application> will print the following line as
-soon as the movie begins to play:
-<screen>
-demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
-</screen>
-From this point forward, demux_mpg should never say it finds
-"30000/1001 fps NTSC content."
-</para>
-
-<para>
-When you watch progressive video, you should never see any
-interlacing. Beware, however, because sometimes there is a tiny bit
-of telecine mixed in where you would not expect. I have encountered TV
-show DVDs that have one second of telecine at every scene change, or
-at seemingly random places. I once watched a DVD that had a
-progressive first half, and the second half was telecined. If you
-want to be <emphasis>really</emphasis> thorough, you can scan the
-entire movie:
-<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
-Using <option>-benchmark</option> makes
-<application>MPlayer</application> play the movie as quickly as it
-possibly can; still, depending on your hardware, it can take a
-while. Every time demux_mpg reports a framerate change, the line
-immediately above will show you the time at which the change
-occurred.
-</para>
-
-<para>
-Sometimes progressive video on DVDs is referred to as
-"soft-telecine" because it is intended to
-be telecined by the DVD player.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-telecined">
-<title>Telecined</title>
-
-<para>
-Telecined video was originally filmed at 24000/1001, but was telecined
-<emphasis>before</emphasis> it was written to the DVD.
-</para>
-
-<para>
-<application>MPlayer</application> does not (ever) report any
-framerate changes when it plays telecined video.
-</para>
-
-<para>
-Watching a telecined video, you will see interlacing artifacts that
-seem to "blink": they repeatedly appear and disappear.
-You can look closely at this by
-<orderedlist>
-<listitem><screen>mplayer dvd://1</screen></listitem>
-<listitem><para>
- Seek to a part with motion.
-</para></listitem>
-<listitem><para>
- Use the <keycap>.</keycap> key to step forward one frame at a time.
-</para></listitem>
-<listitem><para>
- Look at the pattern of interlaced-looking and progressive-looking
- frames. If the pattern you see is PPPII,PPPII,PPPII,... then the
- video is telecined. If you see some other pattern, then the video
- may have been telecined using some non-standard method;
- <application>MEncoder</application> cannot losslessly convert
- non-standard telecine to progressive. If you do not see any
- pattern at all, then it is most likely interlaced.
-</para></listitem>
-</orderedlist>
-</para>
-
-<para>
-Sometimes telecined video on DVDs is referred to as
-"hard-telecine". Since hard-telecine is already 60000/1001 fields
-per second, the DVD player plays the video without any manipulation.
-</para>
-
-<para>
-Another way to tell if your source is telecined or not is to play
-the source with the <option>-vf pullup</option> and <option>-v</option>
-command line options to see how <option>pullup</option> matches frames.
-If the source is telecined, you should see on the console a 3:2 pattern
-with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem>
-alternating.
-This technique has the advantage that you do not need to watch the
-source to identify it, which could be useful if you wish to automate
-the encoding procedure, or to carry out said procedure remotely via
-a slow connection.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-interlaced">
-<title>Interlaced</title>
-
-<para>
-Interlaced video was originally filmed at 60000/1001 fields per second,
-and stored on the DVD as 30000/1001 frames per second. The interlacing effect
-(often called "combing") is a result of combining pairs of
-fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart,
-and when they are displayed simultaneously the difference is apparent.
-</para>
-
-<para>
-As with telecined video, <application>MPlayer</application> should
-not ever report any framerate changes when playing interlaced content.
-</para>
-
-<para>
-When you view an interlaced video closely by frame-stepping with the
-<keycap>.</keycap> key, you will see that every single frame is interlaced.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpt">
-<title>Mixed progressive and telecine</title>
-
-<para>
-All of a "mixed progressive and telecine" video was originally
-24000/1001 frames per second, but some parts of it ended up being telecined.
-</para>
-
-<para>
-When <application>MPlayer</application> plays this category, it will
-(often repeatedly) switch back and forth between "30000/1001 fps NTSC"
-and "24000/1001 fps progressive NTSC". Watch the bottom of
-<application>MPlayer</application>'s output to see these messages.
-</para>
-
-<para>
-You should check the "30000/1001 fps NTSC" sections to make sure
-they are actually telecine, and not just interlaced.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-ident-mixedpi">
-<title>Mixed progressive and interlaced</title>
-
-<para>
-In "mixed progressive and interlaced" content, progressive
-and interlaced video have been spliced together.
-</para>
-
-<para>
-This category looks just like "mixed progressive and telecine",
-until you examine the 30000/1001 fps sections and see that they do not have the
-telecine pattern.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-encode">
-<title>How to encode each category</title>
-<para>
-As I mentioned in the beginning, example <application>MEncoder</application>
-lines below are <emphasis role="bold">not</emphasis> meant to actually be used;
-they only demonstrate the minimum parameters to properly encode each category.
-</para>
-
-
-<sect3 id="menc-feat-telecine-encode-progressive">
-<title>Progressive</title>
-<para>
-Progressive video requires no special filtering to encode. The only
-parameter you need to be sure to use is <option>-ofps 24000/1001</option>.
-Otherwise, <application>MEncoder</application>
-will try to encode at 30000/1001 fps and will duplicate frames.
-</para>
-
-<para>
-<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
-</para>
-
-<para>
-It is often the case, however, that a video that looks progressive
-actually has very short parts of telecine mixed in. Unless you are
-sure, it is safest to treat the video as
-<link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>.
-The performance loss is small
-<link linkend="menc-feat-telecine-footnotes">[3]</link>.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-telecined">
-<title>Telecined</title>
-
-<para>
-Telecine can be reversed to retrieve the original 24000/1001 content,
-using a process called inverse-telecine.
-<application>MPlayer</application> contains several filters to
-accomplish this; the best filter, <option>pullup</option>, is described
-in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed
-progressive and telecine</link> section.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-interlaced">
-<title>Interlaced</title>
-
-<para>
-For most practical cases it is not possible to retrieve a complete
-progressive video from interlaced content. The only way to do so
-without losing half of the vertical resolution is to double the
-framerate and try to "guess" what ought to make up the
-corresponding lines for each field (this has drawbacks - see method 3).
-</para>
-
-<orderedlist>
-<listitem><para>
- Encode the video in interlaced form. Normally, interlacing wreaks
- havoc with the encoder's ability to compress well, but
- <systemitem class="library">libavcodec</systemitem> has two
- parameters specifically for dealing with storing interlaced video a
- bit better: <option>ildct</option> and <option>ilme</option>. Also,
- using <option>mbd=2</option> is strongly recommended
- <link linkend="menc-feat-telecine-footnotes">[2] </link> because it
- will encode macroblocks as non-interlaced in places where there is
- no motion. Note that <option>-ofps</option> is NOT needed here.
- <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
-</para></listitem>
-<listitem><para>
- Use a deinterlacing filter before encoding. There are several of
- these filters available to choose from, each with its own advantages
- and disadvantages. Consult <option>mplayer -pphelp</option> and
- <option>mplayer -vf help</option> to see what is available
- (grep for "deint"), read Michael Niedermayer's
- <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>,
- and search the
- <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
- MPlayer mailing lists</ulink> to find many discussions about the
- various filters.
- Again, the framerate is not changing, so no
- <option>-ofps</option>. Also, deinterlacing should be done after
- cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and
- before scaling.
- <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
-</para></listitem>
-<listitem><para>
- Unfortunately, this option is buggy with
- <application>MEncoder</application>; it ought to work well with
- <application>MEncoder G2</application>, but that is not here yet. You
- might experience crashes. Anyway, the purpose of <option> -vf
- tfields</option> is to create a full frame out of each field, which
- makes the framerate 60000/1001. The advantage of this approach is that no
- data is ever lost; however, since each frame comes from only one
- field, the missing lines have to be interpolated somehow. There are
- no very good methods of generating the missing data, and so the
- result will look a bit similar to when using some deinterlacing
- filters. Generating the missing lines creates other issues, as well,
- simply because the amount of data doubles. So, higher encoding
- bitrates are required to maintain quality, and more CPU power is
- used for both encoding and decoding. tfields has several different
- options for how to create the missing lines of each frame. If you
- use this method, then Reference the manual, and chose whichever
- option looks best for your material. Note that when using
- <option>tfields</option> you
- <emphasis role="bold">have to</emphasis> specify both
- <option>-fps</option> and <option>-ofps</option> to be twice the
- framerate of your original source.
- <screen>
-mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
- -fps 60000/1001 -ofps 60000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- If you plan on downscaling dramatically, you can extract and encode
- only one of the two fields. Of course, you will lose half the vertical
- resolution, but if you plan on downscaling to at most 1/2 of the
- original, the loss will not matter much. The result will be a
- progressive 30000/1001 frames per second file. The procedure is to use
- <option>-vf field</option>, then crop
- <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale
- appropriately. Remember that you will have to adjust the scale to
- compensate for the vertical resolution being halved.
- <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
-</para></listitem>
-</orderedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpt">
-<title>Mixed progressive and telecine</title>
-
-<para>
-In order to turn mixed progressive and telecine video into entirely
-progressive video, the telecined parts have to be
-inverse-telecined. There are three ways to accomplish this,
-described below. Note that you should
-<emphasis role="bold">always</emphasis> inverse-telecine before any
-rescaling; unless you really know what you are doing,
-inverse-telecine before cropping, too
-<link linkend="menc-feat-telecine-footnotes">[1]</link>.
-<option>-ofps 24000/1001</option> is needed here because the output video
-will be 24000/1001 frames per second.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vf pullup</option> is designed to inverse-telecine
- telecined material while leaving progressive data alone. In order to
- work properly, <option>pullup</option> <emphasis role="bold">must</emphasis>
- be followed by the <option>softskip</option> filter or
- else <application>MEncoder</application> will crash.
- <option>pullup</option> is, however, the cleanest and most
- accurate method available for encoding both telecine and
- "mixed progressive and telecine".
- <screen>
-mencoder dvd://1 -oac copy -vf pullup,softskip
- -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- <option>-vf filmdint</option> is similar to
- <option>-vf pullup</option>: both filters attempt to match a pair of
- fields to form a complete frame. <option>filmdint</option> will
- deinterlace individual fields that it cannot match, however, whereas
- <option>pullup</option> will simply drop them. Also, the two filters
- have separate detection code, and <option>filmdint</option> may tend to match fields a
- bit less often. Which filter works better may depend on the input
- video and personal taste; feel free to experiment with fine-tuning
- the filters' options if you encounter problems with either one (see
- the man page for details). For most well-mastered input video,
- however, both filters work quite well, so either one is a safe choice
- to start with.
- <screen>
-mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
- --></screen>
-</para></listitem>
-<listitem><para>
- An older method
- is to, rather than inverse-telecine the telecined parts, telecine
- the non-telecined parts and then inverse-telecine the whole
- video. Sound confusing? softpulldown is a filter that goes through
- a video and makes the entire file telecined. If we follow
- softpulldown with either <option>detc</option> or
- <option>ivtc</option>, the final result will be entirely
- progressive. <option>-ofps 24000/1001</option> is needed.
- <screen>
-mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
- </screen>
-</para></listitem>
-
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-telecine-encode-mixedpi">
-<title>Mixed progressive and interlaced</title>
-
-<para>
-There are two options for dealing with this category, each of
-which is a compromise. You should decide based on the
-duration/location of each type.
-</para>
-
-<itemizedlist>
-<listitem>
- <para>
- Treat it as progressive. The interlaced parts will look interlaced,
- and some of the interlaced fields will have to be dropped, resulting
- in a bit of uneven jumpiness. You can use a postprocessing filter if
- you want to, but it may slightly degrade the progressive parts.
- </para>
-
- <para>
- This option should definitely not be used if you want to eventually
- display the video on an interlaced device (with a TV card, for
- example). If you have interlaced frames in a 24000/1001 frames per
- second video, they will be telecined along with the progressive
- frames. Half of the interlaced "frames" will be displayed for three
- fields' duration (3/(60000/1001) seconds), resulting in a flicking
- "jump back in time" effect that looks quite bad. If you
- even attempt this, you <emphasis role="bold">must</emphasis> use a
- deinterlacing filter like <option>lb</option> or
- <option>l5</option>.
- </para>
-
- <para>
- It may also be a bad idea for progressive display, too. It will drop
- pairs of consecutive interlaced fields, resulting in a discontinuity
- that can be more visible than with the second method, which shows
- some progressive frames twice. 30000/1001 frames per second interlaced
- video is already a bit choppy because it really should be shown at
- 60000/1001 fields per second, so the duplicate frames do not stand out as
- much.
- </para>
-
- <para>
- Either way, it is best to consider your content and how you intend to
- display it. If your video is 90% progressive and you never intend to
- show it on a TV, you should favor a progressive approach. If it is
- only half progressive, you probably want to encode it as if it is all
- interlaced.
- </para>
-</listitem>
-
-<listitem><para>
- Treat it as interlaced. Some frames of the progressive parts will
- need to be duplicated, resulting in uneven jumpiness. Again,
- deinterlacing filters may slightly degrade the progressive parts.
-</para></listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-telecine-footnotes">
-<title>Footnotes</title>
-
-<orderedlist>
-<listitem>
- <formalpara>
- <title>About cropping:</title>
- <para>
- Video data on DVDs are stored in a format called YUV 4:2:0. In YUV
- video, luma ("brightness") and chroma ("color")
- are stored separately. Because the human eye is somewhat less
- sensitive to color than it is to brightness, in a YUV 4:2:0 picture
- there is only one chroma pixel for every four luma pixels. In a
- progressive picture, each square of four luma pixels (two on each
- side) has one common chroma pixel. You must crop progressive YUV
- 4:2:0 to even resolutions, and use even offsets. For example,
- <option>crop=716:380:2:26</option> is OK but
- <option>crop=716:380:3:26 </option> is not.
- </para>
- </formalpara>
-
- <para>
- When you are dealing with interlaced YUV 4:2:0, the situation is a
- bit more complicated. Instead of every four luma pixels in the
- <emphasis>frame</emphasis> sharing a chroma pixel, every four luma
- pixels in each <emphasis> field</emphasis> share a chroma
- pixel. When fields are interlaced to form a frame, each scanline is
- one pixel high. Now, instead of all four luma pixels being in a
- square, there are two pixels side-by-side, and the other two pixels
- are side-by-side two scanlines down. The two luma pixels in the
- intermediate scanline are from the other field, and so share a
- different chroma pixel with two luma pixels two scanlines away. All
- this confusion makes it necessary to have vertical crop dimensions
- and offsets be multiples of four. Horizontal can stay even.
- </para>
-
- <para>
- For telecined video, I recommend that cropping take place after
- inverse telecining. Once the video is progressive you only need to
- crop by even numbers. If you really want to gain the slight speedup
- that cropping first may offer, you must crop vertically by multiples
- of four or else the inverse-telecine filter will not have proper data.
- </para>
-
- <para>
- For interlaced (not telecined) video, you must always crop
- vertically by multiples of four unless you use <option>-vf
- field</option> before cropping.
- </para>
-</listitem>
-
-<listitem><formalpara>
- <title>About encoding parameters and quality:</title>
- <para>
- Just because I recommend <option>mbd=2</option> here does not mean it
- should not be used elsewhere. Along with <option>trell</option>,
- <option>mbd=2</option> is one of the two
- <systemitem class="library">libavcodec</systemitem> options that
- increases quality the most, and you should always use at least those
- two unless the drop in encoding speed is prohibitive (e.g. realtime
- encoding). There are many other options to
- <systemitem class="library">libavcodec</systemitem> that increase
- encoding quality (and decrease encoding speed) but that is beyond
- the scope of this document.
- </para>
-</formalpara></listitem>
-
-<listitem><formalpara>
- <title>About the performance of pullup:</title>
- <para>
- It is safe to use <option>pullup</option> (along with <option>softskip
- </option>) on progressive video, and is usually a good idea unless
- the source has been definitively verified to be entirely progressive.
- The performance loss is small for most cases. On a bare-minimum encode,
- <option>pullup</option> causes <application>MEncoder</application> to
- be 50% slower. Adding sound processing and advanced <option>lavcopts
- </option> overshadows that difference, bringing the performance
- decrease of using <option>pullup</option> down to 2%.
- </para>
-</formalpara></listitem>
-</orderedlist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-libavcodec">
-<title>Encoding with the <systemitem class="library">libavcodec</systemitem>
- codec family</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem>
-provides simple encoding to a lot of interesting video and audio formats.
-You can encode to the following codecs (more or less up to date):
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-video-codecs">
-<title><systemitem class="library">libavcodec</systemitem>'s
- video codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
- <row><entry>Video codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mjpeg</entry>
- <entry>Motion JPEG</entry>
-</row>
-<row>
- <entry>ljpeg</entry>
- <entry>lossless JPEG</entry>
-</row>
-<row>
- <entry>jpegls</entry>
- <entry>JPEG LS</entry>
-</row>
-<row>
- <entry>targa</entry>
- <entry>Targa image</entry>
-</row>
-<row>
- <entry>gif</entry>
- <entry>GIF image</entry>
-</row>
-<row>
- <entry>bmp</entry>
- <entry>BMP image</entry>
-</row>
-<row>
- <entry>png</entry>
- <entry>PNG image</entry>
-</row>
-<row>
- <entry>h261</entry>
- <entry>H.261</entry>
-</row>
-<row>
- <entry>h263</entry>
- <entry>H.263 </entry>
-</row>
-<row>
- <entry>h263p</entry>
- <entry>H.263+</entry>
-</row>
-<row>
- <entry>mpeg4</entry>
- <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry>
-</row>
-<row>
- <entry>msmpeg4</entry>
- <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry>
-</row>
-<row>
- <entry>msmpeg4v2</entry>
- <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry>
-</row>
-<row>
- <entry>wmv1</entry>
- <entry>Windows Media Video, version 1 (AKA WMV7)</entry>
-</row>
-<row>
- <entry>wmv2</entry>
- <entry>Windows Media Video, version 2 (AKA WMV8)</entry>
-</row>
-<row>
- <entry>rv10</entry>
- <entry>RealVideo 1.0</entry>
-</row>
-<row>
- <entry>rv20</entry>
- <entry>RealVideo 2.0</entry>
-</row>
-<row>
- <entry>mpeg1video</entry>
- <entry>MPEG-1 video</entry>
-</row>
-<row>
- <entry>mpeg2video</entry>
- <entry>MPEG-2 video</entry>
-</row>
-<row>
- <entry>huffyuv</entry>
- <entry>lossless compression</entry>
-</row>
-<row>
- <entry>ffvhuff</entry>
- <entry>FFmpeg modified huffyuv lossless</entry>
-</row>
-<row>
- <entry>asv1</entry>
- <entry>ASUS Video v1</entry>
-</row>
-<row>
- <entry>asv2</entry>
- <entry>ASUS Video v2</entry>
-</row>
-<row>
- <entry>ffv1</entry>
- <entry>FFmpeg's lossless video codec</entry>
-</row>
-<row>
- <entry>svq1</entry>
- <entry>Sorenson video 1</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Sorenson H.263 used in Flash Video</entry>
-</row>
-<row>
- <entry>flashsv</entry>
- <entry>Flash Screen Video</entry>
-</row>
-<row>
- <entry>dvvideo</entry>
- <entry>Sony Digital Video</entry>
-</row>
-<row>
- <entry>snow</entry>
- <entry>FFmpeg's experimental wavelet-based codec</entry>
-</row>
-<row>
- <entry>zmbv</entry>
- <entry>Zip Motion Blocks Video</entry>
-</row>
-<row>
- <entry>dnxhd</entry>
- <entry>AVID DNxHD</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>vcodec</literal> config,
-like: <option>-lavcopts vcodec=msmpeg4</option>
-</para>
-
-<informalexample><para>
-An example with MJPEG compression:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
-</screen>
-</para></informalexample>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
-<title><systemitem class="library">libavcodec</systemitem>'s
- audio codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Audio codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>ac3</entry>
- <entry>Dolby Digital (AC-3)</entry>
-</row>
-<row>
- <entry>adpcm_*</entry>
- <entry>Adaptive PCM formats - see supplementary table</entry>
-</row>
-<row>
- <entry>flac</entry>
- <entry>Free Lossless Audio Codec (FLAC)</entry>
-</row>
-<row>
- <entry>g726</entry>
- <entry>G.726 ADPCM</entry>
-</row>
-<row>
- <entry>libfaac</entry>
- <entry>Advanced Audio Coding (AAC) - using FAAC</entry>
-</row>
-<row>
- <entry>libgsm</entry>
- <entry>ETSI GSM 06.10 full rate</entry>
-</row>
-<row>
- <entry>libgsm_ms</entry>
- <entry>Microsoft GSM</entry>
-</row>
-<row>
- <entry>libmp3lame</entry>
- <entry>MPEG-1 audio layer 3 (MP3) - using LAME</entry>
-</row>
-<row>
- <entry>mp2</entry>
- <entry>MPEG-1 audio layer 2 (MP2)</entry>
-</row>
-<row>
- <entry>pcm_*</entry>
- <entry>PCM formats - see supplementary table</entry>
-</row>
-<row>
- <entry>roq_dpcm</entry>
- <entry>Id Software RoQ DPCM</entry>
-</row>
-<row>
- <entry>sonic</entry>
- <entry>experimental FFmpeg lossy codec</entry>
-</row>
-<row>
- <entry>sonicls</entry>
- <entry>experimental FFmpeg lossless codec</entry>
-</row>
-<row>
- <entry>vorbis</entry>
- <entry>Vorbis</entry>
-</row>
-<row>
- <entry>wmav1</entry>
- <entry>Windows Media Audio v1</entry>
-</row>
-<row>
- <entry>wmav2</entry>
- <entry>Windows Media Audio v2</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option>
-</para>
-
-<informalexample><para>
-An example with AC-3 compression:
-<screen>
-mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
-</screen>
-</para></informalexample>
-
-<para>
-Contrary to <systemitem class="library">libavcodec</systemitem>'s video
-codecs, its audio codecs do not make a wise usage of the bits they are
-given as they lack some minimal psychoacoustic model (if at all)
-which most other codec implementations feature.
-However, note that all these audio codecs are very fast and work
-out-of-the-box everywhere <application>MEncoder</application> has been
-compiled with <systemitem class="library">libavcodec</systemitem> (which
-is the case most of time), and do not depend on external libraries.
-</para>
-
-<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
-<title>PCM/ADPCM format supplementary table</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>PCM/ADPCM codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>pcm_s32le</entry>
- <entry>signed 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s32be</entry>
- <entry>signed 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u32le</entry>
- <entry>unsigned 32-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u32be</entry>
- <entry>unsigned 32-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s24le</entry>
- <entry>signed 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s24be</entry>
- <entry>signed 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u24le</entry>
- <entry>unsigned 24-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u24be</entry>
- <entry>unsigned 24-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s16le</entry>
- <entry>signed 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_s16be</entry>
- <entry>signed 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_u16le</entry>
- <entry>unsigned 16-bit little-endian</entry>
-</row>
-<row>
- <entry>pcm_u16be</entry>
- <entry>unsigned 16-bit big-endian</entry>
-</row>
-<row>
- <entry>pcm_s8</entry>
- <entry>signed 8-bit</entry>
-</row>
-<row>
- <entry>pcm_u8</entry>
- <entry>unsigned 8-bit</entry>
-</row>
-<row>
- <entry>pcm_alaw</entry>
- <entry>G.711 A-LAW </entry>
-</row>
-<row>
- <entry>pcm_mulaw</entry>
- <entry>G.711 &mu;-LAW</entry>
-</row>
-<row>
- <entry>pcm_s24daud</entry>
- <entry>signed 24-bit D-Cinema Audio format</entry>
-</row>
-<row>
- <entry>pcm_zork</entry>
- <entry>Activision Zork Nemesis</entry>
-</row>
-<row>
- <entry>adpcm_ima_qt</entry>
- <entry>Apple QuickTime</entry>
-</row>
-<row>
- <entry>adpcm_ima_wav</entry>
- <entry>Microsoft/IBM WAVE</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk3</entry>
- <entry>Duck DK3</entry>
-</row>
-<row>
- <entry>adpcm_ima_dk4</entry>
- <entry>Duck DK4</entry>
-</row>
-<row>
- <entry>adpcm_ima_ws</entry>
- <entry>Westwood Studios</entry>
-</row>
-<row>
- <entry>adpcm_ima_smjpeg</entry>
- <entry>SDL Motion JPEG</entry>
-</row>
-<row>
- <entry>adpcm_ms</entry>
- <entry>Microsoft</entry>
-</row>
-<row>
- <entry>adpcm_4xm</entry>
- <entry>4X Technologies</entry>
-</row>
-<row>
- <entry>adpcm_xa</entry>
- <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
-</row>
-<row>
- <entry>adpcm_ea</entry>
- <entry>Electronic Arts</entry>
-</row>
-<row>
- <entry>adpcm_ct</entry>
- <entry>Creative 16->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_swf</entry>
- <entry>Adobe Shockwave Flash</entry>
-</row>
-<row>
- <entry>adpcm_yamaha</entry>
- <entry>Yamaha</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_4</entry>
- <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_3</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
-</row>
-<row>
- <entry>adpcm_sbpro_2</entry>
- <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
-</row>
-<row>
- <entry>adpcm_thp</entry>
- <entry>Nintendo GameCube FMV THP</entry>
-</row>
-<row>
- <entry>adpcm_adx</entry>
- <entry>Sega/CRI ADX</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect3>
-
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
-<title>Encoding options of libavcodec</title>
-
-<para>
-Ideally, you would probably want to be able to just tell the encoder to switch
-into "high quality" mode and move on.
-That would probably be nice, but unfortunately hard to implement as different
-encoding options yield different quality results depending on the source
-material. That is because compression depends on the visual properties of the
-video in question.
-For example, Anime and live action have very different properties and
-thus require different options to obtain optimum encoding.
-The good news is that some options should never be left out, like
-<option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
-See below for a detailed description of common encoding options.
-</para>
-
-<itemizedlist>
-<title>Options to adjust:</title>
-<listitem><para>
- <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on
- the movie.
- Note that if you need to have your encode be decodable by DivX5, you
- need to activate closed GOP support, using
- <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option>
- option, but you need to deactivate scene detection, which
- is not a good idea as it will hurt encode efficiency a bit.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes.
- On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along
- with vb_strategy=1 helps.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better
- and slower.
- Negative values are a completely different scale.
- Good values are -1 for a fast encode, or 2-4 for slower.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">predia</emphasis>: motion search pre-pass.
- Not as important as dia. Good values are 1 (default) to 4. Requires preme=2
- to really be useful.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for
- motion estimation.
- Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
- distortion).
- 0 is fastest, and sufficient for precmp.
- For cmp and subcmp, 2 is good for Anime, and 3 is good for live action.
- 6 may or may not be slightly better, but is slow.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to
- take from the previous frame.
- 1-3 or so help at little speed cost.
- Higher values are slow for no extra gain.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of
- macroblocks. Small speed cost for small quality gain.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the
- macroblock's complexity.
- May help or hurt depending on the video and other options.
- This can cause artifacts unless you set vqmax to some reasonably small value
- (6 is good, maybe as low as 4); vqmin=1 should also help.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qns</emphasis>: very slow, especially when combined
- with qprd.
- This option will make the encoder minimize noise due to compression
- artifacts instead of making the encoded video strictly match the source.
- Do not use this unless you have already tweaked everything else as far as it
- will go and the results still are not good enough.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol.
- What values are good depends on the movie.
- You can safely leave this alone if you want.
- Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts
- them on high-complexity scenes (default: 0.5, range: 0-1. recommended range:
- 0.5-0.7).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient
- elimination threshold for luminance and chroma planes.
- These are encoded separately in all MPEG-like algorithms.
- The idea behind these options is to use some good heuristics to determine
- when the change in a block is less than the threshold you specify, and in
- such a case, to just encode the block as "no change".
- This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
- seem to be good for live movies, but seem not to help with Anime;
- when encoding animation, you should probably leave them unchanged.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation.
- MPEG-4 uses half pixel precision for its motion search by default,
- therefore this option comes with an overhead as more information will be
- stored in the encoded file.
- The compression gain/loss depends on the movie, but it is usually not very
- effective on Anime.
- qpel always incurs a significant cost in CPU decode time (+25% in
- practice).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding,
- but writes a log file giving the type/size/quality of each frame, and
- prints a summary of PSNR (Peak Signal to Noise Ratio) at the end.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>Options not recommended to play with:</title>
-<listitem><para>
- <emphasis role="bold">vme</emphasis>: The default is best.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive
- quantization.
- You do not want to play with those options if you care about quality.
- Reasonable values may be effective in your case, but be warned this is very
- subjective.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky
- artifacts, but postprocessing is better.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-mpeg4-lavc-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Description</entry>
- <entry>Encoding options</entry>
- <entry>speed (in fps)</entry>
- <entry>Relative PSNR loss (in dB)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
- <entry>15fps</entry>
- <entry>-0.5dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
- <entry>42fps</entry>
- <entry>-0.74dB</entry>
-</row>
-<row>
- <entry>Realtime</entry>
- <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
- <entry>54fps</entry>
- <entry>-1.21dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="custommatrices">
-<title>Custom inter/intra matrices</title>
-
-<para>
-With this feature of
-<systemitem class="library">libavcodec</systemitem>
-you are able to set custom inter (I-frames/keyframes) and intra
-(P-frames/predicted frames) matrices. It is supported by many of the codecs:
-<systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem>
-are reported as working.
-</para>
-
-<para>
-A typical usage of this feature is to set the matrices preferred by the
-<ulink url="http://www.kvcd.net/">KVCD</ulink> specifications.
-</para>
-
-<para>
-The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis>
-</para>
-
-<para>
-Intra:
-<screen>
- 8 9 12 22 26 27 29 34
- 9 10 14 26 27 29 34 37
-12 14 18 27 29 34 37 38
-22 26 27 31 36 37 38 40
-26 27 29 36 39 38 40 48
-27 29 34 37 38 40 48 58
-29 34 37 38 40 48 58 69
-34 37 38 40 48 58 69 79
-</screen>
-
-Inter:
-<screen>
-16 18 20 22 24 26 28 30
-18 20 22 24 26 28 30 32
-20 22 24 26 28 30 32 34
-22 24 26 30 32 32 34 36
-24 26 28 32 34 34 36 38
-26 28 30 32 34 36 38 40
-28 30 32 34 36 38 42 42
-30 32 34 36 38 40 42 44
-</screen>
-</para>
-
-<para>
-Usage:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \
- -lavcopts inter_matrix=...:intra_matrix=...
-</screen>
-</para>
-
-<para>
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
-vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
-12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\
-29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
-:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
-28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
-36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
-</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-dvd-mpeg4-example">
-<title>Example</title>
-
-<para>
-So, you have just bought your shiny new copy of Harry Potter and the Chamber
-of Secrets (widescreen edition, of course), and you want to rip this DVD
-so that you can add it to your Home Theatre PC. This is a region 1 DVD,
-so it is NTSC. The example below will still apply to PAL, except you will
-omit <option>-ofps 24000/1001</option> (because the output framerate is the
-same as the input framerate), and of course the crop dimensions will be
-different.
-</para>
-
-<para>
-After running <option>mplayer dvd://1</option>, we follow the process
-detailed in the section <link linkend="menc-feat-telecine">How to deal
-with telecine and interlacing in NTSC DVDs</link> and discover that it is
-24000/1001 fps progressive video, which means that we need not use an inverse
-telecine filter, such as <option>pullup</option> or
-<option>filmdint</option>.
-</para>
-
-<para id="menc-feat-dvd-mpeg4-example-crop">
-Next, we want to determine the appropriate crop rectangle, so we use the
-cropdetect filter:
-<screen>mplayer dvd://1 -vf cropdetect</screen>
-Make sure you seek to a fully filled frame (such as a bright scene,
-past the opening credits and logos), and
-you will see in <application>MPlayer</application>'s console output:
-<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
-We then play the movie back with this filter to test its correctness:
-<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
-And we see that it looks perfectly fine. Next, we ensure the width and
-height are a multiple of 16. The width is fine, however the height is
-not. Since we did not fail 7th grade math, we know that the nearest
-multiple of 16 lower than 362 is 352.
-</para>
-
-<para>
-We could just use <option>crop=720:352:0:58</option>, but it would be nice
-to take a little off the top and a little off the bottom so that we
-retain the center. We have shrunk the height by 10 pixels, but we do not
-want to increase the y-offset by 5-pixels since that is an odd number and
-will adversely affect quality. Instead, we will increase the y-offset by
-4 pixels:
-<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
-Another reason to shave pixels from both the top and the bottom is that we
-ensure we have eliminated any half-black pixels if they exist. Note that if
-your video is telecined, make sure the <option>pullup</option> filter (or
-whichever inverse telecine filter you decide to use) appears in the filter
-chain before you crop. If it is interlaced, deinterlace before cropping.
-(If you choose to preserve the interlaced video, then make sure your
-vertical crop offset is a multiple of 4.)
-</para>
-
-<para>
-If you are really concerned about losing those 10 pixels, you might
-prefer instead to scale the dimensions down to the nearest multiple of 16.
-The filter chain would look like:
-<screen>-vf crop=720:362:0:58,scale=720:352</screen>
-Scaling the video down like this will mean that some small amount of
-detail is lost, though it probably will not be perceptible. Scaling up will
-result in lower quality (unless you increase the bitrate). Cropping
-discards those pixels altogether. It is a tradeoff that you will want to
-consider for each circumstance. For example, if the DVD video was made
-for television, you might want to avoid vertical scaling, since the line
-sampling corresponds to the way the content was originally recorded.
-</para>
-
-<para>
-On inspection, we see that our movie has a fair bit of action and high
-amounts of detail, so we pick 2400Kbit for our bitrate.
-</para>
-
-<para>
-We are now ready to do the two pass encode. Pass one:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-And pass two is the same, except that we specify <option>vpass=2</option>:
-<screen>
-mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
- -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
- -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
-</screen>
-</para>
-
-<para>
-The options <option>v4mv:mbd=2:trell</option> will greatly increase the
-quality at the expense of encoding time. There is little reason to leave
-these options out when the primary goal is quality. The options
-<option>cmp=3:subcmp=3</option> select a comparison function that
-yields higher quality than the defaults. You might try experimenting with
-this parameter (refer to the man page for the possible values) as
-different functions can have a large impact on quality depending on the
-source material. For example, if you find
-<systemitem class="library">libavcodec</systemitem> produces too much
-blocky artifacts, you could try selecting the experimental NSSE as
-comparison function via <option>*cmp=10</option>.
-</para>
-
-<para>
-For this movie, the resulting AVI will be 138 minutes long and nearly
-3GB. And because you said that file size does not matter, this is a
-perfectly acceptable size. However, if you had wanted it smaller, you
-could try a lower bitrate. Increasing bitrates have diminishing
-returns, so while we might clearly see an improvement from 1800Kbit to
-2000Kbit, it might not be so noticeable above 2000Kbit. Feel
-free to experiment until you are happy.
-</para>
-
-<para>
-Because we passed the source video through a denoise filter, you may want
-to add some of it back during playback. This, along with the
-<option>spp</option> post-processing filter, drastically improves the
-perception of quality and helps eliminate blocky artifacts in the video.
-With <application>MPlayer</application>'s <option>autoq</option> option,
-you can vary the amount of post-processing done by the spp filter
-depending on available CPU. Also, at this point, you may want to apply
-gamma and/or color correction to best suit your display. For example:
-<screen>
-mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
-</screen>
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-xvid">
-<title>Encoding with the <systemitem class="library">Xvid</systemitem>
- codec</title>
-
-<para>
-<systemitem class="library">Xvid</systemitem> is a free library for
-encoding MPEG-4 ASP video streams.
-Before starting to encode, you need to <link linkend="xvid">
-set up <application>MEncoder</application> to support it</link>.
-</para>
-
-<para>
-This guide mainly aims at featuring the same kind of information
-as x264's encoding guide.
-Therefore, please begin by reading
-<link linkend="menc-feat-x264-encoding-options-intro">the first part</link>
-of that guide.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-intro">
-<title>What options should I use to get the best results?</title>
-
-<para>
-Please begin by reviewing the
-<systemitem class="library">Xvid</systemitem> section of
-<application>MPlayer</application>'s man page.
-This section is intended to be a supplement to the man page.
-</para>
-
-<para>
-The Xvid default settings are already a good tradeoff between
-speed and quality, therefore you can safely stick to them if
-the following section puzzles you.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-options">
-<title>Encoding options of <systemitem class="library">Xvid</systemitem></title>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">vhq</emphasis>
- This setting affects the macroblock decision algorithm, where the
- higher the setting, the wiser the decision.
- The default setting may be safely used for every encode, while
- higher settings always help PSNR but are significantly slower.
- Please note that a better PSNR does not necessarily mean
- that the picture will look better, but tells you that it is
- closer to the original.
- Turning it off will noticeably speed up encoding; if speed is
- critical for you, the tradeoff may be worth it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bvhq</emphasis>
- This does the same job as vhq, but does it on B-frames.
- It has a negligible impact on speed, and slightly improves quality
- (around +0.1dB PSNR).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">max_bframes</emphasis>
- A higher number of consecutive allowed B-frames usually improves
- compressibility, although it may also lead to more blocking artifacts.
- The default setting is a good tradeoff between compressibility and
- quality, but you may increase it up to 3 if you are bitrate-starved.
- You may also decrease it to 1 or 0 if you are aiming at perfect
- quality, though in that case you should make sure your
- target bitrate is high enough to ensure that the encoder does not
- have to increase quantizers to reach it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">bf_threshold</emphasis>
- This controls the B-frame sensitivity of the encoder, where a higher
- value leads to more B-frames being used (and vice versa).
- This setting is to be used together with <option>max_bframes</option>;
- if you are bitrate-starved, you should increase both
- <option>max_bframes</option> and <option>bf_threshold</option>,
- while you may increase <option>max_bframes</option> and reduce
- <option>bf_threshold</option> so that the encoder may use more
- B-frames in places that only <emphasis role="bold">really</emphasis>
- need them.
- A low number of <option>max_bframes</option> and a high value of
- <option>bf_threshold</option> is probably not a wise choice as it
- will force the encoder to put B-frames in places that would not
- benefit from them, therefore reducing visual quality.
- However, if you need to be compatible with standalone players that
- only support old DivX profiles (which only supports up to 1
- consecutive B-frame), this would be your only way to
- increase compressibility through using B-frames.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">trellis</emphasis>
- Optimizes the quantization process to get an optimal tradeoff
- between PSNR and bitrate, which allows significant bit saving.
- These bits will in return be spent elsewhere on the video,
- raising overall visual quality.
- You should always leave it on as its impact on quality is huge.
- Even if you are looking for speed, do not disable it until you
- have turned down <option>vhq</option> and all other more
- CPU-hungry options to the minimum.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">hq_ac</emphasis>
- Activates a better coefficient cost estimation method, which slightly
- reduces file size by around 0.15 to 0.19% (which corresponds to less
- than 0.01dB PSNR increase), while having a negligible impact on speed.
- It is therefore recommended to always leave it on.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cartoon</emphasis>
- Designed to better encode cartoon content, and has no impact on
- speed as it just tunes the mode decision heuristics for this type
- of content.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">me_quality</emphasis>
- This setting is to control the precision of the motion estimation.
- The higher <option>me_quality</option>, the more
- precise the estimation of the original motion will be, and the
- better the resulting clip will capture the original motion.
- </para>
- <para>
- The default setting is best in all cases;
- thus it is not recommended to turn it down unless you are
- really looking for speed, as all the bits saved by a good motion
- estimation would be spent elsewhere, raising overall quality.
- Therefore, do not go any lower than 5, and even that only as a last
- resort.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">chroma_me</emphasis>
- Improves motion estimation by also taking the chroma (color)
- information into account, whereas <option>me_quality</option>
- alone only uses luma (grayscale).
- This slows down encoding by 5-10% but improves visual quality
- quite a bit by reducing blocking effects and reduces file size by
- around 1.3%.
- If you are looking for speed, you should disable this option before
- starting to consider reducing <option>me_quality</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">chroma_opt</emphasis>
- Is intended to increase chroma image quality around pure
- white/black edges, rather than improving compression.
- This can help to reduce the "red stairs" effect.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lumi_mask</emphasis>
- Tries to give less bitrate to part of the picture that the
- human eye cannot see very well, which should allow the encoder
- to spend the saved bits on more important parts of the picture.
- The quality of the encode yielded by this option highly depends
- on personal preferences and on the type and monitor settings
- used to watch it (typically, it will not look as good if it is
- bright or if it is a TFT monitor).
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">qpel</emphasis>
- Raise the number of candidate motion vectors by increasing
- the precision of the motion estimation from halfpel to
- quarterpel.
- The idea is to find better motion vectors which will in return
- reduce bitrate (hence increasing quality).
- However, motion vectors with quarterpel precision require a
- few extra bits to code, but the candidate vectors do not always
- give (much) better results.
- Quite often, the codec still spends bits on the extra precision,
- but little or no extra quality is gained in return.
- Unfortunately, there is no way to foresee the possible gains of
- <option>qpel</option>, so you need to actually encode with and
- without it to know for sure.
- </para>
- <para>
- <option>qpel</option> can be almost double encoding time, and
- requires as much as 25% more processing power to decode.
- It is not supported by all standalone players.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">gmc</emphasis>
- Tries to save bits on panning scenes by using a single motion
- vector for the whole frame.
- This almost always raises PSNR, but significantly slows down
- encoding (as well as decoding).
- Therefore, you should only use it when you have turned
- <option>vhq</option> to the maximum.
- <systemitem class="library">Xvid</systemitem>'s GMC is more
- sophisticated than DivX's, but is only supported by few
- standalone players.
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-encoding-profiles">
-<title>Encoding profiles</title>
-
-<para>
-Xvid supports encoding profiles through the <option>profile</option> option,
-which are used to impose restrictions on the properties of the Xvid video
-stream such that it will be playable on anything which supports the
-chosen profile.
-The restrictions relate to resolutions, bitrates and certain MPEG-4
-features.
-The following table shows what each profile supports.
-</para>
-
-<informaltable>
-<tgroup cols="16" align="center">
-<colspec colnum="1" colname="col1"/>
-<colspec colnum="2" colname="col2"/>
-<colspec colnum="3" colname="col3"/>
-<colspec colnum="4" colname="col4"/>
-<colspec colnum="5" colname="col5"/>
-<colspec colnum="6" colname="col6"/>
-<colspec colnum="7" colname="col7"/>
-<colspec colnum="8" colname="col8"/>
-<colspec colnum="9" colname="col9"/>
-<colspec colnum="10" colname="col10"/>
-<colspec colnum="11" colname="col11"/>
-<colspec colnum="12" colname="col12"/>
-<colspec colnum="13" colname="col13"/>
-<colspec colnum="14" colname="col14"/>
-<colspec colnum="15" colname="col15"/>
-<colspec colnum="16" colname="col16"/>
-<colspec colnum="17" colname="col17"/>
-<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
-<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
-<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
-<tbody>
-<row>
- <entry></entry>
- <entry spanname="spa2-5">Simple</entry>
- <entry spanname="spa6-11">Advanced Simple</entry>
- <entry spanname="spa12-17">DivX</entry>
-</row>
-<row>
- <entry>Profile name</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>2</entry>
- <entry>3</entry>
- <entry>4</entry>
- <entry>5</entry>
- <entry>Handheld</entry>
- <entry>Portable NTSC</entry>
- <entry>Portable PAL</entry>
- <entry>Home Theater NTSC</entry>
- <entry>Home Theater PAL</entry>
- <entry>HDTV</entry>
-</row>
-<row>
- <entry>Width [pixels]</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>176</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>176</entry>
- <entry>352</entry>
- <entry>352</entry>
- <entry>720</entry>
- <entry>720</entry>
- <entry>1280</entry>
-</row>
-<row>
- <entry>Height [pixels]</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>144</entry>
- <entry>144</entry>
- <entry>288</entry>
- <entry>288</entry>
- <entry>576</entry>
- <entry>576</entry>
- <entry>144</entry>
- <entry>240</entry>
- <entry>288</entry>
- <entry>480</entry>
- <entry>576</entry>
- <entry>720</entry>
-</row>
-<row>
- <entry>Frame rate [fps]</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>30</entry>
- <entry>15</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
- <entry>25</entry>
- <entry>30</entry>
-</row>
-<row>
- <entry>Max average bitrate [kbps]</entry>
- <entry>64</entry>
- <entry>64</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>128</entry>
- <entry>128</entry>
- <entry>384</entry>
- <entry>768</entry>
- <entry>3000</entry>
- <entry>8000</entry>
- <entry>537.6</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>4854</entry>
- <entry>9708.4</entry>
-</row>
-<row>
- <entry>Peak average bitrate over 3 secs [kbps]</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>800</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>8000</entry>
- <entry>16000</entry>
-</row>
-<row>
- <entry>Max. B-frames</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry>0</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>0</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>1</entry>
- <entry>2</entry>
-</row>
-<row>
- <entry>MPEG quantization</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Adaptive quantization</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Interlaced encoding</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
-</row>
-<row>
- <entry>Quarterpixel</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-<row>
- <entry>Global motion compensation</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry>X</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-xvid-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
- <entry>16fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
- <entry>18fps</entry>
- <entry>-0.1dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>turbo:vhq=0</option></entry>
- <entry>28fps</entry>
- <entry>-0.69dB</entry>
-</row>
-<row>
- <entry>Realtime</entry>
- <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
- <entry>38fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-x264">
-<title>Encoding with the
- <systemitem class="library">x264</systemitem> codec</title>
-
-<para>
-<systemitem class="library">x264</systemitem> is a free library for
-encoding H.264/AVC video streams.
-Before starting to encode, you need to
-<link linkend="x264">set up <application>MEncoder</application> to support it</link>.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-encoding-options">
-<title>Encoding options of x264</title>
-
-<para>
-Please begin by reviewing the
-<systemitem class="library">x264</systemitem> section of
-<application>MPlayer</application>'s man page.
-This section is intended to be a supplement to the man page.
-Here you will find quick hints about which options are most
-likely to interest most people. The man page is more terse,
-but also more exhaustive, and it sometimes offers much better
-technical detail.
-</para>
-
-
-<sect3 id="menc-feat-x264-encoding-options-intro">
-<title>Introduction</title>
-
-<para>
-This guide considers two major categories of encoding options:
-</para>
-
-<orderedlist>
-<listitem><para>
- Options which mainly trade off encoding time vs. quality
-</para></listitem>
-<listitem><para>
- Options which may be useful for fulfilling various personal
- preferences and special requirements
-</para></listitem>
-</orderedlist>
-
-<para>
-Ultimately, only you can decide which options are best for your
-purposes. The decision for the first class of options is the simplest:
-you only have to decide whether you think the quality differences
-justify the speed differences. For the second class of options,
-preferences may be far more subjective, and more factors may be
-involved. Note that some of the "personal preferences and special
-requirements" options can still have large impacts on speed or quality,
-but that is not what they are primarily useful for. A couple of the
-"personal preference" options may even cause changes that look better
-to some people, but look worse to others.
-</para>
-
-<para>
-Before continuing, you need to understand that this guide uses only one
-quality metric: global PSNR.
-For a brief explanation of what PSNR is, see
-<ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>.
-Global PSNR is the last PSNR number reported when you include
-the <option>psnr</option> option in <option>x264encopts</option>.
-Any time you read a claim about PSNR, one of the assumptions
-behind the claim is that equal bitrates are used.
-</para>
-
-<para>
-Nearly all of this guide's comments assume you are using two pass.
-When comparing options, there are two major reasons for using
-two pass encoding.
-First, using two pass often gains around 1dB PSNR, which is a
-very big difference.
-Secondly, testing options by doing direct quality comparisons
-with one pass encodes introduces a major confounding
-factor: bitrate often varies significantly with each encode.
-It is not always easy to tell whether quality changes are due
-mainly to changed options, or if they mostly reflect essentially
-random differences in the achieved bitrate.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-speedvquality">
-<title>Options which primarily affect speed and quality</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">subq</emphasis>:
- Of the options which allow you to trade off speed for quality,
- <option>subq</option> and <option>frameref</option> (see below) are usually
- by far the most important.
- If you are interested in tweaking either speed or quality, these
- are the first options you should consider.
- On the speed dimension, the <option>frameref</option> and
- <option>subq</option> options interact with each other fairly
- strongly.
- Experience shows that, with one reference frame,
- <option>subq=5</option> (the default setting) takes about 35% more time than
- <option>subq=1</option>.
- With 6 reference frames, the penalty grows to over 60%.
- <option>subq</option>'s effect on PSNR seems fairly constant
- regardless of the number of reference frames.
- Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global
- PSNR in comparison <option>subq=1</option>.
- This is usually enough to be visible.
- </para>
- <para>
- <option>subq=6</option> is slower and yields better quality at a reasonable
- cost.
- In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB
- global PSNR with speed costs varying from 25%-100%.
- Unlike other levels of <option>subq</option>, the behavior of
- <option>subq=6</option> does not depend much on <option>frameref</option>
- and <option>me</option>. Instead, the effectiveness of <option>subq=6
- </option> depends mostly upon the number of B-frames used. In normal
- usage, this means <option>subq=6</option> has a large impact on both speed
- and quality in complex, high motion scenes, but it may not have much effect
- in low-motion scenes. Note that it is still recommended to always set
- <option>bframes</option> to something other than zero (see below).
- </para>
- <para>
- <option>subq=7</option> is the slowest, highest quality mode.
- In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB
- global PSNR with speed costs varying from 15%-33%.
- Since the tradeoff encoding time vs. quality is quite low, you should
- only use it if you are after every bit saving and if encoding time is
- not an issue.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">frameref</emphasis>:
- <option>frameref</option> is set to 1 by default, but this
- should not be taken to imply that it is reasonable to set it to 1.
- Merely raising <option>frameref</option> to 2 gains around
- 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff.
- <option>frameref=3</option> gains around 0.25dB PSNR over
- <option>frameref=1</option>, which should be a visible difference.
- <option>frameref=3</option> is around 15% slower than
- <option>frameref=1</option>.
- Unfortunately, diminishing returns set in rapidly.
- <option>frameref=6</option> can be expected to gain only
- 0.05-0.1 dB over <option>frameref=3</option> at an additional
- 15% speed penalty.
- Above <option>frameref=6</option>, the quality gains are
- usually very small (although you should keep in mind throughout
- this whole discussion that it can vary quite a lot depending on your source).
- In a fairly typical case, <option>frameref=12</option>
- will improve global PSNR by a tiny 0.02dB over
- <option>frameref=6</option>, at a speed cost of 15%-20%.
- At such high <option>frameref</option> values, the only really
- good thing that can be said is that increasing it even further will
- almost certainly never <emphasis role="bold">harm</emphasis>
- PSNR, but the additional quality benefits are barely even
- measurable, let alone perceptible.
- </para>
- <note><title>Note:</title>
- <para>
- Raising <option>frameref</option> to unnecessarily high values
- <emphasis role="bold">can</emphasis> and
- <emphasis role="bold">usually does</emphasis>
- hurt coding efficiency if you turn CABAC off.
- With CABAC on (the default behavior), the possibility of setting
- <option>frameref</option> "too high" currently seems too remote
- to even worry about, and in the future, optimizations may remove
- the possibility altogether.
- </para></note>
- <para>
- If you care about speed, a reasonable compromise is to use low
- <option>subq</option> and <option>frameref</option> values on
- the first pass, and then raise them on the second pass.
- Typically, this has a negligible negative effect on the final
- quality: You will probably lose well under 0.1dB PSNR, which
- should be much too small of a difference to see.
- However, different values of <option>frameref</option> can
- occasionally affect frame type decision.
- Most likely, these are rare outlying cases, but if you want to
- be pretty sure, consider whether your video has either
- fullscreen repetitive flashing patterns or very large temporary
- occlusions which might force an I-frame.
- Adjust the first-pass <option>frameref</option> so it is large
- enough to contain the duration of the flashing cycle (or occlusion).
- For example, if the scene flashes back and forth between two images
- over a duration of three frames, set the first pass
- <option>frameref</option> to 3 or higher.
- This issue is probably extremely rare in live action video material,
- but it does sometimes come up in video game captures.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">me</emphasis>:
- This option is for choosing the motion estimation search method.
- Altering this option provides a straightforward quality-vs-speed
- tradeoff. <option>me=dia</option> is only a few percent faster than
- the default search, at a cost of under 0.1dB global PSNR. The
- default setting (<option>me=hex</option>) is a reasonable tradeoff
- between speed and quality. <option>me=umh</option> gains a little under
- 0.1dB global PSNR, with a speed penalty that varies depending on
- <option>frameref</option>. At high values of
- <option>frameref</option> (e.g. 12 or so), <option>me=umh</option>
- is about 40% slower than the default <option> me=hex</option>. With
- <option>frameref=3</option>, the speed penalty incurred drops to
- 25%-30%.
- </para>
- <para>
- <option>me=esa</option> uses an exhaustive search that is too slow for
- practical use.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">partitions=all</emphasis>:
- This option enables the use of 8x4, 4x8 and 4x4 subpartitions in
- predicted macroblocks (in addition to the default partitions).
- Enabling it results in a fairly consistent
- 10%-15% loss of speed. This option is rather useless in source
- containing only low motion, however in some high-motion source,
- particularly source with lots of small moving objects, gains of
- about 0.1dB can be expected.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">bframes</emphasis>:
- If you are used to encoding with other codecs, you may have found
- that B-frames are not always useful.
- In H.264, this has changed: there are new techniques and block
- types that are possible in B-frames.
- Usually, even a naive B-frame choice algorithm can have a
- significant PSNR benefit.
- It is interesting to note that using B-frames usually speeds up
- the second pass somewhat, and may also speed up a single
- pass encode if adaptive B-frame decision is turned off.
- </para>
- <para>
- With adaptive B-frame decision turned off
- (<option>x264encopts</option>'s <option>nob_adapt</option>),
- the optimal value for this setting is usually no more than
- <option>bframes=1</option>, or else high-motion scenes can suffer.
- With adaptive B-frame decision on (the default behavior), it is
- safe to use higher values; the encoder will reduce the use of
- B-frames in scenes where they would hurt compression.
- The encoder rarely chooses to use more than 3 or 4 B-frames;
- setting this option any higher will have little effect.
- </para>
-</listitem>
-<listitem>
- <para>
- <emphasis role="bold">b_adapt</emphasis>:
- Note: This is on by default.
- </para>
- <para>
- With this option enabled, the encoder will use a reasonably fast
- decision process to reduce the number of B-frames used in scenes that
- might not benefit from them as much.
- You can use <option>b_bias</option> to tweak how B-frame-happy
- the encoder is.
- The speed penalty of adaptive B-frames is currently rather modest,
- but so is the potential quality gain.
- It usually does not hurt, however.
- Note that this only affects speed and frame type decision on the
- first pass.
- <option>b_adapt</option> and <option>b_bias</option> have no
- effect on subsequent passes.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">b_pyramid</emphasis>:
- You might as well enable this option if you are using >=2 B-frames;
- as the man page says, you get a little quality improvement at no
- speed cost.
- Note that these videos cannot be read by libavcodec-based decoders
- older than about March 5, 2005.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">weight_b</emphasis>:
- In typical cases, there is not much gain with this option.
- However, in crossfades or fade-to-black scenes, weighted
- prediction gives rather large bitrate savings.
- In MPEG-4 ASP, a fade-to-black is usually best coded as a series
- of expensive I-frames; using weighted prediction in B-frames
- makes it possible to turn at least some of these into much smaller
- B-frames.
- Encoding time cost is minimal, as no extra decisions need to be made.
- Also, contrary to what some people seem to guess, the decoder
- CPU requirements are not much affected by weighted prediction,
- all else being equal.
- </para>
- <para>
- Unfortunately, the current adaptive B-frame decision algorithm
- has a strong tendency to avoid B-frames during fades.
- Until this changes, it may be a good idea to add
- <option>nob_adapt</option> to your x264encopts, if you expect
- fades to have a large effect in your particular video
- clip.
- </para>
-</listitem>
-<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
- <para>
- <emphasis role="bold">threads</emphasis>:
- This option allows to spawn threads to encode in parallel on multiple CPUs.
- You can manually select the number of threads to be created or, better, set
- <option>threads=auto</option> and let
- <systemitem class="library">x264</systemitem> detect how many CPUs are
- available and pick an appropriate number of threads.
- If you have a multi-processor machine, you should really consider using it
- as it can to increase encoding speed linearly with the number of CPU cores
- (about 94% per CPU core), with very little quality reduction (about 0.005dB
- for dual processor, about 0.01dB for a quad processor machine).
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
-<title>Options pertaining to miscellaneous preferences</title>
-
-<itemizedlist>
-<listitem>
- <para>
- <emphasis role="bold">Two pass encoding</emphasis>:
- Above, it was suggested to always use two pass encoding, but there
- are still reasons for not using it. For instance, if you are capturing
- live TV and encoding in realtime, you are forced to use single-pass.
- Also, one pass is obviously faster than two passes; if you use the
- exact same set of options on both passes, two pass encoding is almost
- twice as slow.
- </para>
- <para>
- Still, there are very good reasons for using two pass encoding. For
- one thing, single pass ratecontrol is not psychic, and it often makes
- unreasonable choices because it cannot see the big picture. For example,
- suppose you have a two minute long video consisting of two distinct
- halves. The first half is a very high-motion scene lasting 60 seconds
- which, in isolation, requires about 2500kbps in order to look decent.
- Immediately following it is a much less demanding 60-second scene
- that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
- that this is enough to accommodate both scenes. Single pass ratecontrol
- will make a couple of "mistakes" in such a case. First of all, it
- will target 1400kbps in both segments. The first segment may end up
- heavily overquantized, causing it to look unacceptably and unreasonably
- blocky. The second segment will be heavily underquantized; it may look
- perfect, but the bitrate cost of that perfection will be completely
- unreasonable. What is even harder to avoid is the problem at the
- transition between the two scenes. The first seconds of the low motion
- half will be hugely over-quantized, because the ratecontrol is still
- expecting the kind of bitrate requirements it met in the first half
- of the video. This "error period" of heavily over-quantized low motion
- will look jarringly bad, and will actually use less than the 300kbps
- it would have taken to make it look decent. There are ways to
- mitigate the pitfalls of single-pass encoding, but they may tend to
- increase bitrate misprediction.
- </para>
- <para>
- Multipass ratecontrol can offer huge advantages over a single pass.
- Using the statistics gathered from the first pass encode, the encoder
- can estimate, with reasonable accuracy, the "cost" (in bits) of
- encoding any given frame, at any given quantizer. This allows for
- a much more rational, better planned allocation of bits between the
- expensive (high-motion) and cheap (low-motion) scenes. See
- <option>qcomp</option> below for some ideas on how to tweak this
- allocation to your liking.
- </para>
- <para>
- Moreover, two passes need not take twice as long as one pass. You can
- tweak the options in the first pass for higher speed and lower quality.
- If you choose your options well, you can get a very fast first pass.
- The resulting quality in the second pass will be slightly lower because size
- prediction is less accurate, but the quality difference is normally much
- too small to be visible. Try, for example, adding
- <option>subq=1:frameref=1</option> to the first pass
- <option>x264encopts</option>. Then, on the second pass, use slower,
- higher-quality options:
- <option>subq=6:frameref=15:partitions=all:me=umh</option>
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">Three pass encoding</emphasis>?
- x264 offers the ability to make an arbitrary number of consecutive
- passes. If you specify <option>pass=1</option> on the first pass,
- then use <option>pass=3</option> on a subsequent pass, the subsequent
- pass will both read the statistics from the previous pass, and write
- its own statistics. An additional pass following this one will have
- a very good base from which to make highly accurate predictions of
- frame sizes at a chosen quantizer. In practice, the overall quality
- gain from this is usually close to zero, and quite possibly a third
- pass will result in slightly worse global PSNR than the pass before
- it. In typical usage, three passes help if you get either bad bitrate
- prediction or bad looking scene transitions when using only two passes.
- This is somewhat likely to happen on extremely short clips. There are
- also a few special cases in which three (or more) passes are handy
- for advanced users, but for brevity, this guide omits discussing those
- special cases.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">qcomp</emphasis>:
- <option>qcomp</option> trades off the number of bits allocated
- to "expensive" high-motion versus "cheap" low-motion frames. At
- one extreme, <option>qcomp=0</option> aims for true constant
- bitrate. Typically this would make high-motion scenes look completely
- awful, while low-motion scenes would probably look absolutely
- perfect, but would also use many times more bitrate than they
- would need in order to look merely excellent. At the other extreme,
- <option>qcomp=1</option> achieves nearly constant quantization parameter
- (QP). Constant QP does not look bad, but most people think it is more
- reasonable to shave some bitrate off of the extremely expensive scenes
- (where the loss of quality is not as noticeable) and reallocate it to
- the scenes that are easier to encode at excellent quality.
- <option>qcomp</option> is set to 0.6 by default, which may be slightly
- low for many peoples' taste (0.7-0.8 are also commonly used).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- <option>keyint</option> is solely for trading off file seekability against
- coding efficiency. By default, <option>keyint</option> is set to 250. In
- 25fps material, this guarantees the ability to seek to within 10 seconds
- precision. If you think it would be important and useful to be able to
- seek within 5 seconds of precision, set <option>keyint=125</option>;
- this will hurt quality/bitrate slightly. If you care only about quality
- and not about seekability, you can set it to much higher values
- (understanding that there are diminishing returns which may become
- vanishingly low, or even zero). The video stream will still have seekable
- points as long as there are some scene changes.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">deblock</emphasis>:
- This topic is going to be a bit controversial.
- </para>
- <para>
- H.264 defines a simple deblocking procedure on I-blocks that uses
- pre-set strengths and thresholds depending on the QP of the block
- in question.
- By default, high QP blocks are filtered heavily, and low QP blocks
- are not deblocked at all.
- The pre-set strengths defined by the standard are well-chosen and
- the odds are very good that they are PSNR-optimal for whatever
- video you are trying to encode.
- The <option>deblock</option> allow you to specify offsets to the preset
- deblocking thresholds.
- </para>
- <para>
- Many people seem to think it is a good idea to lower the deblocking
- filter strength by large amounts (say, -3).
- This is however almost never a good idea, and in most cases,
- people who are doing this do not understand very well how
- deblocking works by default.
- </para>
- <para>
- The first and most important thing to know about the in-loop
- deblocking filter is that the default thresholds are almost always
- PSNR-optimal.
- In the rare cases that they are not optimal, the ideal offset is
- plus or minus 1.
- Adjusting deblocking parameters by a larger amount is almost
- guaranteed to hurt PSNR.
- Strengthening the filter will smear more details; weakening the
- filter will increase the appearance of blockiness.
- </para>
- <para>
- It is definitely a bad idea to lower the deblocking thresholds if
- your source is mainly low in spacial complexity (i.e., not a lot
- of detail or noise).
- The in-loop filter does a rather excellent job of concealing
- the artifacts that occur.
- If the source is high in spacial complexity, however, artifacts
- are less noticeable.
- This is because the ringing tends to look like detail or noise.
- Human visual perception easily notices when detail is removed,
- but it does not so easily notice when the noise is wrongly
- represented.
- When it comes to subjective quality, noise and detail are somewhat
- interchangeable.
- By lowering the deblocking filter strength, you are most likely
- increasing error by adding ringing artifacts, but the eye does
- not notice because it confuses the artifacts with detail.
- </para>
- <para>
- This <emphasis role="bold">still</emphasis> does not justify
- lowering the deblocking filter strength, however.
- You can generally get better quality noise from postprocessing.
- If your H.264 encodes look too blurry or smeared, try playing with
- <option>-vf noise</option> when you play your encoded movie.
- <option>-vf noise=8a:4a</option> should conceal most mild
- artifacts.
- It will almost certainly look better than the results you
- would have gotten just by fiddling with the deblocking filter.
- </para>
-</listitem>
-</itemizedlist>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-x264-example-settings">
-<title>Encoding setting examples</title>
-
-<para>
-The following settings are examples of different encoding
-option combinations that affect the speed vs quality tradeoff
-at the same target bitrate.
-</para>
-
-<para>
-All the encoding settings were tested on a 720x448 @30000/1001 fps
-video sample, the target bitrate was 900kbps, and the machine was an
-AMD-64 3400+ at 2400 MHz in 64 bits mode.
-Each encoding setting features the measured encoding speed (in
-frames per second) and the PSNR loss (in dB) compared to the "very
-high quality" setting.
-Please understand that depending on your source, your machine type
-and development advancements, you may get very different results.
-</para>
-
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Description</entry>
- <entry>Encoding options</entry>
- <entry>speed (in fps)</entry>
- <entry>Relative PSNR loss (in dB)</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>Very high quality</entry>
- <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>6fps</entry>
- <entry>0dB</entry>
-</row>
-<row>
- <entry>High quality</entry>
- <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
- <entry>13fps</entry>
- <entry>-0.89dB</entry>
-</row>
-<row>
- <entry>Fast</entry>
- <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
- <entry>17fps</entry>
- <entry>-1.48dB</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-video-for-windows">
-<title>
- Encoding with the <systemitem class="library">Video For Windows</systemitem>
- codec family
-</title>
-
-<para>
-Video for Windows provides simple encoding by means of binary video codecs.
-You can encode with the following codecs (if you have more, please tell us!)
-</para>
-
-<para>
-Note that support for this is very experimental and some codecs may not work
-correctly. Some codecs will only work in certain colorspaces, try
-<option>-vf format=bgr24</option> and <option>-vf format=yuy2</option>
-if a codec fails or gives wrong output.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-enc-vfw-video-codecs">
-<title>Video for Windows supported codecs</title>
-
-<para>
-<informaltable frame="all">
-<tgroup cols="4">
-<thead>
-<row>
- <entry>Video codec file name</entry>
- <entry>Description (FourCC)</entry>
- <entry>md5sum</entry>
- <entry>Comment</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>aslcodec_vfw.dll</entry>
- <entry>Alparysoft lossless codec vfw (ASLC)</entry>
- <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
- <entry></entry>
-</row>
-<row>
- <entry>avimszh.dll</entry>
- <entry>AVImszh (MSZH)</entry>
- <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
- <entry>needs <option>-vf format</option></entry>
-</row>
-<row>
- <entry>avizlib.dll</entry>
- <entry>AVIzlib (ZLIB)</entry>
- <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
- <entry></entry>
-</row>
-<row>
- <entry>divx.dll</entry>
- <entry>DivX4Windows-VFW</entry>
- <entry>acf35b2fc004a89c829531555d73f1e6</entry>
- <entry></entry>
-</row>
-<row>
- <entry>huffyuv.dll</entry>
- <entry>HuffYUV (lossless) (HFYU)</entry>
- <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
- <entry></entry>
-</row>
-<row>
- <entry>iccvid.dll</entry>
- <entry>Cinepak Video (cvid)</entry>
- <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
- <entry></entry>
-</row>
-<row>
- <entry>icmw_32.dll</entry>
- <entry>Motion Wavelets (MWV1)</entry>
- <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>jp2avi.dll</entry>
- <entry>ImagePower MJPEG2000 (IPJ2)</entry>
- <entry>d860a11766da0d0ea064672c6833768b</entry>
- <entry><option>-vf flip</option></entry>
-</row>
-<row>
- <entry>m3jp2k32.dll</entry>
- <entry>Morgan MJPEG2000 (MJ2C)</entry>
- <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
- <entry></entry>
-</row>
-<row>
- <entry>m3jpeg32.dll</entry>
- <entry>Morgan Motion JPEG Codec (MJPEG)</entry>
- <entry>1cd13fff5960aa2aae43790242c323b1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>mpg4c32.dll</entry>
- <entry>Microsoft MPEG-4 v1/v2</entry>
- <entry>b5791ea23f33010d37ab8314681f1256</entry>
- <entry></entry>
-</row>
-<row>
- <entry>tsccvid.dll</entry>
- <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
- <entry>8230d8560c41d444f249802a2700d1d5</entry>
- <entry>shareware error on windows</entry>
-</row>
-<row>
- <entry>vp31vfw.dll</entry>
- <entry>On2 Open Source VP3 Codec (VP31)</entry>
- <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp4vfw.dll</entry>
- <entry>On2 VP4 Personal Codec (VP40)</entry>
- <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp6vfw.dll</entry>
- <entry>On2 VP6 Personal Codec (VP60)</entry>
- <entry>04d635a364243013898fd09484f913fb</entry>
- <entry></entry>
-</row>
-<row>
- <entry>vp7vfw.dll</entry>
- <entry>On2 VP7 Personal Codec (VP70)</entry>
- <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
- <entry><option>-ffourcc VP70</option></entry>
-</row>
-<row>
- <entry>ViVD2.dll</entry>
- <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
- <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
- <entry></entry>
-</row>
-<row>
- <entry>msulvc06.DLL</entry>
- <entry>MSU Lossless codec (MSUD)</entry>
- <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
- <entry>
- Decodable by <application>Window Media Player</application>,
- not <application>MPlayer</application> (yet).
- </entry>
-</row>
-<row>
- <entry>camcodec.dll</entry>
- <entry>CamStudio lossless video codec (CSCD)</entry>
- <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
- <entry>sf.net/projects/camstudio</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-The first column contains the codec names that should be passed after the
-<literal>codec</literal> parameter,
-like: <option>-xvfwopts codec=divx.dll</option>
-The FourCC code used by each codec is given in the parentheses.
-</para>
-
-<informalexample>
-<para>
-An example to convert an ISO DVD trailer to a VP6 flash video file
-using compdata bitrate settings:
-<screen>
-mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
--ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
--lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
--of lavf
-</screen>
-</para>
-</informalexample>
-</sect2>
-
-<sect2 id="menc-feat-video-for-windows-bitrate-settings">
-<title>Using vfw2menc to create a codec settings file.</title>
-
-<para>
-To encode with the Video for Windows codecs, you will need to set bitrate
-and other options. This is known to work on x86 on both *NIX and Windows.
-</para>
-<para>
-First you must build the <application>vfw2menc</application> program.
-It is located in the <filename class="directory">TOOLS</filename> subdirectory
-of the MPlayer source tree.
-To build on Linux, this can be done using <application>Wine</application>:
-<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
-
-To build on Windows in <application>MinGW</application> or
-<application>Cygwin</application> use:
-<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
-
-To build on <application>MSVC</application> you will need getopt.
-Getopt can be found in the original <application>vfw2menc</application>
-archive available at:
-The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> project.
-</para>
-<informalexample>
-<para>
-Below is an example with the VP6 codec.
-<screen>
-vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
-</screen>
-This will open the VP6 codec dialog window.
-Repeat this step for the second pass
-and use <option>-s <replaceable>secondpass.mcf</replaceable></option>.
-</para>
-</informalexample>
-<para>
-Windows users can use
-<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> to have
-the codec dialog display before encoding starts.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-quicktime-7">
-<title>Using <application>MEncoder</application> to create
-<application>QuickTime</application>-compatible files</title>
-
-
-<sect2 id="menc-feat-quicktime-7-why-use-it">
-<title>Why would one want to produce <application>QuickTime</application>-compatible Files?</title>
-
-<para>
- There are several reasons why producing
- <application>QuickTime</application>-compatible files can be desirable.
-</para>
-<itemizedlist>
-<listitem><para>
- You want any computer illiterate to be able to watch your encode on
- any major platform (Windows, Mac OS X, Unices &hellip;).
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> is able to take advantage of more
- hardware and software acceleration features of Mac OS X than
- platform-independent players like <application>MPlayer</application>
- or <application>VLC</application>.
- That means that your encodes have a chance to be played smoothly by older
- G4-powered machines.
-</para></listitem>
-<listitem><para>
- <application>QuickTime</application> 7 supports the next-generation codec H.264,
- which yields significantly better picture quality than previous codec
- generations (MPEG-2, MPEG-4 &hellip;).
-</para></listitem>
-</itemizedlist>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-constraints">
-<title><application>QuickTime</application> 7 limitations</title>
-
-<para>
- <application>QuickTime</application> 7 supports H.264 video and AAC audio,
- but it does not support them muxed in the AVI container format.
- However, you can use <application>MEncoder</application> to encode
- the video and audio, and then use an external program such as
- <application>mp4creator</application> (part of the
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>)
- to remux the video and audio tracks into an MP4 container.
-</para>
-
-<para>
- <application>QuickTime</application>'s support for H.264 is limited,
- so you will need to drop some advanced features.
- If you encode your video with features that
- <application>QuickTime</application> 7 does not support,
- <application>QuickTime</application>-based players will show you a pretty
- white screen instead of your expected video.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">B-frames</emphasis>:
- <application>QuickTime</application> 7 supports a maximum of 1 B-frame, i.e.
- <option>-x264encopts bframes=1</option>. This means that
- <option>b_pyramid</option> and <option>weight_b</option> will have no
- effect, since they require <option>bframes</option> to be greater than 1.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Macroblocks</emphasis>:
- <application>QuickTime</application> 7 does not support 8x8 DCT macroblocks.
- This option (<option>8x8dct</option>) is off by default, so just be sure
- not to explicitly enable it. This also means that the <option>i8x8</option>
- option will have no effect, since it requires <option>8x8dct</option>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Aspect ratio</emphasis>:
- <application>QuickTime</application> 7 does not support SAR (sample
- aspect ratio) information in MPEG-4 files; it assumes that SAR=1. Read
- <link linkend="menc-feat-quicktime-7-scale">the section on scaling</link>
- for a workaround. <application>QuickTime</application> X no longer has this
- limitation.
-</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-crop">
-<title>Cropping</title>
-<para>
- Suppose you want to rip your freshly bought copy of "The Chronicles of
- Narnia". Your DVD is region 1,
- which means it is NTSC. The example below would still apply to PAL,
- except you would omit <option>-ofps 24000/1001</option> and use slightly
- different <option>crop</option> and <option>scale</option> dimensions.
-</para>
-
-<para>
- After running <option>mplayer dvd://1</option>, you follow the process
- detailed in the section <link linkend="menc-feat-telecine">How to deal
- with telecine and interlacing in NTSC DVDs</link> and discover that it is
- 24000/1001 fps progressive video. This simplifies the process somewhat,
- since you do not need to use an inverse telecine filter such as
- <option>pullup</option> or a deinterlacing filter such as
- <option>yadif</option>.
-</para>
-
-<para>
- Next, you need to crop out the black bars from the top and bottom of the
- video, as detailed in <link linkend="menc-feat-dvd-mpeg4-example-crop">this</link>
- previous section.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-scale">
-<title>Scaling</title>
-
-<para>
- The next step is truly heartbreaking.
- <application>QuickTime</application> 7 does not support MPEG-4 videos
- with a sample aspect ratio other than 1, so you will need to upscale
- (which wastes a lot of disk space) or downscale (which loses some
- details of the source) the video to square pixels.
- Either way you do it, this is highly inefficient, but simply cannot
- be avoided if you want your video to be playable by
- <application>QuickTime</application> 7.
- <application>MEncoder</application> can apply the appropriate upscaling
- or downscaling by specifying respectively <option>-vf scale=-10:-1</option>
- or <option>-vf scale=-1:-10</option>.
- This will scale your video to the correct width for the cropped height,
- rounded to the closest multiple of 16 for optimal compression.
- Remember that if you are cropping, you should crop first, then scale:
-
- <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-avsync">
-<title>A/V sync</title>
-
-<para>
- Because you will be remuxing into a different container, you should
- always use the <option>harddup</option> option to ensure that duplicated
- frames are actually duplicated in the video output. Without this option,
- <application>MEncoder</application> will simply put a marker in the video
- stream that a frame was duplicated, and rely on the client software to
- show the same frame twice. Unfortunately, this "soft duplication" does
- not survive remuxing, so the audio would slowly lose sync with the video.
-</para>
-
-<para>
- The final filter chain looks like this:
- <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-bitrate">
-<title>Bitrate</title>
-
-<para>
- As always, the selection of bitrate is a matter of the technical properties
- of the source, as explained
- <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">here</link>, as
- well as a matter of taste.
- This movie has a fair bit of action and lots of detail, but H.264 video
- looks good at much lower bitrates than XviD or other MPEG-4 codecs.
- After much experimentation, the author of this guide chose to encode
- this movie at 900kbps, and thought that it looked very good.
- You may decrease bitrate if you need to save more space, or increase
- it if you need to improve quality.
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-example">
-<title>Encoding example</title>
-
-<para>
- You are now ready to encode the video. Since you care about
- quality, of course you will be doing a two-pass encode. To shave off
- some encoding time, you can specify the <option>turbo</option> option
- on the first pass; this reduces <option>subq</option> and
- <option>frameref</option> to 1. To save some disk space, you can
- use the <option>ss</option> option to strip off the first few seconds
- of the video. (I found that this particular movie has 32 seconds of
- credits and logos.) <option>bframes</option> can be 0 or 1.
- The other options are documented in <link
- linkend="menc-feat-x264-encoding-options-speedvquality">Encoding with
- the <systemitem class="library">x264</systemitem> codec</link> and
- the man page.
-
- <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
--x264encopts pass=1:turbo:bitrate=900:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-
- If you have a multi-processor machine, don't miss the opportunity to
- dramatically speed-up encoding by enabling
- <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
- <systemitem class="library">x264</systemitem>'s multi-threading mode</link>
- by adding <option>threads=auto</option> to your <option>x264encopts</option>
- command-line.
-</para>
-
-<para>
- The second pass is the same, except that you specify the output file
- and set <option>pass=2</option>.
-
- <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
--x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
-me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
--vf crop=720:352:0:62,scale=-10:-1,harddup \
--oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
--ofps 24000/1001</screen>
-</para>
-
-<para>
- The resulting AVI should play perfectly in
- <application>MPlayer</application>, but of course
- <application>QuickTime</application> can not play it because it does
- not support H.264 muxed in AVI.
- So the next step is to remux the video into an MP4 container.
-</para>
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-remux">
-<title>Remuxing as MP4</title>
-
-<para>
- There are several ways to remux AVI files to MP4. You can use
- <application>mp4creator</application>, which is part of the
- <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>.
-</para>
-
-<para>
- First, demux the AVI into separate audio and video streams using
- <application>MPlayer</application>.
-
- <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
-mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
-
- The file names are important; <application>mp4creator</application>
- requires that AAC audio streams be named <systemitem>.aac</systemitem>
- and H.264 video streams be named <systemitem>.h264</systemitem>.
-</para>
-
-<para>
- Now use <application>mp4creator</application> to create a new
- MP4 file out of the audio and video streams.
-
- <screen>mp4creator -create=narnia.aac narnia.mp4
-mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
-
- Unlike the encoding step, you must specify the framerate as a
- decimal (such as 23.976), not a fraction (such as 24000/1001).
-</para>
-
-<para>
- This <systemitem>narnia.mp4</systemitem> file should now be playable
- with any <application>QuickTime</application> 7 application, such as
- <application>QuickTime Player</application> or
- <application>iTunes</application>. If you are planning to view the
- video in a web browser with the <application>QuickTime</application>
- plugin, you should also hint the movie so that the
- <application>QuickTime</application> plugin can start playing it
- while it is still downloading. <application>mp4creator</application>
- can create these hint tracks:
-
- <screen>mp4creator -hint=1 narnia.mp4
-mp4creator -hint=2 narnia.mp4
-mp4creator -optimize narnia.mp4</screen>
-
- You can check the final result to ensure that the hint tracks were
- created successfully:
-
- <screen>mp4creator -list narnia.mp4</screen>
-
- You should see a list of tracks: 1 audio, 1 video, and 2 hint tracks.
-
-<screen>Track Type Info
-1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
-2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
-3 hint Payload mpeg4-generic for track 1
-4 hint Payload H264 for track 2
-</screen>
-</para>
-
-</sect2>
-
-<sect2 id="menc-feat-quicktime-7-metadata">
-<title>Adding metadata tags</title>
-
-<para>
- If you want to add tags to your video that show up in iTunes, you can use
- <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
-
- <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
-
- The <option>--metaEnema</option> option removes any existing metadata
- (<application>mp4creator</application> inserts its name in the
- "encoding tool" tag), and <option>--freefree</option> reclaims the
- space from the deleted metadata.
- The <option>--stik</option> option sets the type of video (such as Movie
- or TV Show), which iTunes uses to group related video files.
- The <option>--overWrite</option> option overwrites the original file;
- without it, <application>AtomicParsley</application> creates a new
- auto-named file in the same directory and leaves the original file
- untouched.
-</para>
-
-</sect2>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-vcd-dvd">
-<title>Using <application>MEncoder</application>
- to create VCD/SVCD/DVD-compliant files</title>
-
-<sect2 id="menc-feat-vcd-dvd-constraints">
-<title>Format Constraints</title>
-
-<para>
-<application>MEncoder</application> is capable of creating VCD, SCVD
-and DVD format MPEG files using the
-<systemitem class="library">libavcodec</systemitem> library.
-These files can then be used in conjunction with
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
-or
-<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
-to create discs that will play on a standard set-top player.
-</para>
-
-<para>
-The DVD, SVCD, and VCD formats are subject to heavy constraints.
-Only a small selection of encoded picture sizes and aspect ratios are
-available.
-If your movie does not already meet these requirements, you may have
-to scale, crop or add black borders to the picture to make it
-compliant.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
-<title>Format Constraints</title>
-
-<informaltable frame="all">
-<tgroup cols="9">
-<thead>
-<row>
- <entry>Format</entry>
- <entry>Resolution</entry>
- <entry>V. Codec</entry>
- <entry>V. Bitrate</entry>
- <entry>Sample Rate</entry>
- <entry>A. Codec</entry>
- <entry>A. Bitrate</entry>
- <entry>FPS</entry>
- <entry>Aspect</entry>
-</row>
-</thead>
-<tbody>
-<row>
- <entry>NTSC DVD</entry>
- <entry>720x480, 704x480, 352x480, 352x240</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9 (only for 720x480)</entry>
-</row>
-<row>
- <entry>NTSC DVD</entry>
- <entry>352x240<footnote id='fn-rare-resolutions'><para>
- These resolutions are rarely used for DVDs because
- they are fairly low quality.</para></footnote></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>30000/1001, 24000/1001</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>NTSC SVCD</entry>
- <entry>480x480</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>NTSC VCD</entry>
- <entry>352x240</entry>
- <entry>MPEG-1</entry>
- <entry>1150 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>24000/1001, 30000/1001</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>720x576, 704x576, 352x576, 352x288</entry>
- <entry>MPEG-2</entry>
- <entry>9800 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9 (only for 720x576)</entry>
-</row>
-<row>
- <entry>PAL DVD</entry>
- <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
- <entry>MPEG-1</entry>
- <entry>1856 kbps</entry>
- <entry>48000 Hz</entry>
- <entry>MP2,AC-3,PCM</entry>
- <entry>1536 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3, 16:9</entry>
-</row>
-<row>
- <entry>PAL SVCD</entry>
- <entry>480x576</entry>
- <entry>MPEG-2</entry>
- <entry>2600 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>384 kbps (max)</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-<row>
- <entry>PAL VCD</entry>
- <entry>352x288</entry>
- <entry>MPEG-1</entry>
- <entry>1152 kbps</entry>
- <entry>44100 Hz</entry>
- <entry>MP2</entry>
- <entry>224 kbps</entry>
- <entry>25</entry>
- <entry>4:3</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<para>
-If your movie has 2.35:1 aspect (most recent action movies), you will
-have to add black borders or crop the movie down to 16:9 to make a DVD or VCD.
-If you add black borders, try to align them at 16-pixel boundaries in
-order to minimize the impact on encoding performance.
-Thankfully DVD has sufficiently excessive bitrate that you do not have
-to worry too much about encoding efficiency, but SVCD and VCD are
-highly bitrate-starved and require effort to obtain acceptable quality.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-gop">
-<title>GOP Size Constraints</title>
-
-<para>
-DVD, VCD, and SVCD also constrain you to relatively low
-GOP (Group of Pictures) sizes.
-For 30 fps material the largest allowed GOP size is 18.
-For 25 or 24 fps, the maximum is 15.
-The GOP size is set using the <option>keyint</option> option.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
-<title>Bitrate Constraints</title>
-
-<para>
-VCD video is required to be CBR at 1152 kbps.
-This highly limiting constraint also comes along with an extremely low vbv
-buffer size of 327 kilobits.
-SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
-restrictive vbv buffer size of 917 kilobits is allowed.
-DVD video bitrates may range anywhere up to 9800 kbps (though typical
-bitrates are about half that), and the vbv buffer size is 1835 kilobits.
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-output">
-<title>Output Options</title>
-
-<para>
-<application>MEncoder</application> has options to control the output
-format.
-Using these options we can instruct it to create the correct type of
-file.
-</para>
-
-<para>
-The options for VCD and SVCD are called xvcd and xsvcd, because they
-are extended formats.
-They are not strictly compliant, mainly because the output does not
-contain scan offsets.
-If you need to generate an SVCD image, you should pass the output file to
-<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
-</para>
-
-<para>
-VCD:
-<screen>-of mpeg -mpegopts format=xvcd</screen>
-</para>
-
-<para>
-SVCD:
-<screen>-of mpeg -mpegopts format=xsvcd</screen>
-</para>
-
-<para>
-DVD (with timestamps on every frame, if possible):
-<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
-</para>
-
-<para>
-DVD with NTSC Pullup:
-<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
-This allows 24000/1001 fps progressive content to be encoded at 30000/1001
-fps whilst maintaining DVD-compliance.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-aspect">
-<title>Aspect Ratio</title>
-
-<para>
-The aspect argument of <option>-lavcopts</option> is used to encode
-the aspect ratio of the file.
-During playback the aspect ratio is used to restore the video to the
-correct size.
-</para>
-
-<para>
-16:9 or "Widescreen"
-<screen>-lavcopts aspect=16/9</screen>
-</para>
-
-<para>
-4:3 or "Fullscreen"
-<screen>-lavcopts aspect=4/3</screen>
-</para>
-
-<para>
-2.35:1 or "Cinemascope" NTSC
-<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
-To calculate the correct scaling size, use the expanded NTSC width of
-854/2.35 = 368
-</para>
-
-<para>
-2.35:1 or "Cinemascope" PAL
-<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
-To calculate the correct scaling size, use the expanded PAL width of
-1024/2.35 = 432
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-a-v-sync">
-<title>Maintaining A/V sync</title>
-
-<para>
-In order to maintain audio/video synchronization throughout the encode,
-<application>MEncoder</application> has to drop or duplicate frames.
-This works rather well when muxing into an AVI file, but is almost
-guaranteed to fail to maintain A/V sync with other muxers such as MPEG.
-This is why it is necessary to append the
-<option>harddup</option> video filter at the end of the filter chain
-to avoid this kind of problem.
-You can find more technical information about <option>harddup</option>
-in the section
-<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link>
-or in the manual page.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-output-srate">
-<title>Sample Rate Conversion</title>
-
-<para>
-If the audio sample rate in the original file is not the same as
-required by the target format, sample rate conversion is required.
-This is achieved using the <option>-srate</option> option and
-the <option>-af lavcresample</option> audio filter together.
-</para>
-
-<para>
-DVD:
-<screen>-srate 48000 -af lavcresample=48000</screen>
-</para>
-
-<para>
-VCD and SVCD:
-<screen>-srate 44100 -af lavcresample=44100</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-lavc">
-<title>Using libavcodec for VCD/SVCD/DVD Encoding</title>
-
-<sect3 id="menc-feat-vcd-dvd-lavc-intro">
-<title>Introduction</title>
-
-<para>
-<systemitem class="library">libavcodec</systemitem> can be used to
-create VCD/SVCD/DVD compliant video by using the appropriate options.
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-options">
-<title>lavcopts</title>
-
-<para>
-This is a list of fields in <option>-lavcopts</option> that you may
-be required to change in order to make a complaint movie for VCD, SVCD,
-or DVD:
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">acodec</emphasis>:
- <option>mp2</option> for VCD, SVCD, or PAL DVD;
- <option>ac3</option> is most commonly used for DVD.
- PCM audio may also be used for DVD, but this is mostly a big waste of
- space.
- Note that MP3 audio is not compliant for any of these formats, but
- players often have no problem playing it anyway.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">abitrate</emphasis>:
- 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly
- used values range from 192 kbps for stereo to 384 kbps for 5.1 channel
- sound.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vcodec</emphasis>:
- <option>mpeg1video</option> for VCD;
- <option>mpeg2video</option> for SVCD;
- <option>mpeg2video</option> is usually used for DVD but you may also use
- <option>mpeg1video</option> for CIF resolutions.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">keyint</emphasis>:
- Used to set the GOP size.
- 18 for 30fps material, or 15 for 25/24 fps material.
- Commercial producers seem to prefer keyframe intervals of 12.
- It is possible to make this much larger and still retain compatibility
- with most players.
- A <option>keyint</option> of 25 should never cause any problems.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_buf_size</emphasis>:
- 327 for VCD, 917 for SVCD, and 1835 for DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_minrate</emphasis>:
- 1152, for VCD. May be left alone for SVCD and DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vrc_maxrate</emphasis>:
- 1152 for VCD; 2500 for SVCD; 9800 for DVD.
- For SVCD and DVD, you might wish to use lower values depending on your
- own personal preferences and requirements.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vbitrate</emphasis>:
- 1152 for VCD;
- up to 2500 for SVCD;
- up to 9800 for DVD.
- For the latter two formats, vbitrate should be set based on personal
- preference.
- For instance, if you insist on fitting 20 or so hours on a DVD, you
- could use vbitrate=400.
- The resulting video quality would probably be quite bad.
- If you are trying to squeeze out the maximum possible quality on a DVD,
- use vbitrate=9800, but be warned that this could constrain you to less
- than an hour of video on a single-layer DVD.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">vstrict</emphasis>:
- <option>vstrict</option>=0 should be used to create DVDs.
- Without this option, <application>MEncoder</application> creates a
- stream that cannot be correctly decoded by some standalone DVD
- players.
-</para></listitem>
-</itemizedlist>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-examples">
-<title>Examples</title>
-
-<para>
-This is a typical minimum set of <option>-lavcopts</option> for
-encoding video:
-</para>
-<para>
-VCD:
-<screen>
--lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
-vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-SVCD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
-keyint=15:acodec=mp2
-</screen>
-</para>
-
-<para>
-DVD:
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
-<title>Advanced Options</title>
-
-<para>
-For higher quality encoding, you may also wish to add quality-enhancing
-options to lavcopts, such as <option>trell</option>,
-<option>mbd=2</option>, and others.
-Note that <option>qpel</option> and <option>v4mv</option>, while often
-useful with MPEG-4, are not usable with MPEG-1 or MPEG-2.
-Also, if you are trying to make a very high quality DVD encode, it may
-be useful to add <option>dc=10</option> to lavcopts.
-Doing so may help reduce the appearance of blocks in flat-colored areas.
-Putting it all together, this is an example of a set of lavcopts for a
-higher quality DVD:
-</para>
-
-<para>
-<screen>
--lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
-keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
-vqmin=1:lmin=1:dc=10:vstrict=0
-</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-audio">
-<title>Encoding Audio</title>
-
-<para>
-VCD and SVCD support MPEG-1 layer II audio, using one of
-<systemitem class="library">toolame</systemitem>,
-<systemitem class="library">twolame</systemitem>,
-or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder.
-The libavcodec MP2 is far from being as good as the other two libraries,
-however it should always be available to use.
-VCD only supports constant bitrate audio (CBR) whereas SVCD supports
-variable bitrate (VBR), too.
-Be careful when using VBR because some bad standalone players might not
-support it too well.
-</para>
-
-<para>
-For DVD audio, <systemitem class="library">libavcodec</systemitem>'s
-AC-3 codec is used.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-toolame">
-<title>toolame</title>
-
-<para>
-For VCD and SVCD:
-<screen>-oac toolame -toolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-twolame">
-<title>twolame</title>
-
-<para>
-For VCD and SVCD:
-<screen>-oac twolame -twolameopts br=224</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-audio-lavc">
-<title>libavcodec</title>
-
-<para>
-For DVD with 2 channel sound:
-<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
-</para>
-
-<para>
-For DVD with 5.1 channel sound:
-<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
-</para>
-
-<para>
-For VCD and SVCD:
-<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
-</para>
-</sect3>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="menc-feat-vcd-dvd-all">
-<title>Putting it all Together</title>
-
-<para>
-This section shows some complete commands for creating VCD/SVCD/DVD
-compliant videos.
-</para>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
-<title>PAL DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
-<title>NTSC DVD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
-<title>PAL AVI Containing AC-3 Audio to DVD</title>
-
-<para>
-If the source already has AC-3 audio, use -oac copy instead of re-encoding it.
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
- -vf scale=720:576,harddup -ofps 25 \
- -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
-keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
-<title>NTSC AVI Containing AC-3 Audio to DVD</title>
-
-<para>
-If the source already has AC-3 audio, and is NTSC @ 24000/1001 fps:
-<screen>
-mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
- -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
- vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
-<title>PAL SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
- </screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
-<title>NTSC SVCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
- scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
-vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
-<title>PAL VCD</title>
-
-<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-</sect3>
-
-
-<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
-<title>NTSC VCD</title>
-
<para>
-<screen>
-mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
- scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
- vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
-vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
- -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
-</screen>
+OUTDATED CONTENT REMOVED
</para>
-</sect3>
-</sect2>
-</sect1>
</chapter>
diff --git a/DOCS/xml/en/faq.xml b/DOCS/xml/en/faq.xml
index ea54989b8c..13ba61c3e9 100644
--- a/DOCS/xml/en/faq.xml
+++ b/DOCS/xml/en/faq.xml
@@ -13,8 +13,7 @@
How do I create a proper patch for <application>MPlayer</application>?
</para></question>
<answer><para>
-We made a <ulink url="../../tech/patches.txt">short document</ulink>
-describing all the necessary details. Please follow the instructions.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -23,10 +22,7 @@ describing all the necessary details. Please follow the instructions.
How do I translate <application>MPlayer</application> to a new language?
</para></question>
<answer><para>
-Read the <ulink url="../../tech/translations.txt">translation HOWTO</ulink>,
-it should explain everything. You can get further help on the
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-translations">MPlayer-translations</ulink>
-mailing list.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -35,9 +31,7 @@ mailing list.
How can I support <application>MPlayer</application> development?
</para></question>
<answer><para>
-We are more than happy to accept your hardware and software
-<ulink url="http://www.mplayerhq.hu/donations.html">donations</ulink>.
-They help us in continuously improving <application>MPlayer</application>.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -46,14 +40,7 @@ They help us in continuously improving <application>MPlayer</application>.
How can I become an <application>MPlayer</application> developer?
</para></question>
<answer><para>
-We always welcome coders and documenters. Read the
-<ulink url="../../tech/">technical documentation</ulink>
-to get a first grasp. Then you should subscribe to the
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
-mailing list and start coding. If you want to help out with the documentation,
-join the
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>
-mailing list.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -99,8 +86,7 @@ stable, or upgrade frequently.
Are there binary (RPM/Debian) packages of <application>MPlayer</application>?
</para></question>
<answer><para>
-See the <link linkend="debian">Debian</link> and <link linkend="rpm">RPM</link>
-section for details.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -109,31 +95,7 @@ section for details.
How can I build a 32 bit <application>MPlayer</application> on a 64 bit Athlon?
</para></question>
<answer><para>
-Try the following configure options:
-<screen>
-./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Configure ends with this text, and <application>MPlayer</application> won't compile!
-<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
-</para></question>
-<answer><para>
-Your gcc isn't installed correctly, check the <filename>config.log</filename>
-file for details.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-I have a Matrox G200/G400/G450/G550, how do I compile/use the
-<systemitem>mga_vid</systemitem> driver?
-</para></question>
-<answer><para>
-Read the <link linkend="mga_vid">mga_vid</link> section.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -153,52 +115,6 @@ It's called <filename>XFree86-devel*</filename> under Red Hat,
</para></answer>
</qandaentry>
-<qandaentry>
-<question><para>
-Building on Mac OS 10.3 leads to several link errors.
-</para></question>
-<answer>
-<para>
-The link error you're experiencing most likely looks like this:
-<screen>
-ld: Undefined symbols:
-_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
-_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
-</screen>
-This problem is the result of Apple developers using 10.4 to compile
-their software and distributing the binaries to 10.3 users via
-Software Update.
-The undefined symbols are present in Mac OS 10.4,
-but not 10.3.
-One solution can be to downgrade to QuickTime 7.0.1.
-Here is a better solution.
-</para>
-<para>
-Get an
-<ulink url="http://rapidshare.de/files/20281171/CompatFrameworks.tgz.html">older copy of the frameworks</ulink>.
-This will give you a compressed file that contains the QuickTime
-7.0.1 Framework and a 10.3.9 QuartzCore Framework.
-</para>
-<para>
-Uncompress the files somewhere that is not in your System folder.
-(i.e. do not install these frameworks into your
-<filename class="directory">/System/Library/Frameworks</filename>!
-Using this older copy is only meant to get around link errors!)
-<screen>gunzip &lt; CompatFrameworks.tgz | tar xvf -</screen>
-In config.mak, you should append
-<systemitem>-F/path/to/where/you/extracted</systemitem>
-to the <systemitem>OPTFLAGS</systemitem> variable.
-If you use <application>X-Code</application>, you can just select these
-frameworks instead of the system ones.
-</para>
-<para>
-The resulting <application>MPlayer</application> binary will actually
-use the framework that is installed on your system via dynamic links that
-are resolved at run-time.
-(You can verify this using <systemitem>otool -l</systemitem>).
-</para>
-</answer>
-</qandaentry>
</qandadiv>
<!-- ********** -->
@@ -211,9 +127,7 @@ are resolved at run-time.
Are there any mailing lists on <application>MPlayer</application>?
</para></question>
<answer><para>
-Yes. Look at the
-<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">mailing lists section</ulink>
-of our homepage.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -223,31 +137,7 @@ I've found a nasty bug when I tried to play my favorite video!
Who should I inform?
</para></question>
<answer><para>
-Please read the <link linkend="bugreports">bug reporting guidelines</link>
-and follow the instructions.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-I get a core dump when trying to dump streams, what's wrong?
-</para></question>
-<answer><para>
-Don't panic. Make sure you know where your towel is.</para>
-<para>
-Seriously, notice the smiley and start looking for files that end in
-<filename>.dump</filename>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-When I start playing, I get this message but everything seems fine:
-<screen>Linux RTC init: ioctl (rtc_pie_on): Permission denied</screen>
-</para></question>
-<answer><para>
-You need a specially set up kernel to use the RTC timing code.
-For details see the <link linkend="rtc">RTC</link> section of the documentation.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -352,8 +242,7 @@ There are error messages about file not found
<filename>/usr/local/lib/codecs/</filename> ...
</para></question>
<answer><para>
-Download and install the binary codecs from our
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">download page</ulink>.
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -364,21 +253,8 @@ use for a particular file, e.g. <filename>movie.avi</filename>?
</para></question>
<answer><para>
Create a file named <filename>movie.avi.conf</filename> with the file-specific
-options in it and put it in <filename class="directory">~/.mplayer</filename>
-or in the same directory as the file.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Subtitles are very nice, the most beautiful I've ever seen, but they
-slow down playing! I know it's unlikely ...
-</para></question>
-<answer><para>
-After running <filename>./configure</filename>,
-edit <filename>config.h</filename> and replace
-<systemitem>#undef FAST_OSD</systemitem> with
-<systemitem>#define FAST_OSD</systemitem>. Then recompile.
+options in it and put it in <filename class="directory">~/.mplayer</filename>.
+Also see the manpage about <option>-use-filedir-conf</option>.
</para></answer>
</qandaentry>
@@ -389,7 +265,7 @@ How can I run <application>MPlayer</application> in the background?
<answer><para>
Use:
<screen>
-mplayer <replaceable>options</replaceable> <replaceable>filename</replaceable> &lt; /dev/null &amp;
+OUTDATED CONTENT REMOVED
</screen>
</para></answer>
</qandaentry>
@@ -424,10 +300,7 @@ system, you should remove it now.
How can I get subtitles to appear on the black margins around a movie?
</para></question>
<answer><para>
-Use the <systemitem>expand</systemitem> video filter to increase the
-area onto which the movie is rendered vertically and place the movie
-at the top border, for example:
-<screen>mplayer -vf expand=0:-100:0:0 -slang de dvd://1</screen>
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -453,15 +326,6 @@ mplayer -vo null -ao null -frames 0 -v <replaceable>filename</replaceable> | gre
<qandaentry>
<question><para>
-I'm trying to play a random stream off the internet but it fails.
-</para></question>
-<answer><para>
-Try playing the stream with the <option>-playlist</option> option.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
I downloaded a movie off a P2P network and it doesn't work!
</para></question>
<answer><para>
@@ -476,68 +340,7 @@ a friend, and he says it works, try comparing
I'm having trouble getting my subtitles to display, help!!
</para></question>
<answer><para>
-Make sure you have installed fonts properly. Run through the steps in the
-<link linkend="fonts-osd">Fonts and OSD</link> part of the installation
-section again. If you are using TrueType fonts, verify that you have the
-<systemitem class="library">FreeType</systemitem> library installed.
-Other things include checking your subtitles in a text editor or with other
-players. Also try converting them to another format.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Why doesn't <application>MPlayer</application> work on Fedora Core?
-</para></question>
-<answer><para>
-There is a bad interaction on Fedora between exec-shield,
-prelink, and any applications which use Windows DLLs
-(such as <application>MPlayer</application>).
-</para>
-<para>
-The problem is that exec-shield randomizes the load addresses of all the
-system libraries. This randomization happens at prelink time (once every
-two weeks).
-</para>
-<para>
-When <application>MPlayer</application> tries to load a Windows DLL it
-wants to put it at a specific address (0x400000). If an important system
-library happens to be there already, <application>MPlayer</application>
-will crash.
-(A typical symptom would be a segmentation fault when trying
-to play Windows Media 9 files.)
-</para>
-<para>
-If you run into this problem you have two options:
-<itemizedlist>
-<listitem><para>
- Wait two weeks. It might start working again.
-</para></listitem>
-<listitem><para>
- Relink all the binaries on the system with different
- prelink options. Here are step by step instructions:
- </para>
- <procedure>
- <step><para>
- Edit <filename>/etc/syconfig/prelink</filename> and change
- <programlisting>PRELINK_OPTS=-mR</programlisting> to
- <programlisting>PRELINK_OPTS="-mR --no-exec-shield"</programlisting>
- </para></step>
- <step><para>
- <command>touch /var/lib/misc/prelink.force</command>
- </para></step>
- <step><para>
- <command>/etc/cron.daily/prelink</command>
- (This relinks all the applications, and it takes quite a while.)
- </para></step>
- <step><para>
- <command>execstack -s <replaceable>/path/to/</replaceable>mplayer</command>
- (This turns off exec-shield for the
- <application>MPlayer</application> binary.)
- </para></step>
- </procedure>
-</listitem>
-</itemizedlist>
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -549,7 +352,7 @@ If you run into this problem you have two options:
<answer><para>
Don't use <application>MPlayer</application> on a CPU different from the one
it was compiled on or recompile with runtime CPU detection
-(<command>./configure --enable-runtime-cpudetection</command>).
+OUTDATED CONTENT REMOVED
</para></answer>
</qandaentry>
@@ -567,35 +370,6 @@ default YV12 (see the <link linkend="tv-input">TV</link> section).
<qandaentry>
<question><para>
-I get very strange percentage values (way too big)
-while playing files on my notebook.
-</para></question>
-<answer><para>
-It's an effect of the power management / power saving system of your notebook
-(BIOS, not kernel). Plug the external power connector in
-<emphasis role="bold">before</emphasis> you power on your notebook. You can
-also try whether
-<ulink url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html">cpufreq</ulink>
-(a SpeedStep interface for Linux) helps you.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-The audio/video gets totally out of sync when I run
-<application>MPlayer</application> as
-<systemitem class="username">root</systemitem> on my notebook.
-It works normal when i run it as a user.
-</para></question>
-<answer><para>
-This is again a power management effect (see above). Plug the external power
-connector in <emphasis role="bold">before</emphasis> you power on your notebook
-or make sure you do not use the <option>-rtc</option> option.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
While playing a movie it suddenly gets jerky and I get the following message:
<screen>Badly interleaved AVI file detected - switching to -ni mode...</screen>
</para></question>
@@ -662,18 +436,6 @@ Also try experimenting with the <option>-fstype</option> option.
<qandaentry>
<question><para>
-Audio goes out of sync playing an AVI file.
-</para></question>
-<answer><para>
-Try the <option>-bps</option> or <option>-nobps</option> option. If it does not
-improve, read the
-<link linkend="bugreports">bug reporting guidelines</link>
-and upload the file to FTP.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
How can I use <application>dmix</application> with
<application>MPlayer</application>?
</para></question>
@@ -735,41 +497,6 @@ try to play a file which has 22050Hz audio. Try the
<qandaentry>
<question><para>
-When I play this movie I get video-audio desync and/or
-<application>MPlayer</application> crashes with the following message:
-<screen>
-Too many (945 in 8390980 bytes) video packets in the buffer!
-</screen>
-</para></question>
-<answer><para>
-This can have multiple reasons.
-<itemizedlist>
-<listitem><para>
- Your CPU <emphasis>and/or</emphasis> video card <emphasis>and/or</emphasis>
- bus is too slow. <application>MPlayer</application> displays a message if
- this is the case (and the dropped frames counter goes up fast).
-</para></listitem>
-<listitem><para>
- If it is an AVI, maybe it has bad interleaving, try the
- <option>-ni</option> option to work around this.
- Or it may have a bad header, in this case <option>-nobps</option>
- and/or <option>-mc 0</option> can help.
-</para></listitem>
-<listitem><para>
- Many FLV files will only play correctly with <option>-correct-pts</option>.
- Unfortunately <application>MEncoder</application> does not have this option,
- but you can try setting <option>-fps</option> to the correct value manually
- if you know it.
-</para></listitem>
-<listitem><para>
- Your sound driver is buggy.
-</para></listitem>
-</itemizedlist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
How can I get rid of A/V desynchronization
while seeking through RealMedia streams?
</para></question>
@@ -872,25 +599,14 @@ mplayer dvd://1 -dvd-device <replaceable>/path/to/directory</replaceable>
<qandaentry>
<question><para>
-If <application>MPlayer</application> is paused and I try to seek or press any
-key at all, <application>MPlayer</application> ceases to be paused.
-I would like to be able to seek in the paused movie.
-</para></question>
-<answer><para>
-This is very tricky to implement without losing A/V synchronization.
-All attempts have failed so far, but patches are welcome.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
I'd like to seek +/- 1 frame instead of 10 seconds.
</para></question>
<answer><para>
You can step forward one frame by pressing <keycap>.</keycap>.
If the movie was not paused it will be paused afterwards
(see the man page for details).
-Stepping backwards is unlikely to be implemented anytime soon.
+Stepping backwards is not currently implemented, but note that you can make
+small seeks using the <option>-hr-seek</option> functionality.
</para></answer>
</qandaentry>
</qandadiv>
@@ -900,332 +616,9 @@ Stepping backwards is unlikely to be implemented anytime soon.
<qandadiv id="faq-encoding">
<title>Encoding</title>
-<qandaentry>
-<question><para>
-How can I encode?
-</para></question>
-<answer><para>
-Read the <link linkend="mencoder"><application>MEncoder</application></link>
-section.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I dump a full DVD title into a file?
-</para></question>
-<answer><para>
-Once you have selected your title, and made sure it plays fine with
-<application>MPlayer</application>, use the option <option>-dumpstream</option>.
-For example:
-<screen>
-mplayer dvd://5 -dumpstream -dumpfile <replaceable>dvd_dump.vob</replaceable>
-</screen>
-will dump the 5th title of the DVD into the file
-<replaceable>dvd_dump.vob</replaceable>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I create (S)VCDs automatically?
-</para></question>
-<answer><para>
-Try the <filename>mencvcd.sh</filename> script from the
-<filename class="directory">TOOLS</filename> subdirectory.
-With it you can encode DVDs or other movies to VCD or SVCD format
-and even burn them directly to CD.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I create (S)VCDs?
-</para></question>
-<answer><para>
-Newer versions of <application>MEncoder</application> can directly
-generate MPEG-2 files that can be used as a base to create a VCD or SVCD and
-are likely to be playable out of the box on all platforms (for example,
-to share a video from a digital camcorder with your computer-illiterate
-friends).
-Please read
-<link linkend="menc-feat-vcd-dvd">Using MEncoder to create VCD/SVCD/DVD-compliant files</link>
-for more details.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I join two video files?
-</para></question>
-<answer><para>
-MPEG files can be concatenated into a single file with luck.
-For AVI files, you can use <application>MEncoder</application>'s
-multiple file support like this:
-<screen>
-mencoder -ovc copy -oac copy -o <replaceable>out.avi</replaceable> <replaceable>file1.avi</replaceable> <replaceable>file2.avi</replaceable>
-</screen>
-This will only work if the files are of the same resolution
-and use the same codec.
-You can also try
-<ulink url="http://fixounet.free.fr/avidemux/">avidemux</ulink> and
-<application>avimerge</application> (part of the
-<ulink url="http://www.transcoding.org/">transcode</ulink>
-tool set).
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I fix AVI files with a broken index or bad interleaving?
-</para></question>
-<answer><para>
-To avoid having to use <option>-idx</option> to be able to seek in
-AVI files with a broken index or <option>-ni</option> to play AVI
-files with bad interleaving, use the command
-<screen>
-mencoder <replaceable>input.avi</replaceable> -idx -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-to copy the video and audio streams into a new AVI file while
-regenerating the index and correctly interleaving the data.
-Of course this cannot fix possible bugs in the video and/or audio streams.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I fix the aspect ratio of an AVI file?
-</para></question>
-<answer><para>
-You can do such a thing thanks to <application>MEncoder</application>'s
-<option>-force-avi-aspect</option> option, which overrides the aspect
-stored in the AVI OpenDML vprp header option. For example:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -ovc copy -oac copy -o <replaceable>output.avi</replaceable> -force-avi-aspect 4/3
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I backup and encode a VOB file with a broken beginning?
-</para></question>
-<answer><para>
-The main problem when you want to encode a VOB file which is corrupted
-<footnote id='fn-corrupted-files-or-copy-protection'><para>
-To some extent, some forms of copy protection used in DVDs can be
-assumed to be content corruption.
-</para></footnote>
-is that it will be hard to get an encode with perfect A/V sync.
-One workaround is to just shave off the corrupted part and encode just the
-clean part.
-First you need to find where the clean part starts:
-<screen>
-mplayer <replaceable>input.vob</replaceable> -sb <replaceable>nb_of_bytes_to_skip</replaceable>
-</screen>
-Then you can create a new file which contains just the clean part:
-<screen>
-dd if=<replaceable>input.vob</replaceable> of=<replaceable>output_cut.vob</replaceable> skip=1 ibs=<replaceable>nb_of_bytes_to_skip</replaceable>
-</screen>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-I can't encode DVD subtitles into the AVI!
-</para></question>
-<answer><para>
-You have to properly specify the <option>-sid</option> option.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I encode only selected chapters from a DVD?
-</para></question>
-<answer><para>
-Use the <option>-chapter</option> option correctly,
-like: <option>-chapter 5-7</option>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-I'm trying to work with 2GB+ files on a VFAT file system. Does it work?
-</para></question>
-<answer><para>
-No, VFAT doesn't support 2GB+ files.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-What is the meaning of the numbers on the status line
-during the encoding process?
-</para></question>
-<answer><para>
-Example:
-<screen>
-Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2126:192]
-</screen>
-<variablelist>
- <varlistentry>
- <term><systemitem>Pos: 264.5s</systemitem></term>
- <listitem><para>time position in the encoded stream</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>6612f</systemitem></term>
- <listitem><para>number of video frames encoded</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>( 2%)</systemitem></term>
- <listitem><para>portion of the input stream encoded</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>7.12fps</systemitem></term>
- <listitem><para>encoding speed</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>Trem: 576min</systemitem></term>
- <listitem><para>estimated remaining encoding time</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>2856mb</systemitem></term>
- <listitem><para>estimated size of the final encode</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>A-V:0.065</systemitem></term>
- <listitem><para>current delay between audio and video streams</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><systemitem>[2126:192]</systemitem></term>
- <listitem><para>
- average video bitrate (in kb/s) and average audio bitrate (in kb/s)
- </para></listitem>
-</varlistentry>
-</variablelist>
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Why is the recommended bitrate printed by <application>MEncoder</application>
-negative?
-</para></question>
-<answer><para>
-Because the bitrate you encoded the audio with is too large to fit the
-movie on any CD. Check if you have libmp3lame installed properly.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-I can't encode an ASF file to AVI/MPEG-4 (DivX) because it uses 1000 fps.
-</para></question>
-<answer><para>
-Since ASF uses variable framerate but AVI uses a fixed one, you
-have to set it by hand with the <option>-ofps</option> option.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I put subtitles in the output file?
-</para></question>
-<answer><para>
-Just pass the <option>-sub &lt;filename&gt;</option> (or <option>-sid</option>,
-respectively) option to <application>MEncoder</application>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How do I encode only sound from a music video?
-</para></question>
-<answer><para>
-It's not possible directly, but you can try this (note the
-<emphasis role="bold">&amp;</emphasis> at the end of
-<command>mplayer</command> command):
-<screen>
-mkfifo <replaceable>encode</replaceable>
-mplayer -ao pcm -aofile <replaceable>encode</replaceable> dvd://1 &amp;
-lame <replaceable>your_opts</replaceable> <replaceable>encode</replaceable> <replaceable>music.mp3</replaceable>
-rm <replaceable>encode</replaceable>
-</screen>
-This allows you to use any encoder, not only <application>LAME</application>,
-just replace <command>lame</command> with your favorite audio encoder in the
-above command.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-Why do third-party players fail to play MPEG-4 movies encoded by
-<application>MEncoder</application> versions later than 1.0pre7?
-</para></question>
-<answer><para>
-<systemitem class="library">libavcodec</systemitem>, the native MPEG-4
-encoding library usually shipped with <application>MEncoder</application>,
-used to set the FourCC to 'DIVX' when encoding MPEG-4 videos
-(the FourCC is an AVI tag to identify the software used to encode and
-the intended software to use for decoding the video).
-This led many people to think that
-<systemitem class="library">libavcodec</systemitem>
-was a DivX encoding library, when in fact it is a completely different
-MPEG-4 encoding library which implements the MPEG-4 standard much
-better than DivX does.
-Therefore, the new default FourCC used by
-<systemitem class="library">libavcodec</systemitem> is 'FMP4', but you
-may override this behavior using <application>MEncoder</application>'s
-<option>-ffourcc</option> option.
-You may also change the FourCC of existing files in the same way:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -ffourcc XVID
-</screen>
-Note that this will set the FourCC to XVID rather than DIVX.
-This is recommended as DIVX FourCC means DivX4, which is a very basic
-MPEG-4 codec, whereas DX50 and XVID both mean full MPEG-4 (ASP).
-Therefore, if you change the FourCC to DIVX, some bad software or
-hardware players may choke on some advanced features that
-<systemitem class="library">libavcodec</systemitem> supports, but DivX
-doesn't; on the other hand <systemitem class="library">Xvid</systemitem>
-is closer to <systemitem class="library">libavcodec</systemitem> in
-terms of functionality, and is supported by all decent players.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I encode an audio only file?
-</para></question>
-<answer><para>
-Use <filename>aconvert.sh</filename> from the
-<filename class="directory">TOOLS</filename>
-subdirectory in the MPlayer source tree.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-How can I play subtitles embedded in AVI?
-</para></question>
-<answer><para>
-Use <filename>avisubdump.c</filename> from the
-<filename class="directory">TOOLS</filename> subdirectory or read
-<ulink url="http://xlife.zuavra.net/curse/0012/">this document about extracting/demultiplexing subtitles embedded in OpenDML AVI files</ulink>.
-</para></answer>
-</qandaentry>
-
-<qandaentry>
-<question><para>
-MEncoder won't...
-</para></question>
-<answer><para>
-Have a look at the <filename class="directory">TOOLS</filename>
-subdirectory for a collection of random scripts and hacks.
-<filename>TOOLS/README</filename> contains documentation.
-</para></answer>
-</qandaentry>
+<para>
+OUTDATED CONTENT REMOVED
+</para>
</qandadiv>
</qandaset>
diff --git a/DOCS/xml/en/install.xml b/DOCS/xml/en/install.xml
index 1ab56f1cc4..68f8020ab2 100644
--- a/DOCS/xml/en/install.xml
+++ b/DOCS/xml/en/install.xml
@@ -24,77 +24,9 @@ answers.
<sect1 id="softreq">
<title>Software requirements</title>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">POSIX system</emphasis> - You need a POSIX-compatible
- shell and POSIX-compatible system tools like grep, sed, awk, etc. in your
- path.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">GNU make</emphasis> 3.81 or later
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">binutils</emphasis> - GNU binutils 2.11 or later
- is known to work.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">compiler</emphasis> - We mostly use gcc, the
- recommended versions on x86 are 2.95 and 3.4+. On PowerPC, use 4.x+.
- icc 10.1+ is also known to work.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Xorg/XFree86</emphasis> - recommended version is
- 4.3 or later. Make sure the
- <emphasis role="bold">development packages</emphasis> are installed,
- too, otherwise it won't work.
- You don't absolutely need X, some video output drivers work without it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">FreeType</emphasis> - 2.0.9 or later is required
- for the OSD and subtitles
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ALSA</emphasis> - optional, for ALSA audio output
- support. At least 0.9.0rc4 is required.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libjpeg</emphasis> -
- required for the optional JPEG video output driver
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libpng</emphasis> -
- required for the optional PNG video output driver
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">directfb</emphasis> - optional, 0.9.22 or later
- required for the directfb/dfbmga video output drivers
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">lame</emphasis> - 3.90 or later is recommended,
- necessary for encoding MP3 audio with <application>MEncoder</application>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">zlib</emphasis> - recommended, many codecs use it.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink></emphasis>
- - optional, needed for some RTSP/RTP streams
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">cdparanoia</emphasis> - optional, for CDDA support
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libxmms</emphasis> - optional, for XMMS input plugin
- support. At least 1.2.7 is required.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">libsmb</emphasis> - optional, for SMB networking support
-</para></listitem>
-<listitem><para>
- <emphasis role="bold"><ulink url="http://www.underbit.com/products/mad/">libmad</ulink></emphasis>
- - optional, for fast integer-only MP3 decoding on FPU-less platforms
-</para></listitem>
-</itemizedlist>
+<para>
+OUTDATED CONTENT REMOVED
+</para>
</sect1>
@@ -104,71 +36,8 @@ answers.
<sect1 id="features">
<title>Features</title>
-<itemizedlist>
-<listitem><para>
- If you want to install <application>MEncoder</application> (our great
- all-purpose encoder), see the
- <link linkend="mencoder"><application>MEncoder</application></link> section.
-</para></listitem>
-<listitem><para>
- If you have a V4L compatible <emphasis role="bold">TV tuner</emphasis> card,
- and wish to watch/grab and encode movies with
- <application>MPlayer</application>,
- read the <link linkend="tv-input">TV input</link> section.
-</para></listitem>
-<listitem><para>
- If you have a V4L compatible <emphasis role="bold">radio tuner</emphasis>
- card, and wish to listen and capture sound with
- <application>MPlayer</application>,
- read the <link linkend="radio">radio</link> section.
-</para></listitem>
-<listitem><para>
- There is a neat <emphasis role="bold">OSD Menu</emphasis> support ready to be
- used. Check the <link linkend="subosd">OSD menu</link> section.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Then build <application>MPlayer</application>:
-<screen>
-./configure
-make
-make install
-</screen>
-</para>
-
-<para>
-At this point, <application>MPlayer</application> is ready to use.
-Check if you have a <filename>codecs.conf</filename> file in your home
-directory at (<filename>~/.mplayer/codecs.conf</filename>) left from old
-<application>MPlayer</application> versions. If you find one, remove it.
-</para>
-
<para>
-Debian users can build a .deb package for themselves, it's very simple.
-Just exec
-<screen>fakeroot debian/rules binary</screen>
-in <application>MPlayer</application>'s root directory. See
-<link linkend="debian">Debian packaging</link> for detailed instructions.
-</para>
-
-<para>
-<emphasis role="bold">Always browse the output of</emphasis>
-<filename>./configure</filename>, and the
-<filename>config.log</filename> file, they contain information about
-what will be built, and what will not. You may also want to view
-<filename>config.h</filename> and <filename>config.mak</filename> files.
-If you have some libraries installed, but not detected by
-<filename>./configure</filename>, then check if you also have the proper
-header files (usually the -dev packages) and their version matches. The
-<filename>config.log</filename> file usually tells you what is missing.
-</para>
-
-<para>
-Though not mandatory, the fonts should be installed in order to gain OSD,
-and subtitle functionality. The recommended method is installing a TTF
-font file and telling <application>MPlayer</application> to use it.
-See the <link linkend="subosd">Subtitles and OSD</link> section for details.
+OUTDATED CONTENT REMOVED
</para>
</sect1>
@@ -195,136 +64,9 @@ frontends page</ulink> for a list of existing GUIs.
<title>Fonts and OSD</title>
<para>
-You need to tell <application>MPlayer</application> which font to use to
-enjoy OSD and subtitles. Any TrueType font or special bitmap fonts will
-work. However, TrueType fonts are recommended as they look far better,
-can be properly scaled to the movie size and cope better with different
-encodings.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="truetype-fonts">
-<title>TrueType fonts</title>
-
-<para>
-There are two ways to get TrueType fonts to work. The first is to pass
-the <option>-font</option> option to specify a TrueType font file on
-the command line. This option will be a good candidate to put in your
-configuration file (see the manual page for details).
-The second is to create a symlink called <filename>subfont.ttf</filename>
-to the font file of your choice. Either
-<screen>
-ln -s <replaceable>/path/to/sample_font.ttf</replaceable> ~/.mplayer/subfont.ttf
-</screen>
-for each user individually or a system-wide one:
-<screen>
-ln -s <replaceable>/path/to/sample_font.ttf</replaceable> $PREFIX/share/mplayer/subfont.ttf
-</screen>
-</para>
-
-<para>
-If <application>MPlayer</application> was compiled with
-<systemitem class="library">fontconfig</systemitem> support, the above methods
-won't work, instead <option>-font</option> expects a
-<systemitem class="library">fontconfig</systemitem> font name
-and defaults to the sans-serif font. Example:
-<screen>
-mplayer -font <replaceable>'Bitstream Vera Sans'</replaceable> <replaceable>anime.mkv</replaceable>
-</screen>
-</para>
-
-<para>
-To get a list of fonts known to
-<systemitem class="library">fontconfig</systemitem>,
-use <command>fc-list</command>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="bitmap-fonts">
-<title>bitmap fonts</title>
-
-<para>
-If for some reason you wish or need to employ bitmap fonts, download a set
-from our homepage. You can choose between various
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/fonts/">ISO fonts</ulink>
-and some sets of fonts
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/fonts/">contributed by users</ulink>
-in various encodings.
-</para>
-
-<para>
-Uncompress the file you downloaded to
-<filename class="directory">~/.mplayer</filename> or
-<filename class="directory">$PREFIX/share/mplayer</filename>.
-Then rename or symlink one of the extracted directories to
-<filename class="directory">font</filename>, for example:
-<screen>
-ln -s <replaceable>~/.mplayer/arial-24</replaceable> ~/.mplayer/font
-</screen>
-<screen>
-ln -s <replaceable>$PREFIX/share/mplayer/arial-24</replaceable> $PREFIX/share/mplayer/font
-</screen>
-</para>
-
-<para>
-Fonts should have an appropriate <filename>font.desc</filename> file
-which maps Unicode font positions to the actual code page of the
-subtitle text. Another solution is to have UTF-8-encoded subtitles
-and use the <option>-utf8</option> option or give the subtitles
-file the same name as your video file with a <filename>.utf</filename>
-extension and have it in the same directory as the video file.
+OUTDATED CONTENT REMOVED
</para>
-</sect2>
-
-<!-- ********** -->
-<sect2 id="osdmenu">
-<title>OSD menu</title>
-
-<para>
-<application>MPlayer</application> has a completely user-definable
-OSD Menu interface.
-</para>
-
-<note><para>
-the Preferences menu is currently UNIMPLEMENTED!
-</para></note>
-
-<orderedlist>
-<title>Installation</title>
-<listitem><para>
- compile <application>MPlayer</application> by passing the
- <option>--enable-menu</option> to <filename>./configure</filename>
-</para></listitem>
-<listitem><para>
- make sure you have an OSD font installed
-</para></listitem>
-<listitem><para>
- copy <filename>etc/menu.conf</filename> to your
- <filename class="directory">.mplayer</filename> directory
-</para></listitem>
-<listitem><para>
- copy <filename>etc/input.conf</filename> to your
- <filename class="directory">.mplayer</filename> directory, or to the
- system-wide <application>MPlayer</application> config dir (default:
- <filename class="directory">/usr/local/etc/mplayer</filename>)
-</para></listitem>
-<listitem><para>
- check and edit <filename>input.conf</filename> to enable menu movement keys
- (it is described there).
-</para></listitem>
-<listitem><para>
- start <application>MPlayer</application> by the following example:
- <screen>mplayer -menu <replaceable>file.avi</replaceable></screen>
- </para></listitem>
-<listitem><para>
- push any menu key you defined
-</para></listitem>
-</orderedlist>
-</sect2>
</sect1>
@@ -334,111 +76,9 @@ the Preferences menu is currently UNIMPLEMENTED!
<sect1 id="codec-installation">
<title>Codec installation</title>
-<!-- ********** -->
-
-<sect2 id="xvid">
-<title>Xvid</title>
-
-<para>
-<ulink url="http://www.xvid.org">Xvid</ulink> is a free software MPEG-4 ASP
-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>
-
-<procedure>
-<title>Installing <systemitem class="library">Xvid</systemitem></title>
<para>
- Like most open source software, it is available in two flavors:
- <ulink url="http://www.xvid.org/downloads.html">official releases</ulink>
- and the CVS version.
- The CVS version is usually stable enough to use, as most of the time it
- features fixes for bugs that exist in releases.
- Here is what to do to make <systemitem class="library">Xvid</systemitem>
- CVS work with <application>MEncoder</application>:
+OUTDATED CONTENT REMOVED
</para>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
-</para></step>
-<step><para>
- <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
-</para></step>
-<step><para>
- <screen>cd xvidcore/build/generic</screen>
-</para></step>
-<step><para>
- <screen>./bootstrap.sh &amp;&amp; ./configure</screen>
- You may have to add some options (examine the output of
- <command>./configure --help</command>).
-</para></step>
-<step><para>
- <screen>make &amp;&amp; make install</screen>
-</para></step>
-<step><para>
- Recompile <application>MPlayer</application>.
-</para></step>
-</procedure>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="x264">
-<title><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.
-<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.
-</para>
-
-<para>
-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 &amp;&amp; make &amp;&amp; make install</screen>
-
-Now rerun <filename>./configure</filename> for
-<application>MPlayer</application> to pick up
-<systemitem class="library">x264</systemitem> support.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="amr">
-<title>AMR</title>
-
-<para>
-MPlayer can use the OpenCORE AMR libraries through FFmpeg.
-Download the libraries for AMR-NB and AMR-WB from the
-<ulink url="http://sourceforge.net/projects/opencore-amr/">opencore-amr</ulink>
-project and install them according to the instructions on that page.
-</para>
-</sect2>
-
-<sect2 id="xmms">
-<title>XMMS</title>
-
-<para>
-<application>MPlayer</application> can use <application>XMMS</application> input
-plugins to play many file formats. There are plugins for SNES game tunes, SID
-tunes (from Commodore 64), many Amiga formats, .xm, .it, VQF, Musepack, Bonk,
-shorten and many others. You can find them at the
-<ulink url="http://www.xmms.org/plugins.php?category=input">XMMS input plugin page</ulink>.
-</para>
-
-<para>
-For this feature you need to have <application>XMMS</application> and compile
-<application>MPlayer</application> with
-<filename>./configure --enable-xmms</filename>.
-</para>
-</sect2>
-
</sect1>
@@ -449,46 +89,7 @@ For this feature you need to have <application>XMMS</application> and compile
<title>RTC</title>
<para>
-There are three timing methods in <application>MPlayer</application>.
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">To use the old method</emphasis>, you don't have to do
- anything. It uses <systemitem>usleep()</systemitem> to tune
- A/V sync, with +/- 10ms accuracy. However sometimes the sync has to be
- tuned even finer.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">The new timer</emphasis> code uses the RTC (RealTime
- Clock) for this task, because it has precise 1ms timers.
- The <option>-rtc</option> option enables it,
- but a properly set up kernel is required.
- If you are running kernel 2.4.19pre8 or later you can adjust the maximum RTC
- frequency for normal users through the <systemitem class="systemname">/proc
- </systemitem> file system. Use one of the following two commands to
- enable RTC for normal users:
- <screen>echo 1024 &gt; /proc/sys/dev/rtc/max-user-freq</screen>
- <screen>sysctl dev/rtc/max-user-freq=1024</screen>
- You can make this setting permanent by adding the latter to
- <filename>/etc/sysctl.conf</filename>.
- </para>
- <para>
- You can see the new timer's efficiency in the status line.
- The power management functions of some notebook BIOSes with speedstep CPUs
- interact badly with RTC. Audio and video may get out of sync. Plugging the
- external power connector in before you power up your notebook seems to help.
- In some hardware combinations (confirmed during usage of non-DMA DVD drive
- on an ALi1541 board) usage of the RTC timer causes skippy playback. It's
- recommended to use the third method in these cases.
- </para>
-</listitem>
-<listitem><para>
- <emphasis role="bold">The third timer code</emphasis> is turned on with the
- <option>-softsleep</option> option. It has the efficiency of the RTC, but it
- doesn't use RTC. On the other hand, it requires more CPU.
-</para></listitem>
-</itemizedlist>
+OUTDATED CONTENT REMOVED
</para>
</sect1>
diff --git a/DOCS/xml/en/mencoder.xml b/DOCS/xml/en/mencoder.xml
index a91c422740..344e59c5f1 100644
--- a/DOCS/xml/en/mencoder.xml
+++ b/DOCS/xml/en/mencoder.xml
@@ -4,776 +4,7 @@
<title>Basic usage of <application>MEncoder</application></title>
<para>
-For the complete list of available <application>MEncoder</application> options
-and examples, please see the man page. For a series of hands-on examples and
-detailed guides on using several encoding parameters, read the
-<ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> that were
-collected from several mailing list threads on MPlayer-users. Search the archives
-<ulink url="http://lists.mplayerhq.hu/pipermail/mencoder-users/">here</ulink>
-and especially for older things also
-<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-users/">here</ulink>
-for a wealth of discussions about all aspects of and problems related to
-encoding with <application>MEncoder</application>.
+OUTDATED CONTENT REMOVED
</para>
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-codec">
-<title>Selecting codecs and container formats</title>
-
-<para>
-Audio and video codecs for encoding are selected with the
-<option>-oac</option> and <option>-ovc</option> options, respectively.
-Type for instance:
-<screen>mencoder -ovc help</screen>
-to list all video codecs supported by the version of
-<application>MEncoder</application> on your machine.
-The following choices are available:
-</para>
-
-<para>
-Audio Codecs:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Audio codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>mp3lame</entry>
- <entry>encode to VBR, ABR or CBR MP3 with LAME</entry>
-</row>
-<row>
- <entry>lavc</entry>
- <entry>use one of <link linkend="menc-feat-enc-libavcodec-audio-codecs"><systemitem class="library">libavcodec</systemitem>'s audio codecs</link></entry>
-</row>
-<row>
- <entry>faac</entry>
- <entry>FAAC AAC audio encoder</entry>
-</row>
-<row>
- <entry>toolame</entry>
- <entry>MPEG Audio Layer 2 encoder</entry>
-</row>
-<row>
- <entry>twolame</entry>
- <entry>MPEG Audio Layer 2 encoder based on tooLAME</entry>
-</row>
-<row>
- <entry>pcm</entry>
- <entry>uncompressed PCM audio</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>do not reencode, just copy compressed frames</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Video codecs:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Video codec name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavc</entry>
- <entry>use one of <link linkend="menc-feat-enc-libavcodec-video-codecs"><systemitem class="library">libavcodec</systemitem>'s video codecs</link></entry>
-</row>
-<row>
- <entry>xvid</entry>
- <entry>Xvid, MPEG-4 Advanced Simple Profile (ASP) codec</entry>
-</row>
-<row>
- <entry>x264</entry>
- <entry>x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 codec</entry>
-</row>
-<row>
- <entry>nuv</entry>
- <entry>nuppel video, used by some realtime applications</entry>
-</row>
-<row>
- <entry>raw</entry>
- <entry>uncompressed video frames</entry>
-</row>
-<row>
- <entry>copy</entry>
- <entry>do not reencode, just copy compressed frames</entry>
-</row>
-<row>
- <entry>frameno</entry>
- <entry>used for 3-pass encoding (not recommended)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-</para>
-
-<para>
-Output container formats are selected with the <option>-of</option>
-option.
-Type:
-<screen>mencoder -of help</screen>
-to list all containers supported by the version of
-<application>MEncoder</application> on your machine.
-The following choices are available:
-</para>
-
-<para>
-Container formats:
-<informaltable frame="all">
-<tgroup cols="2">
-<thead>
-<row><entry>Container format name</entry><entry>Description</entry></row>
-</thead>
-<tbody>
-<row>
- <entry>lavf</entry>
- <entry>one of the containers supported by
- <systemitem class="library">libavformat</systemitem></entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>mpeg</entry>
- <entry>MPEG-1 and MPEG-2 PS</entry>
-</row>
-<row>
- <entry>rawvideo</entry>
- <entry>raw video stream (no muxing - one video stream only)</entry>
-</row>
-<row>
- <entry>rawaudio</entry>
- <entry>raw audio stream (no muxing - one audio stream only)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-The AVI container is the native container format for
-<application>MEncoder</application>, which means that it's the one that
-is best handled, and the one for which <application>MEncoder</application>
-was designed.
-As noted above, other container formats are usable, but you may
-experience problems when using them.
-</para>
-
-<para>
-<systemitem class="library">libavformat</systemitem> containers:
-</para>
-
-<para>
-If you selected <systemitem class="library">libavformat</systemitem>
-to do the muxing of the output file (by using the <option>-of lavf</option>),
-the appropriate container format will be determined by the file extension
-of the output file.
-You may force a particular container format with
-<systemitem class="library">libavformat</systemitem>'s
-<option>format</option> option.
-
-<informaltable frame="all">
-<tgroup cols="2">
-<thead><row>
-<entry><systemitem class="library">libavformat</systemitem> container name</entry>
-<entry>Description</entry>
-</row></thead>
-<tbody>
-<row>
- <entry>mpg</entry>
- <entry>MPEG-1 and MPEG-2 PS</entry>
-</row>
-<row>
- <entry>asf</entry>
- <entry>Advanced Streaming Format</entry>
-</row>
-<row>
- <entry>avi</entry>
- <entry>Audio-Video Interleaved</entry>
-</row>
-<row>
- <entry>wav</entry>
- <entry>Waveform Audio</entry>
-</row>
-<row>
- <entry>swf</entry>
- <entry>Macromedia Flash</entry>
-</row>
-<row>
- <entry>flv</entry>
- <entry>Macromedia Flash video</entry>
-</row>
-<row>
- <entry>rm</entry>
- <entry>RealMedia</entry>
-</row>
-<row>
- <entry>au</entry>
- <entry>SUN AU</entry>
-</row>
-<row>
- <entry>nut</entry>
- <entry>NUT open container (experimental and not yet spec-compliant)</entry>
-</row>
-<row>
- <entry>mov</entry>
- <entry>QuickTime</entry>
-</row>
-<row>
- <entry>mp4</entry>
- <entry>MPEG-4 format</entry>
-</row>
-<row>
- <entry>dv</entry>
- <entry>Sony Digital Video container</entry>
-</row>
-<row>
- <entry>mkv</entry>
- <entry>Matroska open audio/video container</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-As you can see, <systemitem class="library">libavformat</systemitem>
-allows <application>MEncoder</application> to mux into a considerable
-variety of containers.
-Unfortunately, as <application>MEncoder</application> was not designed
-from the beginning to support container formats other than AVI,
-your should really be paranoid about the resulting file.
-Please check to be sure that the audio/video synchronization is OK
-and that the file can be played correctly by players other than
-<application>MPlayer</application>.
-</para>
-
-<example id="encode_to_macromedia_flash_format">
-<title>encode to Macromedia Flash format</title>
-<para>
-Creating a Macromedia Flash video suitable for playback in a web browser
-with the Macromedia Flash plugin:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.flv</replaceable> -of lavf \
- -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
- -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
-</screen>
-</para>
-</example>
-
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-selecting-input">
-<title>Selecting input file or device</title>
-
-<para>
-<application>MEncoder</application> can encode from files or directly
-from a DVD or VCD disc.
-Simply include the filename on the command line to encode from a file,
-or <option>dvd://</option><replaceable>titlenumber</replaceable> or
-<option>vcd://</option><replaceable>tracknumber</replaceable> to encode
-from a DVD title or VCD track.
-If you have already copied a DVD to your hard drive (you can use a tool
-such as <application>dvdbackup</application>, available on most systems),
-and wish to encode from the copy, you should still use the
-<option>dvd://</option> syntax, along with <option>-dvd-device</option>
-followed by the path to the copied DVD root.
-
-The <option>-dvd-device</option> and <option>-cdrom-device</option>
-options can also be used to override the paths to the device nodes
-for reading directly from disc, if the defaults of
-<filename>/dev/dvd</filename> and <filename>/dev/cdrom</filename> do
-not work on your system.
-</para>
-
-<para>
-When encoding from DVD, it is often desirable to select a chapter or
-range of chapters to encode.
-You can use the <option>-chapter</option> option for this purpose.
-For example, <option>-chapter</option> <replaceable>1-4</replaceable>
-will only encode chapters 1 through 4 from the DVD.
-This is especially useful if you will be making a 1400 MB encode
-targeted for two CDs, since you can ensure the split occurs exactly
-at a chapter boundary rather than in the middle of a scene.
-</para>
-
-<para>
-If you have a supported TV capture card, you can also encode from the
-TV-in device.
-Use <option>tv://</option><replaceable>channelnumber</replaceable> as
-the filename, and <option>-tv</option> to configure various capture
-settings.
-DVB input works similarly.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg4">
-<title>Encoding two pass MPEG-4 ("DivX")</title>
-
-<para>
-The name comes from the fact that this method encodes the file
-<emphasis>twice</emphasis>. The first encoding (dubbed pass) creates some
-temporary files (<filename>*.log</filename>) with a size of few megabytes, do
-not delete them yet (you can delete the AVI or rather just not create any video
-by redirecting it into <filename>/dev/null</filename>
-or on Windows into <filename>NUL</filename>).
-In the second pass, the two pass output
-file is created, using the bitrate data from the temporary files. The
-resulting file will have much better image quality. If this is the first
-time you heard about this, you should consult some guides available on the
-net.
-</para>
-
-<example id="copy_audio_track">
-<title>copy audio track</title>
-<para>
-Two pass encode of the second track a DVD to an MPEG-4 ("DivX")
-AVI while copying the audio track.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-
-<example id="encode_audio_track">
-<title>encode audio track</title>
-<para>
-Two pass encode of a DVD to an MPEG-4 ("DivX") AVI while encoding
-the audio track to MP3.
-Be careful using this method as it may lead to audio/video desync in
-some cases.
-<screen>
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -oac mp3lame -lameopts vbr=3 -o /dev/null
-mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -oac mp3lame -lameopts vbr=3 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-handheld-psp">
-<title>Encoding to Sony PSP video format</title>
-
-<para>
-<application>MEncoder</application> supports encoding to Sony PSP's video
-format, but, depending on the revision of the PSP software, the constraints
-may differ.
-You should be safe if you respect the following constraints:
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Bitrate</emphasis>: it should not exceed 1500kbps,
- however, past versions supported pretty much any bitrate as long as the
- header claimed it was not too high.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Dimensions</emphasis>: the width and height of the
- PSP video should be multiples of 16, and the product width * height must
- be &lt;= 64000.
- Under some circumstances, it may be possible for the PSP to play higher
- resolutions.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audio</emphasis>: its samplerate should be 24kHz
- for MPEG-4 videos, and 48kHz for H.264.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<example id="encode_for_psp">
-<title>encode for PSP</title>
-<para>
-<screen>
-mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -oac lavc \
- -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac \
- -of lavf -lavfopts format=psp \
- <replaceable>input.video</replaceable> -o <replaceable>output.psp</replaceable>
-</screen>
-Note that you can set the title of the video with
-<option>-info name=<replaceable>MovieTitle</replaceable></option>.
-</para>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-mpeg">
-<title>Encoding to MPEG format</title>
-
-<para>
-<application>MEncoder</application> can create MPEG (MPEG-PS) format output
-files.
-Usually, when you are using MPEG-1 or MPEG-2 video, it is because you are
-encoding for a constrained format such as SVCD, VCD, or DVD.
-The specific requirements for these formats are explained in the
-<link linkend="menc-feat-vcd-dvd"> VCD and DVD creation guide</link>
-section.
-</para>
-
-<para>
-To change <application>MEncoder</application>'s output file format,
-use the <option>-of mpeg</option> option.
-</para>
-
-<informalexample>
-<para>
-Example:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
- -oac copy <replaceable>other_options</replaceable> -o <replaceable>output.mpg</replaceable>
-</screen>
-Creating an MPEG-1 file suitable to be played on systems with minimal
-multimedia support, such as default Windows installs:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
- -o <replaceable>output.mpg</replaceable> -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
-</screen>
-Same, but using <systemitem class="library">libavformat</systemitem> MPEG muxer:
-<screen>
-mencoder <replaceable>input.avi</replaceable> -o <replaceable>VCD.mpg</replaceable> -ofps 25 -vf scale=352:288,harddup -of lavf \
- -lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
- -lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
-</screen>
-</para>
-</informalexample>
-
-<note><title>Hint:</title>
-<para>
-If for some reason the video quality of the second pass did not
-satisfy you, you may re-run your video encode with a different target
-bitrate, provided that you saved the statistics file of the previous
-pass.
-This is possible because the statistics file's primary goal is to
-record the complexity of each frame, which doesn't depend heavily on
-bitrate. You should note, though, that you'll get the best results if
-all passes are run with target bitrates that do not differ very much.
-</para>
-</note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-rescale">
-<title>Rescaling movies</title>
-
-<para>
-Often the need to resize movie images emerges. The reasons can be
-many: decreasing file size, network bandwidth, etc. Most people even do
-rescaling when converting DVDs or SVCDs to DivX AVI. If you wish to rescale,
-read the <link linkend="aspect">Preserving aspect ratio</link> section.
-</para>
-
-<para>
-The scaling process is handled by the <literal>scale</literal> video filter:
-<option>-vf scale=<replaceable>width</replaceable>:<replaceable>height</replaceable></option>.
-Its quality can be set with the <option>-sws</option> option.
-If it is not specified, <application>MEncoder</application> will use 2: bicubic.
-</para>
-
-<para>
-Usage:
-<screen>
-mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
- -vf scale=640:480 -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-streamcopy">
-<title>Stream copying</title>
-
-<para>
-<application>MEncoder</application> can handle input streams in two ways:
-<emphasis role="bold">encode</emphasis> or <emphasis role="bold">copy</emphasis>
-them. This section is about <emphasis role="bold">copying</emphasis>.
-</para>
-
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Video stream</emphasis> (option <option>-ovc copy</option>):
- nice stuff can be done :) Like, putting (not converting!) FLI or VIVO or
- MPEG-1 video into an AVI file! Of course only
- <application>MPlayer</application> can play such files :) And it probably
- has no real life value at all. Rationally: video stream copying can be
- useful for example when only the audio stream has to be encoded (like,
- uncompressed PCM to MP3).
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Audio stream</emphasis> (option <option>-oac copy</option>):
- straightforward. It is possible to take an external audio file (MP3,
- WAV) and mux it into the output stream. Use the
- <option>-audiofile <replaceable>filename</replaceable></option> option
- for this.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Using <option>-oac copy</option> to copy from one container format to
-another may require the use of <option>-fafmttag</option> to keep the
-audio format tag of the original file.
-For example, if you are converting an NSV file with AAC audio to an AVI
-container, the audio format tag will be incorrect and it will have to
-be changed. For a list of audio format tags, check
-<filename>codecs.conf</filename>.
-</para>
-
-<para>
-Example:
-<screen>
-mencoder <replaceable>input.nsv</replaceable> -oac copy -fafmttag 0x706D \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-enc-images">
-<title>Encoding from multiple input image files (JPEG, PNG, TGA, etc.)</title>
-
-<para>
-<application>MEncoder</application> is capable of creating movies from one
-or more JPEG, PNG, TGA, or other image files. With simple framecopy it can
-create MJPEG (Motion JPEG), MPNG (Motion PNG) or MTGA (Motion TGA) files.
-</para>
-
-<orderedlist>
-<title>Explanation of the process:</title>
-<listitem><para>
- <application>MEncoder</application> <emphasis>decodes</emphasis> the input
- image(s) with <systemitem class="library">libjpeg</systemitem> (when decoding
- PNGs, it will use <systemitem class="library">libpng</systemitem>).
-</para></listitem>
-<listitem><para>
- <application>MEncoder</application> then feeds the decoded image to the
- chosen video compressor (DivX4, Xvid, FFmpeg msmpeg4, etc.).
-</para></listitem>
-</orderedlist>
-
-<formalpara>
-<title>Examples</title>
-<para>
-The explanation of the <option>-mf</option> option is in the man page.
-
-<informalexample>
-<para>
-Creating an MPEG-4 file from all the JPEG files in the current directory:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creating an MPEG-4 file from some JPEG files in the current directory:
-<screen>
-mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creating an MPEG-4 file from explicit list of JPEG files (list.txt in current
-directory contains the list of files to use as source, one per line):
-<screen>
-mencoder mf://<replaceable>@list.txt</replaceable> -mf w=800:h=600:fps=25:type=jpg \
- -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-You can mix different types of images, regardless of the method you use
-&mdash; individual filenames, wildcard or file with list &mdash; provided of
-course they have the same dimensions.
-So you can e.g. take title frame from PNG file,
-and then put a slideshow of your JPEG photos.
-
-<informalexample>
-<para>
-Creating a Motion JPEG (MJPEG) file from all the JPEG files in the current
-directory:
-<screen>
-mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creating an uncompressed file from all the PNG files in the current directory:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable>
-</screen>
-</para>
-</informalexample>
-
-<note><para>
-Width must be integer multiple of 4, it is a limitation of the RAW RGB AVI
-format.
-</para></note>
-
-<informalexample>
-<para>
-Creating a Motion PNG (MPNG) file from all the PNG files in the current
-directory:
-<screen>
-mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-
-<informalexample>
-<para>
-Creating a Motion TGA (MTGA) file from all the TGA files in the current
-directory:
-<screen>
-mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
---></screen>
-</para>
-</informalexample>
-</para>
-</formalpara>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="menc-feat-extractsub">
-<title>Extracting DVD subtitles to VOBsub file</title>
-
-<para>
-<application>MEncoder</application> is capable of extracting subtitles from
-a DVD into VOBsub formatted files. They consist of a pair of files ending in
-<filename>.idx</filename> and <filename>.sub</filename> and are usually
-packaged in a single <filename>.rar</filename> archive.
-<application>MPlayer</application> can play these with the
-<option>-vobsub</option> and <option>-vobsubid</option> options.
-</para>
-
-<para>
-You specify the basename (i.e without the <filename>.idx</filename> or
-<filename>.sub</filename> extension) of the output files with
-<option>-vobsubout</option> and the index for this subtitle in the
-resulting files with <option>-vobsuboutindex</option>.
-</para>
-
-<para>
-If the input is not from a DVD you should use <option>-ifo</option> to
-indicate the <filename>.ifo</filename> file needed to construct the
-resulting <filename>.idx</filename> file.
-</para>
-
-<para>
-If the input is not from a DVD and you do not have the
-<filename>.ifo</filename> file you will need to use the
-<option>-vobsubid</option> option to let it know what language id to put in
-the <filename>.idx</filename> file.
-</para>
-
-<para>
-Each run will append the running subtitle if the <filename>.idx</filename>
-and <filename>.sub</filename> files already exist. So you should remove any
-before starting.
-</para>
-
-<example id="copying_two_subtitles_from_a_dvd_while_doing_two_pass_encoding">
-<title>Copying two subtitles from a DVD while doing two pass encoding</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 -sid 2
-mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
- -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 1 -sid 5<!--
---></screen>
-</example>
-
-<example id="copying_a_french_subtitle_from_an_mpeg_file">
-<title>Copying a French subtitle from an MPEG file</title>
-<screen>
-rm <replaceable>subtitles.idx</replaceable> <replaceable>subtitles.sub</replaceable>
-mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout <replaceable>subtitles</replaceable> -vobsuboutindex 0 \
- -vobsuboutid fr -sid 1 -nosound -ovc copy
-</screen>
-</example>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="aspect">
-<title>Preserving aspect ratio</title>
-
-<para>
-DVDs and SVCDs (i.e. MPEG-1/2) files contain an aspect ratio value, which
-describes how the player should scale the video stream, so humans will not
-have egg heads (ex.: 480x480 + 4:3 = 640x480). However when encoding to AVI
-(DivX) files, you have to be aware that AVI headers do not store this value.
-Rescaling the movie is disgusting and time consuming, there has to be a better
-way!
-</para>
-
-<para>There is</para>
-
-<para>
-MPEG-4 has a unique feature: the video stream can contain its needed aspect
-ratio. Yes, just like MPEG-1/2 (DVD, SVCD) and H.263 files. Regretfully, there
-are few video players apart from <application>MPlayer</application> that
-support this MPEG-4 attribute.
-</para>
-
-<para>
-This feature can be used only with
-<systemitem class="library">libavcodec</systemitem>'s
-<systemitem>mpeg4</systemitem> codec. Keep in mind: although
-<application>MPlayer</application> will correctly play the created file,
-other players may use the wrong aspect ratio.
-</para>
-
-<para>
-You seriously should crop the black bands over and below the movie image.
-See the man page for the usage of the <systemitem>cropdetect</systemitem> and
-<systemitem>crop</systemitem> filters.
-</para>
-
-<para>
-Usage
-<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -vf crop=714:548:0:14 -oac copy -ovc lavc \
- -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o <replaceable>output.avi</replaceable></screen>
-</para>
-</sect1>
-
</chapter>
diff --git a/DOCS/xml/en/ports.xml b/DOCS/xml/en/ports.xml
index e80965554f..dc66de8da7 100644
--- a/DOCS/xml/en/ports.xml
+++ b/DOCS/xml/en/ports.xml
@@ -4,838 +4,7 @@
<title>Ports</title>
<para>
-Binary packages of <application>MPlayer</application> are available from several
-sources. We have a list of places to get
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#unofficial_packages">unofficial packages</ulink>
-for various systems on our homepage.
-However, <emphasis role="bold">none of these packages are supported</emphasis>.
-Report problems to the authors, not to us.
+OUTDATED CONTENT REMOVED
</para>
-<sect1 id="linux">
-<title>Linux</title>
-
-<!-- ********** -->
-
-<sect2 id="debian">
-<title>Debian packaging</title>
-
-<para>
-To build a Debian package, run the following command in the
-<application>MPlayer</application> source directory:
-
-<screen>fakeroot debian/rules binary</screen>
-
-If you want to pass custom options to configure, you can set up the
-<envar>DEB_BUILD_OPTIONS</envar> environment variable. For instance,
-if you want GUI and OSD menu support you would use:
-
-<screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
-
-You can also pass some variables to the Makefile. For example, if you want
-to compile with gcc 3.4 even if it's not the default compiler:
-
-<screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
-
-To clean up the source tree run the following command:
-
-<screen>fakeroot debian/rules clean</screen>
-
-As root you can then install the <filename>.deb</filename> package as usual:
-
-<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="rpm">
-<title>RPM packaging</title>
-
-<para>
-To build an RPM package, run the following command in the
-<application>MPlayer</application> source directory:
-
-<screen>FIXME: insert proper commands here</screen>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="arm_linux">
-<title>ARM Linux</title>
-
-<para>
-<application>MPlayer</application> works on Linux PDAs with ARM CPU e.g. Sharp
-Zaurus, Compaq Ipaq. The easiest way to obtain
-<application>MPlayer</application> is to get it from one of the
-<ulink url="http://www.openzaurus.org">OpenZaurus</ulink> package feeds.
-If you want to compile it yourself, you should look at the
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>
-and the
-<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
-directory in the OpenZaurus distribution buildroot. These always have the latest
-Makefile and patches used for building a SVN <application>MPlayer</application>.
-If you need a GUI frontend, you can use xmms-embedded.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="bsd">
-<title>*BSD</title>
-
-<para>
-<application>MPlayer</application> runs on all known BSD flavors.
-There are ports/pkgsrc/fink/etc versions of <application>MPlayer</application>
-available that are probably easier to use than our raw sources.
-</para>
-
-<para>
-If <application>MPlayer</application> complains about not finding
-<filename>/dev/cdrom</filename> or <filename>/dev/dvd</filename>,
-create an appropriate symbolic link:
-<screen>ln -s /dev/<replaceable>your_cdrom_device</replaceable> /dev/cdrom</screen>
-</para>
-
-<para>
-To use Win32 DLLs with <application>MPlayer</application> you will need to
-re-compile the kernel with "<envar>option USER_LDT</envar>"
-(unless you run FreeBSD-CURRENT,
-where this is the default).
-</para>
-
-<!-- ********** -->
-
-<sect2 id="freebsd">
-<title>FreeBSD</title>
-
-<para>
-If your CPU has SSE, recompile your kernel with
-"<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE or kernel
-patches required).
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="openbsd">
-<title>OpenBSD</title>
-
-<para>
-Due to limitations in different versions of gas (relocation vs MMX), you
-will need to compile in two steps: First make sure that the non-native as
-is first in your <envar>$PATH</envar> and do a <command>gmake -k</command>, then
-make sure that the native version is used and do <command>gmake</command>.
-</para>
-
-<para>
-As of OpenBSD 3.4 the hack above is no longer needed.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="darwin">
-<title>Darwin</title>
-
-<para>
-See the <link linkend="macos">Mac OS</link> section.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="unix">
-<title>Commercial Unix</title>
-
-<para>
-<application>MPlayer</application> has been ported to a number of commercial
-Unix variants. Since the development environments on these systems tend to be
-different from those found on free Unixes, you may have to make some manual
-adjustments to make the build work.
-</para>
-
-<!-- ********** -->
-
-<sect2 id="solaris">
-<title>Solaris</title>
-
-<para>
-Solaris still has broken, POSIX-incompatible system tools and shell in default
-locations. Until a bold step out of the computing stone age is made, you will
-have to add <filename>/usr/xpg4/bin</filename> to your
-<systemitem>PATH</systemitem>.
-</para>
-
-<para>
-<application>MPlayer</application> should work on Solaris 2.6 or newer.
-Use the SUN audio driver with the <option>-ao sun</option> option for sound.
-</para>
-
-<para>
-On <emphasis role="bold">UltraSPARCs</emphasis>,
-<application>MPlayer</application> takes advantage of their
-<emphasis role="bold">VIS</emphasis> extensions
-(equivalent to MMX), currently only in
-<systemitem class="library">libmpeg2</systemitem>,
-<systemitem class="library">libvo</systemitem>
-and <systemitem class="library">libavcodec</systemitem>, but not in
-<systemitem class="library">mp3lib</systemitem>. You can watch a VOB file
-on a 400MHz CPU. You'll need
-<ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
-installed.
-</para>
-
-<para><emphasis role="bold">Caveat:</emphasis></para>
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">mediaLib</emphasis> is
- <emphasis role="bold">currently disabled</emphasis> by default in
- <application>MPlayer</application> because of brokenness. SPARC users
- who build MPlayer with mediaLib support have reported a thick,
- green-tint on video encoded and decoded with libavcodec. You may enable
- it if you wish with:
- <screen>./configure --enable-mlib</screen>
- You do this at your own risk. x86 users should
- <emphasis role="bold">never</emphasis> use mediaLib, as this will
- result in very poor MPlayer performance.
-</para></listitem>
-</itemizedlist>
-
-<para>
-On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter if
-GNU C/C++ compiler is configured with or without the GNU assembler.
-</para>
-
-<para>
-On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
-configured to use the GNU assembler! The <application>MPlayer</application>
-code on the x86 platform makes heavy use of MMX, SSE and 3DNOW! instructions
-that cannot be compiled using Sun's assembler
-<filename>/usr/ccs/bin/as</filename>.
-</para>
-
-<para>
-The <filename>configure</filename> script tries to find out, which assembler
-program is used by your "gcc" command (in case the autodetection
-fails, use the
-<option>--as=<replaceable>/wherever/you/have/installed/gnu-as</replaceable></option>
-option to tell the <filename>configure</filename> script where it can find GNU
-"as" on your system).
-</para>
-
-<para>Solutions to common problems:</para>
-<itemizedlist>
-<listitem><para>
- Error message from <filename>configure</filename> on a Solaris x86 system
- using GCC without GNU assembler:
- <screen>
-% configure
-...
-Checking assembler (/usr/ccs/bin/as) ... , failed
-Please upgrade(downgrade) binutils to 2.10.1...<!--
- --></screen>
- (Solution: Install and use a gcc configured with
- <option>--with-as=gas</option>)
-</para>
-
-<para>
-Typical error you get when building with a GNU C compiler that does not
-use GNU as:
-<screen>
-% gmake
-...
-gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
- -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
-Assembler: mplayer.c
-"(stdin)", line 3567 : Illegal mnemonic
-"(stdin)", line 3567 : Syntax error
-... more "Illegal mnemonic" and "Syntax error" errors ...
-</screen>
-</para>
-</listitem>
-
-<listitem><para>
- <application>MPlayer</application> may segfault when decoding
- and encoding video that uses the win32codecs:
- <screen>
-...
-Trying to force audio codec driver family acm...
-Opening audio decoder: [acm] Win32/ACM decoders
-sysi86(SI86DSCR): Invalid argument
-Couldn't install fs segment, expect segfault
-
-
-MPlayer interrupted by signal 11 in module: init_audio_codec
-...<!--
- --></screen>
- This is because of a change to sysi86() in Solaris 10 and pre-Solaris
- Nevada b31 releases. This has been fixed in Solaris Nevada b32;
- however, Sun has yet to backport the fix to Solaris 10. The MPlayer
- Project has made Sun aware of the problem and a patch is currently in
- progress for Solaris 10. More information about this bug can be found
- at:
- <ulink url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
-</para></listitem>
-
-<listitem><para>
-Due to bugs in Solaris 8,
-you may not be able to play DVD discs larger than 4 GB:
-</para>
-
-<itemizedlist>
-<listitem><para>
- The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk block >4GB
- on a device using a logical blocksize != DEV_BSIZE
- (i.e. CD-ROM and DVD media).
- Due to a 32Bit int overflow, a disk address modulo 4GB is accessed
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
- This problem does not exist in the SPARC version of Solaris 8.
-</para></listitem>
-
-<listitem><para>
- A similar bug is present in the hsfs(7FS) file system code (AKA ISO9660),
- hsfs may not not support partitions/disks larger than 4GB, all data is
- accessed modulo 4GB
- (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
- The hsfs problem can be fixed by installing
- patch 109764-04 (SPARC) / 109765-04 (x86).
-</para></listitem>
-</itemizedlist>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="hp-ux">
-<title>HP-UX</title>
-
-<para>
-Joe Page hosts a detailed HP-UX <application>MPlayer</application>
-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
-by Martin Gansser on his homepage. With these instructions the build should
-work out of the box. The following information is taken from this HOWTO.
-</para>
-
-<para>
-You need GCC 3.4.0 or later and SDL 1.2.7 or later.
-HP cc will not produce a working program, prior GCC versions are buggy.
-For OpenGL functionality you need to install Mesa and the gl and gl2 video
-output drivers should work, speed may be very bad, depending on the CPU speed,
-though. A good replacement for the rather poor native HP-UX sound system is
-GNU esound.
-</para>
-
-<para>
-Create the DVD device
-scan the SCSI bus with:
-
-<screen>
-# ioscan -fn
-
-Class I H/W Path Driver S/W State H/W Type Description
-...
-ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
-target 3 8/16/5.2 tgt CLAIMED DEVICE
-disk 4 8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis> sdisk CLAIMED DEVICE <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
- /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
-target 4 8/16/5.7 tgt CLAIMED DEVICE
-ctl <emphasis role="bold">1</emphasis> 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
- /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
-...
-</screen>
-
-The screen output shows a Pioneer DVD-ROM at SCSI address 2.
-The card instance for hardware path 8/16 is 1.
-</para>
-
-<para>
-Create a link from the raw device to the DVD device.
-<screen>
-ln -s /dev/rdsk/c<replaceable>&lt;SCSI bus instance&gt;</replaceable>t<replaceable>&lt;SCSI target ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;device&gt;</replaceable>
-</screen>
-Example:
-<screen>ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
-</para>
-
-<para>
-Below are solutions for some common problems:
-
-<itemizedlist>
-<listitem>
- <para>
- Crash at Start with the following error message:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl<!--
- --></screen>
- </para>
- <para>
- This means that the function <systemitem>.finite().</systemitem> is not
- available in the standard HP-UX math library.
- Instead there is <systemitem>.isfinite().</systemitem>.
- Solution: Use the latest Mesa depot file.
- </para>
-</listitem>
-
-<listitem>
- <para>
- Crash at playback with the following error message:
- <screen>
-/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0<!--
- --></screen>
- </para>
- <para>
- Solution: Use the extralibdir option of configure
- <option>--extra-ldflags="/usr/lib -lrt"</option>
- </para>
-</listitem>
-
-<listitem>
- <para>
- MPlayer segfaults with a message like this:
- <screen>
-Pid 10166 received a SIGSEGV for stack growth failure.
-Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
-Segmentation fault<!--
- --></screen>
- </para>
- <para>
- Solution:
- The HP-UX kernel has a default stack size of 8MB(?) per process.(11.0 and
- newer 10.20 patches let you increase <systemitem>maxssiz</systemitem> up to
- 350MB for 32-bit programs). You need to extend
- <systemitem>maxssiz</systemitem> and recompile the kernel (and reboot).
- You can use SAM to do this.
- (While at it, check out the <systemitem>maxdsiz</systemitem> parameter for
- the maximum amount of data a program can use.
- It depends on your applications, if the default of 64MB is enough or not.)
- </para>
-</listitem>
-</itemizedlist>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="aix">
-<title>AIX</title>
-
-<para>
-<application>MPlayer</application> builds successfully on AIX 5.1,
-5.2, and 5.3, using GCC 3.3 or greater. Building
-<application>MPlayer</application> on AIX 4.3.3 and below is
-untested. It is highly recommended that you build
-<application>MPlayer</application> using GCC 3.4 or greater,
-or if you are building on POWER5, GCC 4.0 is required.
-</para>
-
-<para>
-CPU detection is still a work in progress.
-The following architectures have been tested:
-</para>
-
-<itemizedlist>
- <listitem><para>604e</para></listitem>
- <listitem><para>POWER3</para></listitem>
- <listitem><para>POWER4</para></listitem>
-</itemizedlist>
-
-<para>
-The following architectures are untested, but should still work:
-<itemizedlist>
- <listitem><para>POWER</para></listitem>
- <listitem><para>POWER2</para></listitem>
- <listitem><para>POWER5</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Sound via the Ultimedia Services is not supported, as Ultimedia was
-dropped in AIX 5.1; therefore, the only option is to use the AIX Open
-Sound System (OSS) drivers from 4Front Technologies at
-<ulink url="http://www.opensound.com/aix.html">http://www.opensound.com/aix.html</ulink>.
-4Front Technologies freely provides OSS drivers for AIX 5.1 for
-non-commercial use; however, there are currently no sound output
-drivers for AIX 5.2 or 5.3. This means <emphasis role="bold">AIX 5.2
-and 5.3 are not capable of MPlayer audio output, presently.</emphasis>
-</para>
-
-<para>Solutions to common problems:</para>
-
-<itemizedlist>
-<listitem>
-<para>
- If you encounter this error message from <filename>./configure</filename>:
- <screen>
-$ ./configure
-...
-Checking for iconv program ... no
-No working iconv program found, use
---charset=US-ASCII to continue anyway.
-Messages in the GTK-2 interface will be broken then.<!--
- --></screen>
- This is because AIX uses non-standard character set names; therefore,
- converting MPlayer output to another character set is currently not
- supported. The solution is to use:
- <screen>$ ./configure --charset=noconv</screen>
- </para>
-</listitem>
-</itemizedlist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="qnx">
-<title>QNX</title>
-
-<para>
-You'll need to download and install SDL for QNX. Then run
-<application>MPlayer</application> with <option>-vo sdl:driver=photon</option>
-and <option>-ao sdl:nto</option> options, it should be fast.
-</para>
-
-<para>
-The <option>-vo x11</option> output will be even slower than on Linux,
-since QNX has only X <emphasis>emulation</emphasis> which is very slow.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="windows">
-<title>Windows</title>
-
-<para>
-Yes, <application>MPlayer</application> runs on Windows under
-<ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink>
-and
-<ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
-It does not have an official GUI yet, but the command line version
-is completely functional. You should check out the
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
-mailing list for help and latest information.
-Official Windows binaries can be found on the
-<ulink url="http://www.mplayerhq.hu/design7/dload.html">download page</ulink>.
-Installer packages and simple GUI frontends are available from external
-sources, we have collected then in the Windows section of our
-<ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">projects page</ulink>.
-</para>
-
-<para>
-If you wish to avoid using the command line, a simple trick is
-to put a shortcut on your desktop that contains something like the
-following in the execute section:
-<screen><replaceable>c:\path\to\</replaceable>mplayer.exe %1</screen>
-This will make <application>MPlayer</application> play any movie that is
-dropped on the shortcut. Add <option>-fs</option> for fullscreen mode.
-</para>
-
-<para>
-Best results are achieved with the native DirectX video output driver
-(<option>-vo directx</option>). Alternatives are OpenGL and SDL, but OpenGL
-performance varies greatly between systems and SDL is known to
-distort video or crash on some systems. If the image is
-distorted, try turning off hardware acceleration with
-<option>-vo directx:noaccel</option>. Download
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/dx7headers.tgz">DirectX 7 header files</ulink>
-to compile the DirectX video output driver. Furthermore you need to have
-DirectX 7 or later installed for the DirectX video output driver to work.
-</para>
-
-<para>
-<link linkend="vidix">VIDIX</link> now works under Windows as
-<option>-vo winvidix</option>, although it is still experimental
-and needs a bit of manual setup. Download
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> or
-<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (with MTRR support)</ulink>
-and copy it to the <filename class="directory">vidix/dhahelperwin</filename>
-directory in your <application>MPlayer</application> source tree.
-Open a console and type
-<screen>make install-dhahelperwin</screen>
-as Administrator. After that you will have to reboot.
-</para>
-
-<para>
-For best results <application>MPlayer</application> should use a
-colorspace that your video card supports in hardware. Unfortunately many
-Windows graphics drivers wrongly report some colorspaces as supported in
-hardware. To find out which, try
-<screen>
-mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>colorspace</replaceable> <replaceable>movie</replaceable>
-</screen>
-where <replaceable>colorspace</replaceable> can be any colorspace
-printed by the <option>-vf format=fmt=help</option> option. If you
-find a colorspace your card handles particularly bad
-<option>-vf noformat=<replaceable>colorspace</replaceable></option>
-will keep it from being used. Add this to your config file to permanently
-keep it from being used.
-</para>
-
-<para>There are special codec packages for Windows available on our
- <ulink url="http://www.mplayerhq.hu/design7/dload.html">download page</ulink>
- to allow playing formats for which there is no native support yet.
- Put the codecs somewhere in your path or pass
- <option>--codecsdir=<replaceable>c:/path/to/your/codecs</replaceable></option>
- (alternatively
- <option>--codecsdir=<replaceable>/path/to/your/codecs</replaceable></option>
- only on <application>Cygwin</application>) to <filename>configure</filename>.
- We have had some reports that Real DLLs need to be writable by the user
- running <application>MPlayer</application>, but only on some systems (NT4).
- Try making them writable if you have problems.
- </para>
-
-<para>
-You can play VCDs by playing the <filename>.DAT</filename> or
-<filename>.MPG</filename> files that Windows exposes on VCDs. It works like
-this (adjust for the drive letter of your CD-ROM):
-<screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
-Alternatively, you can play a VCD track directly by using:
-<screen>mplayer vcd://<replaceable>&lt;track&gt;</replaceable> -cdrom-device <replaceable>d:</replaceable>
-</screen>
-DVDs also work, adjust <option>-dvd-device</option> for the drive letter
-of your DVD-ROM:
-<screen>
-mplayer dvd://<replaceable>&lt;title&gt;</replaceable> -dvd-device <replaceable>d:</replaceable>
-</screen>
-The <application>Cygwin</application>/<application>MinGW</application>
-console is rather slow. Redirecting output or using the
-<option>-quiet</option> option has been reported to improve performance on
-some systems. Direct rendering (<option>-dr</option>) may also help.
-If playback is jerky, try
-<option>-autosync 100</option>. If some of these options help you, you
-may want to put them in your config file.
-</para>
-
-<note>
-<para>
-If you have a Pentium 4 and are experiencing a crash using the
-RealPlayer codecs, you may need to disable hyperthreading support.
-</para>
-</note>
-
-<!-- ********** -->
-
-<sect2 id="cygwin">
-<title><application>Cygwin</application></title>
-
-<para>
-You need to run <application>Cygwin</application> 1.5.0 or later in
-order to compile <application>MPlayer</application>.
-</para>
-
-<para>
-DirectX header files need to be extracted to
-<filename class="directory">/usr/include/</filename> or
-<filename class="directory">/usr/local/include/</filename>.
-</para>
-
-<para>
-Instructions and files for making SDL run under
-<application>Cygwin</application> can be found on the
-<ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl site</ulink>.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="mingw">
-<title><application>MinGW</application></title>
-
-<para>
-You need <application>MinGW</application> 3.1.0 or later and MSYS 1.0.9 or
-later. Tell the MSYS postinstall that <application>MinGW</application> is
-installed.
-</para>
-
-<para>
-Extract DirectX header files to
-<filename class="directory">/mingw/include/</filename>.
-</para>
-
-<para>
-MOV compressed header support requires
-<ulink url="http://www.gzip.org/zlib/">zlib</ulink>,
-which <application>MinGW</application> does not provide by default.
-Configure it with <option>--prefix=/mingw</option> and install
-it before compiling <application>MPlayer</application>.
-</para>
-
-<para>
-Complete instructions for building <application>MPlayer</application>
-and necessary libraries can be found in the
-<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/win32/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>.
-</para>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="macos">
-<title>Mac OS</title>
-
-<para>
-<application>MPlayer</application> does not work on Mac OS versions before
-10, but should compile out-of-the-box on Mac OS X 10.2 and up.
-The preferred compiler is the Apple version of
-GCC 3.x or later.
-You can get the basic compilation environment by installing Apple's
-<ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>.
-If you have Mac OS X 10.3.9 or later and QuickTime 7
-you can use the <option>corevideo</option> video output driver.
-</para>
-
-<para>
-Unfortunately, this basic environment will not allow you to take advantage
-of all the nice features of <application>MPlayer</application>.
-For instance, in order to have OSD support compiled in, you will
-need to have <systemitem class="library">fontconfig</systemitem>
-and <systemitem class="library">freetype</systemitem> libraries
-installed on your machine. Contrary to other Unixes such as most
-Linux and BSD variants, OS X does not have a package system
-that comes with the system.
-</para>
-
-<para>
-There are at least two to choose from:
-<ulink url="http://fink.sourceforge.net/">Fink</ulink> and
-<ulink url="http://www.macports.org/">MacPorts</ulink>.
-Both of them provide about the same service (i.e. a lot of packages to
-choose from, dependency resolution, the ability to simply add/update/remove
-packages, etc...).
-Fink offers both precompiled binary packages or building everything from
-source, whereas MacPorts only offers building from source.
-The author of this guide chose MacPorts for the simple fact that its basic
-setup was more lightweight.
-Later examples will be based on MacPorts.
-</para>
-
-<para>
-For instance, to compile <application>MPlayer</application> with OSD support:
-<screen>sudo port install pkg-config</screen>
-This will install <application>pkg-config</application>, which is a system for
-managing library compile/link flags.
-<application>MPlayer</application>'s <systemitem>configure</systemitem> script
-uses it to properly detect libraries.
-Then you can install <application>fontconfig</application> in a
-similar way:
-<screen>sudo port install fontconfig</screen>
-Then you can proceed with launching <application>MPlayer</application>'s
-<systemitem>configure</systemitem> script (note the
-<systemitem>PKG_CONFIG_PATH</systemitem> and <systemitem>PATH</systemitem>
-environment variables so that <systemitem>configure</systemitem> finds the
-libraries installed with MacPorts):
-<screen>
-PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure
-</screen>
-</para>
-
-<!-- ********** -->
-
-<sect2 id="osx_gui">
-<title>MPlayer OS X GUI</title>
-
-<para>
-You can get a native GUI for <application>MPlayer</application> together with
-precompiled <application>MPlayer</application> binaries for Mac OS X from the
-<ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink> project, but be
-warned: that project is not active anymore.
-</para>
-
-<para>
-Fortunately, <application>MPlayerOSX</application> has been taken over
-by a member of the <application>MPlayer</application> team.
-Preview releases are available from our
-<ulink url="http://mplayerhq.hu/dload.html">download page</ulink>
-and an official release should arrive soon.
-</para>
-
-<para>
-In order to build <application>MPlayerOSX</application> from source
-yourself, you need the <systemitem>mplayerosx</systemitem>, the
-<systemitem>main</systemitem> and a copy of the
-<systemitem>main</systemitem> SVN module named
-<systemitem>main_noaltivec</systemitem>.
-<systemitem>mplayerosx</systemitem> is the GUI frontend,
-<systemitem>main</systemitem> is MPlayer and
-<systemitem>main_noaltivec</systemitem> is MPlayer built without AltiVec
-support.
-</para>
-
-<para>
-To check out SVN modules use:
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main
-</screen>
-</para>
-
-<para>
-In order to build <application>MPlayerOSX</application> you will need to
-set up something like this:
-<screen>
-MPlayer_source_directory
- |
- |--->main (MPlayer Subversion source)
- |
- |--->main_noaltivec (MPlayer Subversion source configured with --disable-altivec)
- |
- \--->mplayerosx (MPlayer OS X Subversion source)
-</screen>
-You first need to build main and main_noaltivec.
-</para>
-
-<para>
-To begin with, in order to ensure maximum backwards compatibility, set an
-environment variable:
-<screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
-</para>
-
-<para>
-Then, configure:
-</para>
-
-<para>
-If you configure for a G4 or later CPU with AltiVec support, do as follows:
-<screen>
-./configure --disable-gl --disable-x11
-</screen>
-If you configure for a G3-powered machine without AltiVec, use:
-<screen>
-./configure --disable-gl --disable-x11 --disable-altivec
-</screen>
-You may need to edit <filename>config.mak</filename> and change
-<systemitem>-mcpu</systemitem> and <systemitem>-mtune</systemitem>
-from <systemitem>74XX</systemitem> to <systemitem>G3</systemitem>.
-</para>
-
-<para>
-Continue with
-<screen>make</screen>
-then go to the mplayerosx directory and type
-<screen>make dist</screen>
-This will create a compressed <systemitem>.dmg</systemitem> archive
-with the ready to use binary.
-</para>
-
-<para>
-You can also use the <application>Xcode</application> 2.1 project;
-the old project for <application>Xcode</application> 1.x does
-not work anymore.
-</para>
-</sect2>
-</sect1>
-
</chapter>
diff --git a/DOCS/xml/en/usage.xml b/DOCS/xml/en/usage.xml
index 1ac732c832..aa59f05004 100644
--- a/DOCS/xml/en/usage.xml
+++ b/DOCS/xml/en/usage.xml
@@ -110,124 +110,7 @@ mplayer -abs 65536 -delay -0.4 -nobps <replaceable>~/movies/test.avi</replaceabl
<title>Subtitles and OSD</title>
<para>
-<application>MPlayer</application> can display subtitles along with movie files.
-Currently the following formats are supported:
-<itemizedlist>
- <listitem><para>VOBsub</para></listitem>
- <listitem><para>OGM</para></listitem>
- <listitem><para>CC (closed caption)</para></listitem>
- <listitem><para>MicroDVD</para></listitem>
- <listitem><para>SubRip</para></listitem>
- <listitem><para>SubViewer</para></listitem>
- <listitem><para>Sami</para></listitem>
- <listitem><para>VPlayer</para></listitem>
- <listitem><para>RT</para></listitem>
- <listitem><para>SSA</para></listitem>
- <listitem><para>PJS (Phoenix Japanimation Society)</para></listitem>
- <listitem><para>MPsub</para></listitem>
- <listitem><para>AQTitle</para></listitem>
- <listitem><para>
- <ulink url="http://unicorn.us.com/jacosub/">JACOsub</ulink>
- </para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MPlayer</application> can dump the previously listed subtitle
-formats (<emphasis role="bold">except the three first</emphasis>) into the
-following destination formats, with the given options:
-<itemizedlist>
- <listitem><para>MPsub: <option>-dumpmpsub</option></para></listitem>
- <listitem><para>SubRip: <option>-dumpsrtsub</option></para></listitem>
- <listitem><para>MicroDVD: <option>-dumpmicrodvdsub</option></para></listitem>
- <listitem><para>JACOsub: <option>-dumpjacosub</option></para></listitem>
- <listitem><para>Sami: <option>-dumpsami</option></para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<application>MEncoder</application> can dump DVD subtitles into
-<link linkend="menc-feat-extractsub">VOBsub</link> format.
-</para>
-
-<para>
-The command line options differ slightly for the different formats:
-</para>
-
-<formalpara>
-<title>VOBsub subtitles</title>
-<para>
-VOBsub subtitles consist of a big (some megabytes) <filename>.SUB</filename>
-file, and optional <filename>.IDX</filename> and/or <filename>.IFO</filename>
-files. If you have files like
-<filename><replaceable>sample.sub</replaceable></filename>,
-<filename><replaceable>sample.ifo</replaceable></filename> (optional),
-<filename><replaceable>sample.idx</replaceable></filename> - you have to pass
-<application>MPlayer</application> the <option>-vobsub sample
-[-vobsubid <replaceable>id</replaceable>]</option> options
-(full path optional). The <option>-vobsubid</option> option is like
-<option>-sid</option> for DVDs, you can choose between subtitle tracks
-(languages) with it. In case that <option>-vobsubid</option> is omitted,
-<application>MPlayer</application> will try to use the languages given by the
-<option>-slang</option> option and fall back to the
-<systemitem>langidx</systemitem> in the <filename>.IDX</filename> file to set
-the subtitle language. If it fails, there will be no subtitles.
-</para>
-</formalpara>
-
-<formalpara>
-<title>Other subtitles</title>
-<para>
-The other formats consist of a single text file containing timing,
-placement and text information. Usage: If you have a file like
-<filename><replaceable>sample.txt</replaceable></filename>,
-you have to pass the option <option>-sub
-<replaceable>sample.txt</replaceable></option> (full path optional).
-</para>
-</formalpara>
-
-<variablelist>
-<title>Adjusting subtitle timing and placement:</title>
-<varlistentry>
- <term><option>-subdelay <replaceable>sec</replaceable></option></term>
- <listitem><para>
- Delays subtitles by <option><replaceable>sec</replaceable></option> seconds.
- Can be negative. The value is added to movie's time position counter.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subfps <replaceable>RATE</replaceable></option></term>
- <listitem><para>
- Specify frame/sec rate of subtitle file (float number).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-subpos <replaceable>0-100</replaceable></option></term>
- <listitem><para>
- Specify the position of subtitles.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-If you experience a growing delay between the movie and the subtitles when
-using a MicroDVD subtitle file, most likely the framerate of the movie and
-the subtitle file are different. Please note that the MicroDVD subtitle
-format uses absolute frame numbers for its timing, but there is no fps
-information in it, and therefore the <option>-subfps</option> option should
-be used with this format. If you like to solve this problem permanently,
-you have to manually convert the subtitle file framerate.
-<application>MPlayer</application> can do this
-conversion for you:
-
-<screen>
-mplayer -dumpmicrodvdsub -fps <replaceable>subtitles_fps</replaceable> -subfps <replaceable>avi_fps</replaceable> \
- -sub <replaceable>subtitle_filename</replaceable> <replaceable>dummy.avi</replaceable>
-</screen>
-</para>
-
-<para>
-About DVD subtitles, read the <link linkend="dvd">DVD</link> section.
+OUTDATED CONTENT REMOVED
</para>
</sect1>
diff --git a/DOCS/xml/en/video.xml b/DOCS/xml/en/video.xml
index ffeef6d6c6..6a39be4169 100644
--- a/DOCS/xml/en/video.xml
+++ b/DOCS/xml/en/video.xml
@@ -3,2307 +3,8 @@
<chapter id="video">
<title>Video output devices</title>
-<sect1 id="xv">
-<title>Xv</title>
-
-<para>
-Under XFree86 4.0.2 or newer, you can use your card's hardware YUV routines
-using the XVideo extension. This is what the option
-<option>-vo xv</option> uses. Also, this driver supports adjusting
-brightness/contrast/hue/etc. (unless you use the old, slow DirectShow DivX
-codec, which supports it everywhere), see the man page.
-</para>
-
-<para>
-In order to make this work, be sure to check the following:
-
-<orderedlist>
-<listitem><para>
- You have to use XFree86 4.0.2 or newer (former versions don't have XVideo)
-</para></listitem>
-<listitem><para>
- Your card actually supports hardware acceleration (modern cards do)
-</para></listitem>
-<listitem><para>
- X loads the XVideo extension, it's something like this:
- <programlisting>(II) Loading extension XVideo</programlisting>
- in <filename>/var/log/XFree86.0.log</filename>
- <note><para>
- This loads only the XFree86's extension. In a good install, this is
- always loaded, and doesn't mean that the
- <emphasis role="bold">card's</emphasis> XVideo support is loaded!
- </para></note>
-</para></listitem>
-<listitem><para>
- Your card has Xv support under Linux. To check, try
- <command>xvinfo</command>, it is the part of the XFree86 distribution. It
- should display a long text, similar to this:
- <screen>
-X-Video Extension version 2.2
-screen #0
- Adaptor #0: "Savage Streams Engine"
- number of ports: 1
- port base: 43
- operations supported: PutImage
- supported visuals:
- depth 16, visualID 0x22
- depth 16, visualID 0x23
- number of attributes: 5
-(...)
- Number of image formats: 7
- id: 0x32595559 (YUY2)
- guid: 59555932-0000-0010-8000-00aa00389b71
- bits per pixel: 16
- number of planes: 1
- type: YUV (packed)
- id: 0x32315659 (YV12)
- guid: 59563132-0000-0010-8000-00aa00389b71
- bits per pixel: 12
- number of planes: 3
- type: YUV (planar)
-(...etc...)<!--
---></screen>
- It must support YUY2 packed, and YV12 planar pixel formats to be usable
- with <application>MPlayer</application>.
-</para></listitem>
-<listitem><para>
- And finally, check if <application>MPlayer</application> was compiled
- with 'xv' support. Do a <command>mplayer -vo help | grep xv </command>.
- If 'xv' support was built a line similar to this should appear:
- <screen> xv X11/Xv</screen>
-</para></listitem>
-</orderedlist>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dga">
-<title>DGA</title>
-
-<formalpara>
-<title>PREAMBLE</title>
-<para>
-This document tries to explain in some words what DGA is in general and
-what the DGA video output driver for <application>MPlayer</application>
-can do (and what it can't).
-</para>
-</formalpara>
-
-<formalpara>
-<title>WHAT IS DGA</title>
-<para>
-<acronym>DGA</acronym> is short for <emphasis>Direct Graphics
-Access</emphasis> and is a means for a program to bypass the X server and
-directly modifying the framebuffer memory. Technically spoken this happens
-by mapping the framebuffer memory into the memory range of your process.
-This is allowed by the kernel only if you have superuser privileges. You
-can get these either by logging in as <systemitem
-class="username">root</systemitem> or by setting the SUID bit on the
-<application>MPlayer</application> executable (<emphasis role="bold">not
-recommended</emphasis>).
-</para>
-</formalpara>
-<para>
-There are two versions of DGA: DGA1 is used by XFree 3.x.x and DGA2 was
-introduced with XFree 4.0.1.
-</para>
-
-<para>
-DGA1 provides only direct framebuffer access as described above. For
-switching the resolution of the video signal you have to rely on the
-XVidMode extension.
-</para>
-
-<para>
-DGA2 incorporates the features of XVidMode extension and also allows
-switching the depth of the display. So you may, although basically
-running a 32 bit depth X server, switch to a depth of 15 bits and vice
-versa.
-</para>
-
-<para>
-However DGA has some drawbacks. It seems it is somewhat dependent on the
-graphics chip you use and on the implementation of the X server's video
-driver that controls this chip. So it does not work on every system...
-</para>
-
-<formalpara>
-<title>INSTALLING DGA SUPPORT FOR MPLAYER</title>
-
-<para>
-First make sure X loads the DGA extension, see in
-<filename>/var/log/XFree86.0.log</filename>:
-
-<programlisting>(II) Loading extension XFree86-DGA</programlisting>
-
-See, XFree86 4.0.x or greater is
-<emphasis role="bold">highly recommended</emphasis>!
-<application>MPlayer</application>'s DGA driver is autodetected by
-<filename>./configure</filename>, or you can force it
-with <option>--enable-dga</option>.
-</para>
-</formalpara>
-
-<para>
-If the driver couldn't switch to a smaller resolution, experiment with
-options <option>-vm</option> (only with X 3.3.x), <option>-fs</option>,
-<option>-bpp</option>, <option>-zoom</option> to find a video mode that
-the movie fits in. There is no converter right now :(
-</para>
-
-<para>
-Become <systemitem class="username">root</systemitem>. DGA needs root
-access to be able to write directly video memory. If you want to run it as
-user, then install <application>MPlayer</application> SUID root:
-
-<screen>
-chown root <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
-chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
-</screen>
-
-Now it works as a simple user, too.
-</para>
-
-<caution>
-<title>Security risk</title>
-<para>
-This is a <emphasis role="bold">big</emphasis> security risk!
-<emphasis role="bold">Never</emphasis> do this on a server or on a computer
-that can be accessed by other people because they can gain root privileges
-through SUID root <application>MPlayer</application>.
-</para>
-</caution>
-
-<para>
-Now use <option>-vo dga</option> option, and there you go! (hope so:) You
-should also try if the <option>-vo sdl:driver=dga</option> option works for you!
-It's much faster!
-</para>
-
-
-<formalpara id="dga-modelines">
-<title>RESOLUTION SWITCHING</title>
-
-<para>
-The DGA driver allows for switching the resolution of the output signal.
-This avoids the need for doing (slow) software scaling and at the same time
-provides a fullscreen image. Ideally it would switch to the exact
-resolution (except for honoring aspect ratio) of the video data, but the X
-server only allows switching to resolutions predefined in
-<filename>/etc/X11/XF86Config</filename>
-(<filename>/etc/X11/XF86Config-4</filename> for XFree 4.X.X respectively).
-Those are defined by so-called modelines and depend on
-the capabilities of your video hardware. The X server scans this config
-file on startup and disables the modelines not suitable for your hardware.
-You can find out which modes survive with the X11 log file. It can be found
-at: <filename>/var/log/XFree86.0.log</filename>.
-</para>
-</formalpara>
-
-<para>
-These entries are known to work fine with a Riva128 chip, using the nv.o X
-server driver module.
-</para>
-
-<para><programlisting>
-Section "Modes"
- Identifier "Modes[0]"
- Modeline "800x600" 40 800 840 968 1056 600 601 605 628
- Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
- Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
- Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
- Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
- Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
- Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
-EndSection
-</programlisting></para>
-
-
-<formalpara>
-<title>DGA &amp; MPLAYER</title>
-<para>
-DGA is used in two places with <application>MPlayer</application>: The SDL
-driver can be made to make use of it (<option>-vo sdl:driver=dga</option>) and
-within the DGA driver (<option>-vo dga</option>). The above said is true
-for both; in the following sections I'll explain how the DGA driver for
-<application>MPlayer</application> works.
-</para>
-</formalpara>
-
-
-<formalpara>
-<title>FEATURES</title>
-
-<para>
-The DGA driver is invoked by specifying <option>-vo dga</option> at the
-command line. The default behavior is to switch to a resolution matching
-the original resolution of the video as close as possible. It deliberately
-ignores the <option>-vm</option> and <option>-fs</option> options
-(enabling of video mode switching and fullscreen) - it always tries to
-cover as much area of your screen as possible by switching the video mode,
-thus refraining from using additional cycles of your CPU to scale the
-image. If you don't like the mode it chooses you may force it to choose
-the mode matching closest the resolution you specify by <option>-x</option>
-and <option>-y</option>. By providing the <option>-v</option> option, the
-DGA driver will print, among a lot of other things, a list of all
-resolutions supported by your current <filename>XF86Config</filename> file.
-Having DGA2 you may also force it to use a certain depth by using the
-<option>-bpp</option> option. Valid depths are 15, 16, 24 and 32. It
-depends on your hardware whether these depths are natively supported or if
-a (possibly slow) conversion has to be done.
-</para>
-</formalpara>
-<para>
-If you should be lucky enough to have enough offscreen memory left to
-put a whole image there, the DGA driver will use double buffering, which
-results in much smoother movie playback. It will tell you whether
-double buffering is enabled or not.
-</para>
-
-<para>
-Double buffering means that the next frame of your video is being drawn in
-some offscreen memory while the current frame is being displayed. When the
-next frame is ready, the graphics chip is just told the location in memory
-of the new frame and simply fetches the data to be displayed from there.
-In the meantime the other buffer in memory will be filled again with new
-video data.
-</para>
-
-<para>
-Double buffering may be switched on by using the option
-<option>-double</option> and may be disabled with
-<option>-nodouble</option>. Current default option is to disable
-double buffering. When using the DGA driver, onscreen display (OSD) only
-works with double buffering enabled. However, enabling double buffering may
-result in a big speed penalty (on my K6-II+ 525 it used an additional 20%
-of CPU time!) depending on the implementation of DGA for your hardware.
-</para>
-
-
-<formalpara>
-<title>SPEED ISSUES</title>
-
-<para>
-Generally spoken, DGA framebuffer access should be at least as fast as
-using the X11 driver with the additional benefit of getting a fullscreen
-image. The percentage speed values printed by
-<application>MPlayer</application> have to be interpreted with some care,
-as for example, with the X11 driver they do not include the time used by
-the X server needed for the actual drawing. Hook a terminal to a serial
-line of your box and start <command>top</command> to see what is really
-going on in your box.
-</para>
-</formalpara>
-
-<para>
-Generally spoken, the speedup done by using DGA against 'normal' use of X11
-highly depends on your graphics card and how well the X server module for it
-is optimized.
-</para>
-
-<para>
-If you have a slow system, better use 15 or 16 bit depth since they require
-only half the memory bandwidth of a 32 bit display.
-</para>
-
-<para>
-Using a depth of 24 bit is a good idea even if your card natively just supports
-32 bit depth since it transfers 25% less data compared to the 32/32 mode.
-</para>
-
-<para>
-I've seen some AVI files be played back on a Pentium MMX 266. AMD K6-2
-CPUs might work at 400 MHZ and above.
-</para>
-
-
-<formalpara>
-<title>KNOWN BUGS</title>
-
-<para>
-Well, according to some developers of XFree, DGA is quite a beast. They
-tell you better not to use it. Its implementation is not always flawless
-with every chipset driver for XFree out there.
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- With XFree 4.0.3 and <filename>nv.o</filename> there is a bug resulting
- in strange colors.
-</para></listitem>
-<listitem><para>
- ATI driver requires to switch mode back more than once after finishing
- using of DGA.
-</para></listitem>
-<listitem><para>
- Some drivers simply fail to switch back to normal resolution (use
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- and
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- to switch back manually).
-</para></listitem>
-<listitem><para>
- Some drivers simply display strange colors.
-</para></listitem>
-<listitem><para>
- Some drivers lie about the amount of memory they map into the process's
- address space, thus vo_dga won't use double buffering (SIS?).
-</para></listitem>
-<listitem><para>
- Some drivers seem to fail to report even a single valid mode. In this
- case the DGA driver will crash telling you about a nonsense mode of
- 100000x100000 or something like that.
-</para></listitem>
-<listitem><para>
- OSD only works with double buffering enabled (else it flickers).
-</para></listitem>
-</itemizedlist>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="svgalib">
-<title>SVGAlib</title>
-
-<formalpara>
-<title>INSTALLATION</title>
-<para>
-You'll have to install svgalib and its development package in order for
-<application>MPlayer</application> build its SVGAlib driver (autodetected,
-but can be forced), and don't forget to edit
-<filename>/etc/vga/libvga.config</filename> to suit your card and monitor.
-</para>
-</formalpara>
-
-<note><para>
-Be sure not to use the <option>-fs</option> switch, since it toggles the
-usage of the software scaler, and it's slow. If you really need it, use the
-<option>-sws 4</option> option which will produce bad quality, but is
-somewhat faster.
-</para></note>
-
-<formalpara>
-<title>EGA (4BPP) SUPPORT</title>
-<para>
-SVGAlib incorporates EGAlib, and <application>MPlayer</application> has the
-possibility to display any movie in 16 colors, thus usable in the following
-sets:
-</para>
-</formalpara>
-
-<itemizedlist>
-<listitem><para>
- EGA card with EGA monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
-</para></listitem>
-<listitem><para>
- EGA card with CGA monitor: 320x200x4bpp, 640x200x4bpp
-</para></listitem>
-</itemizedlist>
-
-<para>
-The bpp (bits per pixel) value must be set to 4 by hand:
-<option>-bpp 4</option>
-</para>
-
-<para>
-The movie probably must be scaled down to fit in EGA mode:
-<screen>-vf scale=640:350</screen>
-or
-<screen>-vf scale=320:200</screen>
-</para>
-
-<para>
-For that we need fast but bad quality scaling routine:
-<screen>-sws 4</screen>
-</para>
-
-<para>
-Maybe automatic aspect correction has to be shut off:
-<screen>-noaspect</screen>
-</para>
-
-<note><para>
-According to my experience the best image quality on
-EGA screens can be achieved by decreasing the brightness a bit:
-<option>-vf eq=-20:0</option>. I also needed to lower the audio
-samplerate on my box, because the sound was broken on 44kHz:
-<option>-srate 22050</option>.
-</para></note>
-
-<para>
-You can turn on OSD and subtitles only with the <option>expand</option>
-filter, see the man page for exact parameters.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="fbdev">
-<title>Framebuffer output (FBdev)</title>
-
-<para>
-Whether to build the FBdev target is autodetected during
-<filename>./configure</filename>. Read the framebuffer documentation in
-the kernel sources (<filename>Documentation/fb/*</filename>) for more
-information.
-</para>
-
-<para>
-If your card doesn't support VBE 2.0 standard (older ISA/PCI cards, such as
-S3 Trio64), only VBE 1.2 (or older?): Well, VESAfb is still available, but
-you'll have to load SciTech Display Doctor (formerly UniVBE) before booting
-Linux. Use a DOS boot disk or whatever. And don't forget to register your
-UniVBE ;))
-</para>
-
-<para>
-The FBdev output takes some additional parameters above the others:
-</para>
-
-<variablelist>
-<varlistentry>
- <term><option>-fb</option></term>
- <listitem><para>
- specify the framebuffer device to use (default: <filename>/dev/fb0</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmode</option></term>
- <listitem><para>
- mode name to use (according to <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-fbmodeconfig</option></term>
- <listitem><para>
- config file of modes (default: <filename>/etc/fb.modes</filename>)
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-monitor-hfreq</option></term>
- <term><option>-monitor-vfreq</option></term>
- <term><option>-monitor-dotclock</option></term>
- <listitem><para>
- <emphasis role="bold">important</emphasis> values, see
- <filename>example.conf</filename>
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-If you want to change to a specific mode, then use
-<screen>
-mplayer -vm -fbmode <replaceable>name_of_mode</replaceable> <replaceable>filename</replaceable>
-</screen>
-</para>
-
-<itemizedlist>
-<listitem><para>
- <option>-vm</option> alone will choose the most suitable mode from
- <filename>/etc/fb.modes</filename>. Can be used together with
- <option>-x</option> and <option>-y</option> options too. The
- <option>-flip</option> option is supported only if the movie's pixel
- format matches the video mode's pixel format. Pay attention to the bpp
- value, fbdev driver tries to use the current, or if you specify the
- <option>-bpp</option> option, then that.
-</para></listitem>
-<listitem><para>
- <option>-zoom</option> option isn't supported
- (use <option>-vf scale</option>). You can't use 8bpp (or less) modes.
-</para></listitem>
-<listitem><para>
- You possibly want to turn the cursor off:
- <screen>echo -e '\033[?25l'</screen>
- or
- <screen>setterm -cursor off</screen>
- and the screen saver:
- <screen>setterm -blank 0</screen>
- To turn the cursor back on:
- <screen>echo -e '\033[?25h'</screen>
- or
- <screen>setterm -cursor on</screen>
-</para></listitem>
-</itemizedlist>
-
-<note><para>
-FBdev video mode changing <emphasis>does not work</emphasis> with the VESA
-framebuffer, and don't ask for it, since it's not an
-<application>MPlayer</application> limitation.
-</para></note>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="mga_vid">
-<title>Matrox framebuffer (mga_vid)</title>
-
-<para>
-<systemitem>mga_vid</systemitem> is a combination of a video output driver and
-a Linux kernel module that utilizes the Matrox G200/G400/G450/G550 video
-scaler/overlay unit to perform YUV->RGB colorspace conversion and arbitrary
-video scaling.
-<systemitem>mga_vid</systemitem> has hardware VSYNC support with triple
-buffering. It works on both a framebuffer console and under X, but only
-with Linux 2.4.x.
-</para>
-
-<para>
-For a Linux 2.6.x version of this driver check out
-<ulink url="http://attila.kinali.ch/mga/"/> or have a look at the external
-Subversion repository of mga_vid which can be checked out via
-
-<screen>
-svn checkout svn://svn.mplayerhq.hu/mga_vid
-</screen>
-</para>
-
-<procedure>
-<title>Installation:</title>
-<step><para>
- To use it, you first have to compile <filename>drivers/mga_vid.o</filename>:
- <screen>
-make drivers<!--
---></screen>
-</para></step>
-<step><para>
- Then run (as <systemitem class="username">root</systemitem>)
- <screen>make install-drivers</screen>
- which should install the module and create the device node for you.
- Load the driver with
- <screen>insmod mga_vid.o</screen>
-</para></step>
-<step><para>
- You should verify the memory size detection using the
- <command>dmesg</command> command. If it's bad, use the
- <option>mga_ram_size</option> option
- (<command>rmmod mga_vid</command> first),
- specify card's memory size in MB:
- <screen>insmod mga_vid.o mga_ram_size=16</screen>
-</para></step>
-<step><para>
- To make it load/unload automatically when needed, first insert the
- following line at the end of <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 mga_vid</programlisting>
-</para></step>
-<step><para>
- Now you have to (re)compile <application>MPlayer</application>,
- <command>./configure</command> will detect
- <filename>/dev/mga_vid</filename> and build the 'mga' driver. Using it
- from <application>MPlayer</application> goes by <option>-vo mga</option>
- if you have matroxfb console, or <option>-vo xmga</option> under XFree86
- 3.x.x or 4.x.x.
-</para></step>
-</procedure>
-
-<para>
-The mga_vid driver cooperates with Xv.
-</para>
-
-<para>
-The <filename>/dev/mga_vid</filename> device file can be read for some
-info, for example by
-<screen>cat /dev/mga_vid</screen>
-and can be written for brightness change:
-<screen>echo "brightness=120" &gt; /dev/mga_vid</screen>
-</para>
-
-<para>
-There is a test application called <command>mga_vid_test</command> in the same
-directory. It should draw 256x256 images on the screen if all is working well.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
-<title>3Dfx YUV support</title>
-
-<para>
-This driver uses the kernel's tdfx framebuffer driver to play movies with
-YUV acceleration. You'll need a kernel with tdfxfb support, and recompile
-with
-<screen>./configure --enable-tdfxfb</screen>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="tdfx_vid">
-<title>tdfx_vid</title>
-
-<para>
-This is a combination of a Linux kernel module and a video output
-driver, similar to <link linkend="mga_vid">mga_vid</link>.
-You'll need a 2.4.x kernel with the <systemitem>agpgart</systemitem>
-driver since <systemitem>tdfx_vid</systemitem> uses AGP.
-Pass <option>--enable-tdfxfb</option> to <command>configure</command>
-to build the video output driver and build the kernel module with
-the following instructions.
-</para>
-
-<procedure>
-<title>Installing the tdfx_vid.o kernel module:</title>
-<step><para>
- Compile <filename>drivers/tdfx_vid.o</filename>:
- <screen>
-make drivers</screen>
-</para></step>
-<step><para>
- Then run (as <systemitem class="username">root</systemitem>)
- <screen>make install-drivers</screen>
- which should install the module and create the device node for you.
- Load the driver with
- <screen>insmod tdfx_vid.o</screen>
-</para></step>
-<step><para>
- To make it load/unload automatically when needed, first insert the
- following line at the end of <filename>/etc/modules.conf</filename>:
-
- <programlisting>alias char-major-178 tdfx_vid</programlisting>
-</para></step>
-</procedure>
-
-<para>
-There is a test application called <command>tdfx_vid_test</command> in the same
-directory. It should print out some useful information if all is working well.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="opengl">
-<title>OpenGL output</title>
-
-<para>
-<application>MPlayer</application> supports displaying movies using OpenGL,
-but if your platform/driver supports xv as should be the case on a PC with
-Linux, use xv instead, OpenGL performance is considerably worse. If you
-have an X11 implementation without xv support, OpenGL is a viable
-alternative.
-</para>
-
-<para>
-Unfortunately not all drivers support this feature. The Utah-GLX drivers
-(for XFree86 3.3.6) support it for all cards.
-See <ulink url="http://utah-glx.sf.net"/> for details about how to
-install it.
-</para>
-
-<para>
-XFree86(DRI) 4.0.3 or later supports OpenGL with Matrox and Radeon cards,
-4.2.0 or later supports Rage128.
-See <ulink url="http://dri.sf.net"/> for download and installation
-instructions.
-</para>
-
-<para>
-A hint from one of our users: the GL video output can be used to get
-vsynced TV output. You'll have to set an environment variable (at
-least on nVidia):
-</para>
-
-<para>
-<command>export __GL_SYNC_TO_VBLANK=1</command>
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="aalib">
-<title>AAlib &ndash; text mode displaying</title>
-
-<para>
-AAlib is a library for displaying graphics in text mode, using powerful
-ASCII renderer. There are <emphasis>lots</emphasis> of programs already
-supporting it, like Doom, Quake, etc. <application>MPlayer</application>
-contains a very usable driver for it. If <filename>./configure</filename>
-detects aalib installed, the aalib libvo driver will be built.
-</para>
-
-<para>
-You can use some keys in the AA Window to change rendering options:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Key</entry><entry>Action</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>1</keycap></entry><entry>
- decrease contrast
-</entry></row>
-<row><entry><keycap>2</keycap></entry><entry>
- increase contrast
-</entry></row>
-<row><entry><keycap>3</keycap></entry><entry>
- decrease brightness
-</entry></row>
-<row><entry><keycap>4</keycap></entry><entry>
- increase brightness
-</entry></row>
-<row><entry><keycap>5</keycap></entry><entry>
- switch fast rendering on/off
-</entry></row>
-<row><entry><keycap>6</keycap></entry><entry>
- set dithering mode (none, error distribution, Floyd Steinberg)
-</entry></row>
-<row><entry><keycap>7</keycap></entry><entry>
- invert image
-</entry></row>
-<row><entry><keycap>8</keycap></entry><entry>
- toggles between aa and <application>MPlayer</application> control
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title>The following command line options can be used:</title>
-<varlistentry>
- <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- change OSD color
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
- <listitem><para>
- Change subtitle color
- </para><para>
- where <replaceable>V</replaceable> can be:
- <literal>0</literal> (normal),
- <literal>1</literal> (dark),
- <literal>2</literal> (bold),
- <literal>3</literal> (bold font),
- <literal>4</literal> (reverse),
- <literal>5</literal> (special).
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<variablelist>
-<title>AAlib itself provides a large sum of options. Here are some
-important:</title>
-<varlistentry>
- <term><option>-aadriver</option></term>
- <listitem><para>
- Set recommended aa driver (X11, curses, Linux).
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaextended</option></term>
- <listitem><para>
- Use all 256 characters.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aaeight</option></term>
- <listitem><para>
- Use eight bit ASCII.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-aahelp</option></term>
- <listitem><para>
- Prints out all aalib options.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<note><para>
-The rendering is very CPU intensive, especially when using AA-on-X
-(using aalib on X), and it's least CPU intensive on standard,
-non-framebuffer console. Use SVGATextMode to set up a big textmode,
-then enjoy! (secondary head Hercules cards rock :)) (but IMHO you
-can use <option>-vf 1bpp</option> option to get graphics on hgafb:)
-</para></note>
-
-<para>
-Use the <option>-framedrop</option> option if your computer isn't fast
-enough to render all frames!
-</para>
-
-<para>
-Playing on terminal you'll get better speed and quality using the Linux
-driver, not curses (<option>-aadriver linux</option>). But therefore you
-need write access on
-<filename>/dev/vcsa<replaceable>&lt;terminal&gt;</replaceable></filename>!
-That isn't autodetected by aalib, but vo_aa tries to find the best mode.
-See <ulink url="http://aa-project.sf.net/tune"/> for further
-tuning issues.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="caca">
-<title>
-<systemitem class="library">libcaca</systemitem> &ndash; Color ASCII Art library
-</title>
-
-<para>
-The <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink>
-library is a graphics library that outputs text instead of pixels, so that it
-can work on older video cards or text terminals. It is not unlike the famous
-<systemitem class="library">AAlib</systemitem> library.
-<systemitem class="library">libcaca</systemitem> needs a terminal to work, thus
-it should work on all Unix systems (including Mac OS X) using either the
-<systemitem class="library">slang</systemitem> library or the
-<systemitem class="library">ncurses</systemitem> library, on DOS using the
-<systemitem class="library">conio.h</systemitem> library, and on Windows systems
-using either <systemitem class="library">slang</systemitem> or
-<systemitem class="library">ncurses</systemitem> (through Cygwin emulation) or
-<systemitem class="library">conio.h</systemitem>. If
-<filename>./configure</filename>
-detects <systemitem class="library">libcaca</systemitem>, the caca libvo driver
-will be built.
-</para>
-
-<itemizedlist>
-<title>The differences with <systemitem class="library">AAlib</systemitem> are
- the following:</title>
-<listitem><para>
- 16 available colors for character output (256 color pairs)
-</para></listitem>
-<listitem><para>
- color image dithering
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist>
-<title>But <systemitem class="library">libcaca</systemitem> also has the
- following limitations:</title>
-<listitem><para>
- no support for brightness, contrast, gamma
-</para></listitem>
-</itemizedlist>
-
-<para>
-You can use some keys in the caca window to change rendering options:
-</para>
-
-<informaltable>
-<tgroup cols="2">
-<thead>
- <row><entry>Key</entry><entry>Action</entry></row>
-</thead>
-<tbody>
-<row><entry><keycap>d</keycap></entry><entry>
- Toggle <systemitem class="library">libcaca</systemitem> dithering methods.
-</entry></row>
-<row><entry><keycap>a</keycap></entry><entry>
- Toggle <systemitem class="library">libcaca</systemitem> antialiasing.
-</entry></row>
-<row><entry><keycap>b</keycap></entry><entry>
- Toggle <systemitem class="library">libcaca</systemitem> background.
-</entry></row>
-</tbody>
-</tgroup>
-</informaltable>
-
-<variablelist>
-<title><systemitem class="library">libcaca</systemitem> will also look for
- certain environment variables:</title>
-<varlistentry>
- <term><option>CACA_DRIVER</option></term>
- <listitem><para>
- Set recommended caca driver. e.g. ncurses, slang, x11.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_GEOMETRY (X11 only)</option></term>
- <listitem><para>
- Specifies the number of rows and columns. e.g. 128x50.
- </para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>CACA_FONT (X11 only)</option></term>
- <listitem><para>
- Specifies the font to use. e.g. fixed, nexus.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-Use the <option>-framedrop</option> option if your computer is not fast
-enough to render all frames.
-</para>
-
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vesa">
-<title>VESA - output to VESA BIOS</title>
-
-<para>
-This driver was designed and introduced as a <emphasis role="bold">generic
-driver</emphasis> for any video card which has VESA VBE 2.0 compatible
-BIOS. Another advantage of this driver is that it tries to force TV output
-on.
-<citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16,
-1998</citetitle> (Page 70) says:
-</para>
-
-<blockquote>
-<formalpara><title>Dual-Controller Designs</title>
-<para>
-VBE 3.0 supports the dual-controller design by assuming that since both
-controllers are typically provided by the same OEM, under control of a
-single BIOS ROM on the same graphics card, it is possible to hide the fact
-that two controllers are indeed present from the application. This has the
-limitation of preventing simultaneous use of the independent controllers,
-but allows applications released before VBE 3.0 to operate normally. The
-VBE Function 00h (Return Controller Information) returns the combined
-information of both controllers, including the combined list of available
-modes. When the application selects a mode, the appropriate controller is
-activated. Each of the remaining VBE functions then operates on the active
-controller.
-</para>
-</formalpara>
-</blockquote>
-
-<para>
-So you have chances to get working TV-out by using this driver.
-(I guess that TV-out frequently is standalone head or standalone output
-at least.)
-</para>
-
-<itemizedlist spacing="compact">
-<title>ADVANTAGES</title>
-<listitem><para>
- You have chances to watch movies <emphasis role="bold">if Linux even doesn't
- know</emphasis> your video hardware.
-</para></listitem>
-<listitem><para>
- You don't need to have installed any graphics' related things on your
- Linux (like X11 (AKA XFree86), fbdev and so on). This driver can be run
- from <emphasis role="bold">text-mode</emphasis>.
-</para></listitem>
-<listitem><para>
- You have chances to get <emphasis role="bold">working TV-out</emphasis>.
- (It's known at least for ATI's cards).
-</para></listitem>
-<listitem><para>
- This driver calls <function>int 10h</function> handler thus it's not
- an emulator - it calls <emphasis role="bold">real</emphasis> things of
- <emphasis>real</emphasis> BIOS in <emphasis>real-mode</emphasis>
- (actually in vm86 mode).
-</para></listitem>
-<listitem><para>
- You can use VIDIX with it, thus getting accelerated video display
- <emphasis role="bold">and</emphasis> TV output at the same time!
- (Recommended for ATI cards.)
- </para></listitem>
-<listitem><para>
- If you have VESA VBE 3.0+, and you had specified
- <option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option> somewhere
- (config file, or command line) you will get the highest possible refresh rate.
- (Using General Timing Formula). To enable this feature you have to specify
- <emphasis role="bold">all</emphasis> your monitor options.
-</para></listitem>
-</itemizedlist>
-
-<itemizedlist spacing="compact">
-<title>DISADVANTAGES</title>
-<listitem><para>
- It works only on <emphasis role="bold">x86 systems</emphasis>.
-</para></listitem>
-<listitem><para>
- It can be used only by <systemitem class="username">root</systemitem>.
-</para></listitem>
-<listitem><para>
- Currently it's available only for <emphasis role="bold">Linux</emphasis>.
-</para></listitem>
-</itemizedlist>
-
-<variablelist>
-<title>COMMAND LINE OPTIONS AVAILABLE FOR VESA</title>
-<varlistentry>
- <term><option>-vo vesa:<replaceable>opts</replaceable></option></term>
- <listitem><para>
- currently recognized: <literal>dga</literal> to force dga mode and
- <literal>nodga</literal> to disable dga mode. In dga mode you can enable
- double buffering via the <option>-double</option> option. Note: you may omit
- these parameters to enable <emphasis role="bold">autodetection</emphasis> of
- dga mode.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<itemizedlist spacing="compact">
-<title>KNOWN PROBLEMS AND WORKAROUNDS</title>
-<listitem><para>
- If you have installed <emphasis role="bold">NLS</emphasis> font on your
- Linux box and run VESA driver from text-mode then after terminating
- <application>MPlayer</application> you will have
- <emphasis role="bold">ROM font</emphasis> loaded instead of national.
- You can load national font again by using <command>setsysfont</command>
- utility from the Mandrake/Mandriva distribution for example.
- (<emphasis role="bold">Hint</emphasis>: The same utility is used for
- localization of fbdev).
-</para></listitem>
-<listitem><para>
- Some <emphasis role="bold">Linux graphics drivers</emphasis> don't update
- active <emphasis role="bold">BIOS mode</emphasis> in DOS memory.
- So if you have such problem - always use VESA driver only from
- <emphasis role="bold">text-mode</emphasis>. Otherwise text-mode (#03) will
- be activated anyway and you will need restart your computer.
-</para></listitem>
-<listitem><para>
- Often after terminating VESA driver you get
- <emphasis role="bold">black</emphasis> screen. To return your screen to
- original state - simply switch to other console (by pressing
- <keycombo><keycap>Alt</keycap><keycap>F&lt;x&gt;</keycap></keycombo>)
- then switch to your previous console by the same way.
-</para></listitem>
-<listitem><para>
- To get <emphasis role="bold">working TV-out</emphasis> you need have plugged
- TV-connector in before booting your PC since video BIOS initializes
- itself only once during POST procedure.
-</para></listitem>
-</itemizedlist>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="x11">
-<title>X11</title>
-
-<para>
-Avoid if possible. Outputs to X11 (uses shared memory extension), with no
-hardware acceleration at all. Supports (MMX/3DNow/SSE accelerated, but
-still slow) software scaling, use the options <option>-fs -zoom</option>.
-Most cards have hardware scaling support, use the <option>-vo xv</option>
-output for them, or <option>-vo xmga</option> for Matrox cards.
-</para>
-
-<para>
-The problem is that most cards' driver doesn't support hardware
-acceleration on the second head/TV. In those cases, you see green/blue
-colored window instead of the movie. This is where this driver comes in
-handy, but you need powerful CPU to use software scaling. Don't use the SDL
-driver's software output+scaler, it has worse image quality!
-</para>
-
-<para>
-Software scaling is very slow, you better try changing video modes instead.
-It's very simple. See the <link linkend="dga-modelines">DGA section's
-modelines</link>, and insert them into your <filename>XF86Config</filename>.
-
-<itemizedlist spacing="compact">
-<listitem><para>
- If you have XFree86 4.x.x: use the <option>-vm</option> option. It will
- change to a resolution your movie fits in. If it doesn't:
-</para></listitem>
-<listitem><para>
- With XFree86 3.x.x: you have to cycle through available resolutions
- with the
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
- and
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
- keys.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-If you can't find the modes you inserted, browse XFree86's output. Some
-drivers can't use low pixelclocks that are needed for low resolution
-video modes.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="vidix">
-<title>VIDIX</title>
-
-<formalpara><title>PREAMBLE</title>
-<para>
-<acronym>VIDIX</acronym> is the abbreviation for
-<emphasis role="bold">VID</emphasis>eo
-<emphasis role="bold">I</emphasis>nterface
-for *ni<emphasis role="bold">X</emphasis>.
-VIDIX was designed and introduced as an interface for fast user-space drivers
-providing such video performance as mga_vid does for Matrox cards. It's also
-very portable.
-</para>
-</formalpara>
-
-<para>
-This interface was designed as an attempt to fit existing video
-acceleration interfaces (known as mga_vid, rage128_vid, radeon_vid,
-pm3_vid) into a fixed scheme. It provides a high level interface to chips
-which are known as BES (BackEnd scalers) or OV (Video Overlays). It doesn't
-provide low level interface to things which are known as graphics servers.
-(I don't want to compete with X11 team in graphics mode switching). I.e.
-main goal of this interface is to maximize the speed of video playback.
-</para>
-
-<itemizedlist spacing="compact">
-<title>USAGE</title>
-<listitem><para>
- You can use standalone video output driver: <option>-vo xvidix</option>.
- This driver was developed as X11's front end to VIDIX technology. It
- requires X server and can work only under X server. Note that, as it directly
- accesses the hardware and circumvents the X driver, pixmaps cached in the
- graphics card's memory may be corrupted. You can prevent this by limiting
- the amount of video memory used by X with the XF86Config option "VideoRam"
- in the device section. You should set this to the amount of memory installed
- on your card minus 4MB. If you have less than 8MB of video ram, you can use
- the option "XaaNoPixmapCache" in the screen section instead.
-</para></listitem>
-<listitem>
- <para>
- There is a console VIDIX driver: <option>-vo cvidix</option>.
- This requires a working and initialized framebuffer for most cards (or else
- you'll just mess up the screen), and you'll have a similar effect as with
- <option>-vo mga</option> or <option>-vo fbdev</option>. nVidia cards however
- are able to output truly graphical video on a real text console. See the
- <link linkend="vidix-nvidia">nvidia_vid</link> section for more information.
- To get rid of text on the borders and the blinking cursor, try something like
- </para>
-
- <screen>setterm -cursor off > /dev/tty9</screen>
-
- <para>
- (assuming <systemitem>tty9</systemitem> is unused so far) and then
- switch to <systemitem>tty9</systemitem>.
- On the other hand, <option>-colorkey 0</option> should give you a video
- running in the "background", though this depends on the colorkey
- functionality to work right.
- </para>
-</listitem>
-<listitem><para>
- You can use VIDIX subdevice which was applied to several video output
- drivers, such as: <option>-vo vesa:vidix</option>
- (<emphasis role="bold">Linux only</emphasis>) and
- <option>-vo fbdev:vidix</option>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Indeed it doesn't matter which video output driver is used with
-<emphasis role="bold">VIDIX</emphasis>.
-</para>
-
-<itemizedlist spacing="compact">
-<title>REQUIREMENTS</title>
-<listitem><para>
- Video card should be in graphics mode (except nVidia cards with the
- <option>-vo cvidix</option> output driver).
-</para></listitem>
-<listitem><para>
- <application>MPlayer</application>'s video output driver should know
- active video mode and be able to tell to VIDIX subdevice some video
- characteristics of server.
-</para></listitem>
-</itemizedlist>
-
-<formalpara><title>USAGE METHODS</title>
-<para>
-When VIDIX is used as <emphasis role="bold">subdevice</emphasis> (<option>-vo
-vesa:vidix</option>) then video mode configuration is performed by video
-output device (<emphasis role="bold">vo_server</emphasis> in short). Therefore you can
-pass into command line of <application>MPlayer</application> the same keys
-as for vo_server. In addition it understands <option>-double</option> key
-as globally visible parameter. (I recommend using this key with VIDIX at
-least for ATI's card). As for <option>-vo xvidix</option>, currently it
-recognizes the following options: <option>-fs -zoom -x -y -double</option>.
-</para>
-</formalpara>
-
-<para>
-Also you can specify VIDIX's driver directly as third subargument in
-command line:
-<screen>
-mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>file.avi</replaceable>
-</screen>
-or
-<screen>
-mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>file.avi</replaceable>
-</screen>
-But it's dangerous, and you shouldn't do that. In this case given driver
-will be forced and result is unpredictable (it may
-<emphasis role="bold">freeze</emphasis> your computer). You should do that
-ONLY if you are absolutely sure it will work, and
-<application>MPlayer</application> doesn't do it automatically. Please tell
-about it to the developers. The right way is to use VIDIX without arguments
-to enable driver autodetection.
-</para>
-
-
-<sect2 id="svgalib_helper">
-<title>svgalib_helper</title>
-
-<para>
-Since VIDIX requires direct hardware access you can either run it as root
-or set the SUID bit on the <application>MPlayer</application> binary
-(<emphasis role="bold">Warning: This is a security risk!</emphasis>).
-Alternatively, you can use a special kernel module, like this:
-</para>
-
-<procedure>
-<step><para>
- Download the
- <ulink url="http://www.arava.co.il/matan/svgalib/">development version</ulink>
- of svgalib (1.9.x).
-</para></step>
-<step><para>
- Compile the module in the
- <filename class="directory">svgalib_helper</filename> directory (it can be
- found inside the
- <filename class="directory">svgalib-1.9.17/kernel/</filename> directory if
- you've downloaded the source from the svgalib site) and insmod it.
-</para></step>
-<step><para>
- To create the necessary devices in the
- <filename class="directory">/dev</filename> directory, do a
- <screen>make device</screen> in the
- <filename class="directory">svgalib_helper</filename> dir, as root.
-</para></step>
-<step><para>
- Then run <filename>configure</filename> again and pass the parameter
- <option>--enable-svgalib_helper</option> as well as
- <option>--extra-cflags=<replaceable>/path/to/svgalib_helper/sources/</replaceable>kernel/svgalib_helper</option>,
- where <replaceable>/path/to/svgalib_helper/sources/</replaceable> has to be
- adjusted to wherever you extracted svgalib_helper sources.
-</para></step>
-<step><para>
- Recompile.
-</para></step>
-</procedure>
-</sect2>
-
-
-<sect2 id="vidix-ati">
-<title>ATI cards</title>
-
<para>
-Currently most ATI cards are supported natively, from Mach64 to the
-newest Radeons.
-</para>
-
-<para>
-There are two compiled binaries: <filename>radeon_vid</filename> for Radeon and
-<filename>rage128_vid</filename> for Rage 128 cards. You may force one or let
-the VIDIX system autoprobe all available drivers.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-mga">
-<title>Matrox cards</title>
-
-<para>
-Matrox G200, G400, G450 and G550 have been reported to work.
-</para>
-
-<para>
-The driver supports video equalizers and should be nearly as fast as the
-<link linkend="mga_vid">Matrox framebuffer</link>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-trident">
-<title>Trident cards</title>
-
-<para>
-There is a driver available for the Trident Cyberblade/i1 chipset, which
-can be found on VIA Epia motherboards.
-</para>
-
-<para>
-The driver was written and is maintained by
-<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-3dlabs">
-<title>3DLabs cards</title>
-
-<para>
-Although there is a driver for the 3DLabs GLINT R3 and Permedia3 chips, no one
-has tested it, so reports are welcome.
-</para>
-</sect2>
-
-
-<sect2 id="vidix-nvidia">
-<title>nVidia cards</title>
-
-<para>
-An unique feature of the nvidia_vid driver is its ability to display video on
-<emphasis role="bold">plain, pure, text-only console</emphasis> - with no
-framebuffer or X magic whatsoever. For this purpose, we'll have to use the
-<option>cvidix</option> video output, as the following example shows:
-<screen>mplayer -vo cvidix <replaceable>example.avi</replaceable></screen>
-</para>
-</sect2>
-
-
-<sect2 id="vidix-sis">
-<title>SiS cards</title>
-
-<para>
-This is very experimental code, just like nvidia_vid.
-</para>
-
-<para>
-It's been tested on SiS 650/651/740 (the most common chipsets used in the
-SiS versions of the "Shuttle XPC" barebones boxes out there)
-</para>
-
-<para>
-Reports awaited!
-</para>
-</sect2>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="directfb">
-<title>DirectFB</title>
-
-<blockquote><para>
-"DirectFB is a graphics library which was designed with embedded systems
-in mind. It offers maximum hardware accelerated performance at a minimum
-of resource usage and overhead." - quoted from
-<ulink url="http://www.directfb.org"/>
-</para></blockquote>
-
-<para>I'll exclude DirectFB features from this section.</para>
-
-<para>
-Though <application>MPlayer</application> is not supported as a "video
-provider" in DirectFB, this output driver will enable video playback
-through DirectFB. It will - of course - be accelerated, on my Matrox G400
-DirectFB's speed was the same as XVideo.
-</para>
-
-<para>
-Always try to use the newest version of DirectFB. You can use DirectFB options
-on the command line, using the <option>-dfbopts</option> option. Layer
-selection can be done by the subdevice method, e.g.:
-<option>-vo directfb:2</option> (layer -1 is default: autodetect)
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="dfbmga">
-<title>DirectFB/Matrox (dfbmga)</title>
-
-<para>
-Please read the <link linkend="directfb">main DirectFB</link> section for
-general information.
-</para>
-
-<para>
-This video output driver will enable CRTC2 (on the second head) on Matrox
-G400/G450/G550 cards, displaying video
-<emphasis role="bold">independent</emphasis> of the first head.
-</para>
-
-<para>
-Ville Syrjala's has a
-<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
-and a
-<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
-on his homepage that explain how to make DirectFB TV output run on Matrox cards.
-</para>
-
-<note><para>
-the first DirectFB version with which we could get this working was
-0.9.17 (it's buggy, needs that <systemitem>surfacemanager</systemitem>
-patch from the URL above). Porting the CRTC2 code to
-<link linkend="mga_vid">mga_vid</link> has been planned for years,
-<ulink url="../../tech/patches.txt">patches</ulink> are welcome.
-</para></note>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="mpeg_decoders">
-<title>MPEG decoders</title>
-
-<sect2 id="dvb">
-<title>DVB output and input</title>
-
-<para>
-<application>MPlayer</application> supports cards with the Siemens DVB chipset
-from vendors like Siemens, Technotrend, Galaxis or Hauppauge. The latest DVB
-drivers are available from the
-<ulink url="http://www.linuxtv.org">Linux TV site</ulink>.
-If you want to do software transcoding you should have at least a 1GHz CPU.
-</para>
-
-<para>
-Configure should detect your DVB card. If it did not, force detection with
-<screen>./configure --enable-dvb</screen>
-Then compile and install as usual.</para>
-
-<formalpara><title>USAGE</title>
-<para>
-Hardware decoding of streams containing MPEG-1/2 video and/or MPEG audio can be done with this
-command:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>file.mpg|vob</replaceable>
-</screen>
-</para>
-</formalpara>
-
-<para>
-Decoding of any other type of video stream requires transcoding to MPEG-1, thus it's slow
-and may not be worth the trouble, especially if your computer is slow.
-It can be achieved using a command like this:
-<screen>
-mplayer -ao mpegpes -vo mpegpes <replaceable>yourfile.ext</replaceable>
-mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>yourfile.ext</replaceable>
-</screen></para>
-
-<para>
-Note that DVB cards only support heights 288 and 576 for PAL or 240 and 480 for
-NTSC. You <emphasis role="bold">must</emphasis> rescale for other heights by
-adding <option>scale=width:height</option> with the width and height you want
-to the <option>-vf</option> option. DVB cards accept various widths, like 720,
-704, 640, 512, 480, 352 etc. and do hardware scaling in horizontal direction,
-so you do not need to scale horizontally in most cases.
-For a 512x384 (aspect 4:3) MPEG-4 (DivX) try:
-<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</screen>
-</para>
-
-<para>
-If you have a widescreen movie and you do not want to scale it to full height,
-you can use the <option>expand=w:h</option> filter to add black bands. To view a
-640x384 MPEG-4 (DivX), try:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-If your CPU is too slow for a full size 720x576 MPEG-4 (DivX), try downscaling:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>If speed does not improve, try vertical downscaling, too:
-<screen>
-mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>file.avi</replaceable>
-</screen>
-</para>
-
-<para>
-For OSD and subtitles use the OSD feature of the expand filter. So, instead of
-<option>expand=w:h</option> or <option>expand=w:h:x:y</option>, use
-<option>expand=w:h:x:y:1</option> (the 5th parameter <option>:1</option>
-at the end will enable OSD rendering). You may want to move the image up a bit
-to get a bigger black zone for subtitles. You may also want to move subtitles
-up, if they are outside your TV screen, use the
-<option>-subpos &lt;0-100&gt;</option>
-option to adjust this (<option>-subpos 80</option> is a good choice).
-</para>
-
-<para>
-In order to play non-25fps movies on a PAL TV or with a slow CPU, add the
-<option>-framedrop</option> option.
-</para>
-
-<para>
-To keep the aspect ratio of MPEG-4 (DivX) files and get the optimal scaling
-parameters (hardware horizontal scaling and software vertical scaling
-while keeping the right aspect ratio), use the new dvbscale filter:
-<screen>
-for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
-for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
-</screen>
-</para>
-
-<formalpara><title>Digital TV (DVB input module)</title>
-<para>You can use your DVB card for watching Digital TV.</para>
-</formalpara>
-
-<para>
-You should have the programs <command>scan</command> and
-<command>szap/tzap/czap/azap</command> installed; they are all included in
-the drivers package.
-</para>
-
-<para>
-Verify that your drivers are working properly with a program such as
-<ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
-(that is the base of the DVB input module).
-</para>
-
-<para>
-Now you should compile a <filename>~/.mplayer/channels.conf</filename>
-file, with the syntax accepted by <command>szap/tzap/czap/azap</command>, or
-have <command>scan</command> compile it for you.
-</para>
-
-<para>
-If you have more than one card type (e.g. Satellite, Terrestrial, Cable and ATSC)
-you can save your channels files as
-<filename>~/.mplayer/channels.conf.sat</filename>,
-<filename>~/.mplayer/channels.conf.ter</filename>,
-<filename>~/.mplayer/channels.conf.cbl</filename>,
-and <filename>~/.mplayer/channels.conf.atsc</filename>,
-respectively, so as to implicitly hint <application>MPlayer</application>
-to use these files rather than <filename>~/.mplayer/channels.conf</filename>,
-and you only need to specify which card to use.
-</para>
-
-<para>
-Make sure that you have <emphasis>only</emphasis> Free to Air
-channels in your <filename>channels.conf</filename> file, or
-<application>MPlayer</application> will wait for an unencrypted transmission.
-</para>
-
-<para>
-In your audio and video fields you can use an extended syntax:
-<option>...:pid[+pid]:...</option> (for a maximum of 6 pids each);
-in this case <application>MPlayer</application> will include in the
-stream all the indicated pids, plus pid 0 (that contains the PAT).
-You should always include in each row the PMT and PCR pids for the
-corresponding channel (if you know them).
-You can also specify 8192, this will select all pids on this frequency
-and you can then switch between the programs with TAB.
-This might need more bandwidth, though cheap cards always transfer all
-channels at least to the kernel so it does not make much of a difference
-for these.
-Other possible uses are: televideo pid, second audio track, etc.
-</para>
-
-<para>
-If <application>MPlayer</application> complains frequently about
-<screen>Too many video/audio packets in the buffer</screen> or
-if you notice a growing desynchronization between audio and
-video verify the presence of the PCR pid in your stream
-(needed to comply with the buffering model of the transmitter)
-and/or try to use the libavformat MPEG-TS demuxer by adding
-<option>-demuxer lavf -lavfdopts probesize=128</option>
-to your command line.
-</para>
-
-<para>
-To show the first of the channels present in your list, run
-<screen>mplayer dvb://</screen>
-</para>
-
-<para>
-If you want to watch a specific channel, such as R1, run
-<screen>mplayer dvb://<replaceable>R1</replaceable></screen>
-</para>
-
-<para>
-If you have more than one card you also need to specify the number of the card
-where the channel is visible (e.g. 2) with the syntax:
-<screen>mplayer dvb://<replaceable>2@R1</replaceable></screen>
-</para>
-
-<para>
-To change channels press the <keycap>h</keycap> (next) and
-<keycap>k</keycap> (previous) keys, or use the
-<link linkend="osdmenu">OSD menu</link>.
-</para>
-
-<para>
-To temporarily disable the audio or the video stream copy the
-following to <filename>~/.mplayer/input.conf</filename>:
-<screen>
-% set_property switch_video -2
-&amp; step_property switch_video
-? set_property switch_audio -2
-^ step_property switch_audio
-</screen>
-(Overriding the action keys as preferred.) When pressing the key
-corresponding to switch_x -2 the associated stream will be closed;
-when pressing the key corresponding to step_x the stream will be reopened.
-Notice that this switching mechanism will not work as expected when there
-are multiple audio and video streams in the multiplex.
-</para>
-
-<para>
-During playback (not during recording), in order to prevent stuttering
-and error messages such as 'Your system is too slow' it is advisable to add
-<screen>
--mc 10 -speed 0.97 -af scaletempo
-</screen>
-to your command line, adjusting the scaletempo parameters as preferred.
-</para>
-
-<para>
-If your <filename>~/.mplayer/menu.conf</filename> contains a
-<literal>&lt;dvbsel&gt;</literal> entry, such as the one in the example
-file <filename>etc/dvb-menu.conf</filename> (that you can use to overwrite
-<filename>~/.mplayer/menu.conf</filename>), the main menu will show a
-sub-menu entry that will permit you to choose one of the channels present
-in your <filename>channels.conf</filename>, possibly preceded by a menu
-with the list of cards available if more than one is usable by
-<application>MPlayer</application>.
-</para>
-
-<para>
-If you want to save a program to disk you can use
-<screen>
-mplayer -dumpfile <replaceable>r1.ts</replaceable> -dumpstream dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-If you want to record it in a different format (re-encoding it) instead
-you can run a command such as
-<screen>
-mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts bitrate=800 \
- -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://<replaceable>R1</replaceable>
-</screen>
-</para>
-
-<para>
-Read the man page for a list of options that you can pass to the
-DVB input module.
-</para>
-
-<formalpara><title>FUTURE</title>
-<para>
-If you have questions or want to hear feature announcements and take part in
-discussions on this subject, join our
-<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>
-mailing list. Please remember that the list language is English.
-</para>
-</formalpara>
-
-<para>
-In the future you may expect the ability to display OSD and subtitles using
-the native OSD feature of DVB cards.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr2">
-<title>DXR2</title>
-
-<para>
-<application>MPlayer</application> supports hardware accelerated playback
-with the Creative DXR2 card.
-</para>
-
-<para>
-First of all you will need properly installed DXR2 drivers. You can find
-the drivers and installation instructions at the
-<ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink> site.
-</para>
-
-<variablelist><title>USAGE</title>
-<varlistentry>
- <term><option>-vo dxr2</option></term>
- <listitem><para>Enable TV output.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-vo dxr2:x11</option> or <option>-vo dxr2:xv</option></term>
- <listitem><para>Enable Overlay output in X11.</para></listitem>
-</varlistentry>
-<varlistentry>
- <term><option>-dxr2 &lt;option1:option2:...&gt;</option></term>
- <listitem><para>
- This option is used to control the DXR2 driver.
- </para></listitem>
-</varlistentry>
-</variablelist>
-
-<para>
-The overlay chipset used on the DXR2 is of pretty bad quality but the
-default settings should work for everybody. The OSD may be usable with the
-overlay (not on TV) by drawing it in the colorkey. With the default colorkey
-settings you may get variable results, usually you will see the colorkey
-around the characters or some other funny effect. But if you properly adjust
-the colorkey settings you should be able to get acceptable results.
-</para>
-
-<para>Please see the man page for available options.</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="dxr3">
-<title>DXR3/Hollywood+</title>
-
-<para>
-<application>MPlayer</application> supports hardware accelerated playback
-with the Creative DXR3 and Sigma Designs Hollywood Plus cards. These cards
-both use the em8300 MPEG decoder chip from Sigma Designs.
-</para>
-
-<para>
-First of all you will need properly installed DXR3/H+ drivers, version 0.12.0
-or later. You can find the drivers and installation instructions at the
-<ulink url="http://dxr3.sf.net/">DXR3 &amp; Hollywood Plus for Linux</ulink>
-site. <filename>configure</filename> should detect your card automatically,
-compilation should go without problems.
-</para>
-
-<!-- FIXME: find a more clear presentation -->
-<variablelist>
-<title>USAGE</title>
-<varlistentry>
-<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term>
-<listitem><para>
-<option>overlay</option> activates the overlay instead of TV-out. It requires
-that you have a properly configured overlay setup to work right. The easiest
-way to configure the overlay is to first run autocal. Then run mplayer with
-dxr3 output and without overlay turned on, run dxr3view. In dxr3view you can
-tweak the overlay settings and see the effects in realtime, perhaps this feature
-will be supported by the <application>MPlayer</application> GUI in the future.
-When overlay is properly set up you will no longer need to use dxr3view.
-<option>prebuf</option> turns on prebuffering. Prebuffering is a feature of the
-em8300 chip that enables it to hold more than one frame of video at a time.
-This means that when you are running with prebuffering
-<application>MPlayer</application> will try to keep the video buffer filled
-with data at all times.
-If you are on a slow machine <application>MPlayer</application> will probably
-use close to, or precisely 100% of CPU.
-This is especially common if you play pure MPEG streams
-(like DVDs, SVCDs a.s.o.) since <application>MPlayer</application> will not have
-to reencode it to MPEG it will fill the buffer very fast.
-With prebuffering video playback is <emphasis role="bold">much</emphasis>
-less sensitive to other programs hogging the CPU, it will not drop frames unless
-applications hog the CPU for a long time.
-When running without prebuffering the em8300 is much more sensitive to CPU load,
-so it is highly suggested that you turn on <application>MPlayer</application>'s
-<option>-framedrop</option> option to avoid further loss of sync.
-<option>sync</option> will turn on the new sync-engine. This is currently an
-experimental feature. With the sync feature turned on the em8300's internal
-clock will be monitored at all times, if it starts to deviate from
-<application>MPlayer</application>'s clock it will be reset causing the em8300
-to drop any frames that are lagging behind.
-<option>norm=x</option> will set the TV norm of the DXR3 card without the need
-for external tools like em8300setup. Valid norms are 5 = NTSC, 4 = PAL-60,
-3 = PAL. Special norms are 2 (auto-adjust using PAL/PAL-60) and 1 (auto-adjust
-using PAL/NTSC) because they decide which norm to use by looking at the frame
-rate of the movie. norm = 0 (default) does not change the current norm.
-<option><replaceable>device</replaceable></option> = device number to use if
-you have more than one em8300 card. Any of these options may be left out.
-<option>:prebuf:sync</option> seems to work great when playing MPEG-4 (DivX)
-movies. People have reported problems using the prebuf option when playing
-MPEG-1/2 files.
-You might want to try running without any options first, if you have sync
-problems, or DVD subtitle problems, give <option>:sync</option> a try.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
- <listitem><para>
- For audio output, where <replaceable>X</replaceable> is the device number
- (0 if one card).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
- <listitem><para>
- The em8300 cannot play back samplerates lower than 44100Hz. If the sample
- rate is below 44100Hz select either 44100Hz or 48000Hz depending on which
- one matches closest. I.e. if the movie uses 22050Hz use 44100Hz as
- 44100 / 2 = 22050, if it is 24000Hz use 48000Hz as 48000 / 2 = 24000
- and so on.
- This does not work with digital audio output (<option>-ac hwac3</option>).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf lavc</option></term>
- <listitem><para>
- To watch non-MPEG content on the em8300 (i.e. MPEG-4 (DivX) or RealVideo)
- you have to specify an MPEG-1 video filter such as
- <systemitem class="library">libavcodec</systemitem> (lavc).
- See the man page for further info about <option>-vf lavc</option>.
- Currently there is no way of setting the fps of the em8300 which means that
- it is fixed to 30000/1001 fps.
- Because of this it is highly recommended that you use
- <option>-vf lavc=<replaceable>quality</replaceable>:25</option>
- especially if you are using prebuffering. Then why 25 and not 30000/1001?
- Well, the thing is that when you use 30000/1001 the picture becomes a bit
- jumpy.
- The reason for this is unknown to us.
- If you set it to somewhere between 25 and 27 the picture becomes stable.
- For now all we can do is accept this for a fact.
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-vf expand=-1:-1:-1:-1:1</option></term>
- <listitem><para>
- Although the DXR3 driver can put some OSD onto the MPEG-1/2/4 video, it has
- much lower quality than <application>MPlayer</application>'s traditional OSD,
- and has several refresh problems as well. The command line above will firstly
- convert the input video to MPEG-4 (this is mandatory, sorry), then apply an
- expand filter which won't expand anything (-1: default), but apply the normal
- OSD onto the picture (that's what the "1" at the end does).
- </para></listitem>
-</varlistentry>
-
-<varlistentry>
- <term><option>-ac hwac3</option></term>
- <listitem><para>
- The em8300 supports playing back AC-3 audio (surround sound) through the
- digital audio output of the card. See the <option>-ao oss</option> option
- above, it must be used to specify the DXR3's output instead of a sound card.
- </para></listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="zr">
-<title>Zr</title>
-
-<para>
-This is a display-driver (<option>-vo zr</option>) for a number of MJPEG
-capture/playback cards (tested for DC10+ and Buz, and it should work for the
-LML33, the DC10). The driver works by encoding the frame to JPEG and then
-sending it to the card. For the JPEG encoding
-<systemitem class="library">libavcodec</systemitem>
-is used, and required. With the special <emphasis>cinerama</emphasis> mode,
-you can watch movies in true wide screen provided that you have two beamers
-and two MJPEG cards. Depending on resolution and quality settings, this driver
-may require a lot of CPU power, remember to specify <option>-framedrop</option>
-if your machine is too slow. Note: My AMD K6-2 350MHz is (with
-<option>-framedrop</option>) quite adequate for watching VCD sized material and
-downscaled movies.
-</para>
-
-<para>
-This driver talks to the kernel driver available at
-<ulink url="http://mjpeg.sf.net"/>, so
-you must get it working first. The presence of an MJPEG card is autodetected by
-the <filename>configure</filename> script, if autodetection fails, force
-detection with
-<screen>./configure --enable-zr</screen>
-</para>
-
-<para>
-The output can be controlled by several options, a long description of the
-options can be found in the man page, a short list of options can be viewed
-by running
-<screen>mplayer -zrhelp</screen>
-</para>
-
-<para>
-Things like scaling and the OSD (on screen display) are not handled by
-this driver but can be done using the video filters. For example, suppose
-that you have a movie with a resolution of 512x272 and you want to view it
-fullscreen on your DC10+. There are three main possibilities, you may scale
-the movie to a width of 768, 384 or 192. For performance and quality reasons,
-I would choose to scale the movie to 384x204 using the fast bilinear software
-scaler. The command line is
-<screen>
-mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Cropping can be done by the <option>crop</option> filter and by this
-driver itself. Suppose that a movie is too wide for display on your Buz and
-that you want to use <option>-zrcrop</option> to make the movie less wide,
-then you would issue the following command
-<screen>
-mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-if you want to use the <option>crop</option> filter, you would do
-<screen>
-mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
-</screen>
-</para>
-
-<para>
-Extra occurrences of <option>-zrcrop</option> invoke
-<emphasis>cinerama</emphasis> mode, i.e. you can distribute the movie over
-several TVs or beamers to create a larger screen.
-Suppose you have two beamers. The left one is connected to your
-Buz at <filename>/dev/video1</filename> and the right one is connected to
-your DC10+ at <filename>/dev/video0</filename>. The movie has a resolution
-of 704x288. Suppose also that you want the right beamer in black and white and
-that the left beamer should have JPEG frames at quality 10, then you would
-issue the following command
-<screen>
-mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
- -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
- <replaceable>movie.avi</replaceable>
-</screen>
-</para>
-
-<para>
-You see that the options appearing before the second <option>-zrcrop</option>
-only apply to the DC10+ and that the options after the second
-<option>-zrcrop</option> apply to the Buz. The maximum number of MJPEG cards
-participating in <emphasis>cinerama</emphasis> is four, so you can build a
-2x2 vidiwall.
-</para>
-
-<para>
-Finally an important remark: Do not start or stop XawTV on the playback device
-during playback, it will crash your computer. It is, however, fine to
-<emphasis role="bold">FIRST</emphasis> start XawTV,
-<emphasis role="bold">THEN</emphasis> start <application>MPlayer</application>,
-wait for <application>MPlayer</application>
-to finish and <emphasis role="bold">THEN</emphasis> stop XawTV.
-</para>
-</sect1>
-
-<!-- ********** -->
-
-<sect1 id="blinkenlights">
-<title>Blinkenlights</title>
-
-<para>
-This driver is capable of playback using the Blinkenlights UDP protocol. If you
-don't know what <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>
-or its successor
-<ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>
-are, find it out. Although this is most probably the least used video output
-driver, without a doubt it is the coolest <application>MPlayer</application>
-has to offer. Just watch some of the
-<ulink url="http://www.blinkenlights.de/video.en.html">Blinkenlights documentation videos</ulink>.
-On the Arcade video you can see the Blinkenlights output driver in
-action at 00:07:50.
-</para>
-</sect1>
-
-
-<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
-
-<sect1 id="tvout">
-<title>TV-out support</title>
-
-<sect2 id="tvout-mga-g400">
-<title>Matrox G400 cards</title>
-
-<para>
-Under Linux you have two methods to get G400 TV out working:
-</para>
-
-<important>
-<para>
-for Matrox G450/G550 TV-out instructions, please see the next section!
-</para>
-</important>
-
-<variablelist>
-<varlistentry>
- <term>XFree86</term>
- <listitem>
- <para>
- Using the driver and the HAL module, available from the <ulink
- url="http://www.matrox.com">Matrox site</ulink>. This will give you X
- on the TV.
- </para>
- <para>
- <emphasis role="bold">This method doesn't give you accelerated playback</emphasis>
- as under Windows! The second head has only YUV framebuffer, the
- <emphasis>BES</emphasis> (Back End Scaler, the YUV scaler on
- G200/G400/G450/G550 cards) doesn't work on it! The windows driver somehow
- workarounds this, probably by using the 3D engine to zoom, and the YUV
- framebuffer to display the zoomed image. If you really want to use X, use
- the <option>-vo x11 -fs -zoom</option> options, but it will be
- <emphasis role="bold">SLOW</emphasis>, and has
- <emphasis role="bold">Macrovision</emphasis> copy protection enabled
- (you can "workaround" Macrovision using this
- <ulink url="http://avifile.sf.net/mgamacro.pl">Perl script</ulink>).
- </para>
- </listitem>
-</varlistentry>
-<varlistentry>
- <term>Framebuffer</term>
- <listitem>
- <para>
- Using the <emphasis role="bold">matroxfb modules</emphasis> in the 2.4
- kernels. 2.2 kernels don't have the TV-out feature in them, thus unusable
- for this. You have to enable ALL matroxfb-specific features during
- compilation (except MultiHead), and compile them into
- <emphasis role="bold">modules</emphasis>!
- You'll also need to enable I2C and put the tools
- <application>matroxset</application>, <application>fbset</application>
- and <application>con2fb</application> in your path.
- </para>
-
- <procedure>
- <step><para>
- Then load the <systemitem>matroxfb_Ti3026, matroxfb_maven, i2c-matroxfb,
- matroxfb_crtc2</systemitem> modules into your kernel. Your text-mode
- console will enter into framebuffer mode (no way back!).
- </para></step>
- <step><para>
- Next, set up your monitor and TV to your liking using the above tools.
- </para></step>
- <step><para>
- Yoh. Next task is to make the cursor on tty1 (or whatever) to
- disappear, and turn off screen blanking. Execute the following
- commands:
-
- <screen>
-echo -e '\033[?25l'
-setterm -blank 0<!--
- --></screen>
- or
- <screen>
-setterm -cursor off
-setterm -blank 0<!--
- --></screen>
-
- You possibly want to put the above into a script, and also clear the
- screen. To turn the cursor back:
- <screen>echo -e '\033[?25h'</screen> or
- <screen>setterm -cursor on</screen>
- </para></step>
- <step><para>
- Yeah kewl. Start movie playing with
- <screen>
-mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable><!--
- --></screen>
-
- (If you use X, now change to matroxfb with for example
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.)
- Change <literal>640</literal> and <literal>512</literal> if you set
- the resolution to other...
- </para></step>
- <step><para>
- <emphasis role="bold">Enjoy the ultra-fast ultra-featured Matrox TV
- output (better than Xv)!</emphasis>
- </para></step>
- </procedure>
- </listitem>
-</varlistentry>
-</variablelist>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_g450">
-<title>Matrox G450/G550 cards</title>
-
-<para>
-TV output support for these cards has only been recently introduced, and is
-not yet in the mainstream kernel.
-Currently the <emphasis role="bold">mga_vid</emphasis> module can't be used
-AFAIK, because the G450/G550 driver works only in one configuration: the first
-CRTC chip (with much more features) on the first display (on monitor),
-and the second CRTC (no <emphasis role="bold">BES</emphasis> - for
-explanation on BES, please see the G400 section above) on TV. So you can only
-use <application>MPlayer</application>'s <emphasis>fbdev</emphasis> output
-driver at the present.
-</para>
-
-<para>
-The first CRTC can't be routed to the second head currently. The author of the
-kernel matroxfb driver - Petr Vandrovec - will maybe make support for this, by
-displaying the first CRTC's output onto both of the heads at once, as currently
-recommended for G400, see the section above.
-</para>
-
-<para>
-The necessary kernel patch and the detailed HOWTO is downloadable from
-<ulink url="http://www.bglug.ca/matrox_tvout/"/>
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tv-out_matrox_cable">
-<title>Building a Matrox TV-out cable</title>
-<para>
-No one takes any responsibility, nor guarantee for any damage caused
-by this documentation.
-</para>
-
-<formalpara><title>Cable for G400</title>
-<para>
-The CRTC2 connector's fourth pin is the composite video signal. The
-ground are the sixth, seventh and eighth pins. (info contributed
-from Balázs Rácz)
-</para>
-</formalpara>
-
-<formalpara><title>Cable for G450</title>
-<para>
-The CRTC2 connector's first pin is the composite video signal. The
-ground are the fifth, sixth, seventh, and fifteenth (5, 6, 7, 15)
-pins. (info contributed from Balázs Kerekes)
-</para>
-</formalpara>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-ati">
-<title>ATI cards</title>
-
-<formalpara><title>PREAMBLE</title>
-<para>
-Currently ATI doesn't want to support any of its TV-out chips under Linux,
-because of their licensed Macrovision technology.
-</para>
-</formalpara>
-
-<itemizedlist>
-<title>ATI CARDS TV-OUT STATUS ON LINUX</title>
-<listitem><para>
- <emphasis role="bold">ATI Mach64</emphasis>:
- supported by <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">ASIC Radeon VIVO</emphasis>:
- supported by <ulink url="http://gatos.sf.net">GATOS</ulink>.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Radeon</emphasis> and <emphasis role="bold">Rage128</emphasis>:
- supported by <application>MPlayer</application>!
- Check <link linkend="vesa">VESA driver</link> and
- <link linkend="vidix">VIDIX</link> sections.
-</para></listitem>
-<listitem><para>
- <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
- supported by
- <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
-</para></listitem>
-</itemizedlist>
-
-<para>
-On other cards, just use the <link linkend="vesa">VESA</link> driver,
-without VIDIX. Powerful CPU is needed, though.
-</para>
-
-<para>
-Only thing you need to do - <emphasis role="bold">Have the TV connector
-plugged in before booting your PC</emphasis> since video BIOS initializes
-itself only once during POST procedure.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-nvidia">
-<title>nVidia</title>
-
-<para>
-First, you MUST download the closed-source drivers from
-<ulink url="http://nvidia.com"/>.
-I will not describe the installation and configuration process because it does
-not cover the scope of this documentation.
-</para>
-
-<para>
-After XFree86, XVideo, and 3D acceleration is properly working, edit your
-card's Device section in the <filename>XF86Config</filename> file, according
-to the following example (adapt for your card/TV):
-
-<programlisting>
-Section "Device"
- Identifier "GeForce"
- VendorName "ASUS"
- BoardName "nVidia GeForce2/MX 400"
- Driver "nvidia"
- #Option "NvAGP" "1"
- Option "NoLogo"
- Option "CursorShadow" "on"
-
- Option "TwinView"
- Option "TwinViewOrientation" "Clone"
- Option "MetaModes" "1024x768,640x480"
- Option "ConnectedMonitor" "CRT, TV"
- Option "TVStandard" "PAL-B"
- Option "TVOutFormat" "Composite"
-EndSection
-</programlisting>
-</para>
-
-<para>
-Of course the important thing is the TwinView part.
-</para>
-</sect2>
-
-<!-- ********** -->
-
-<sect2 id="tvout-neomagic">
-<title>NeoMagic</title>
-
-<para>
-The NeoMagic chip is found in a variety of laptops, some of them are equipped
-with a simple analog TV encoder, some have a more advanced one.
-<itemizedlist>
-<listitem><para>
- <emphasis role="bold">Analog encoder chip</emphasis>:
- It has been reported that reliable TV out can be obtained by using
- <option>-vo fbdev</option> or <option>-vo fbdev2</option>.
- You need to have vesafb compiled in your kernel and pass
- the following parameters on the kernel command line:
- <option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
- You should start <application>X</application>, then switch to console mode
- with e.g.
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.
- If you fail to start <application>X</application> before running
- <application>MPlayer</application> from the console, the video
- becomes slow and choppy (explanations are welcome).
- Login to your console, then initiate the following command:
-
- <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
-
- Now you should see the movie running in console mode filling up about
- half your laptop's LCD screen. To switch to TV hit
- <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo> three times.
- Tested on a Tecra 8000, 2.6.15 kernel with vesafb, ALSA v1.0.10.
-</para></listitem>
-<listitem>
- <para>
- <emphasis role="bold">Chrontel 70xx encoder chip</emphasis>:
- Found in IBM Thinkpad 390E and possibly other Thinkpads or notebooks.
- </para><para>
- You must use <option>-vo vesa:neotv_pal</option> for PAL or
- <option>-vo vesa:neotv_ntsc</option> for NTSC.
- It will provide TV output function in the following 16 bpp and 8 bpp modes:
- </para>
- <itemizedlist>
- <listitem><para>NTSC 320x240, 640x480 and maybe 800x600 too.</para></listitem>
- <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
- </itemizedlist>
- <para>Mode 512x384 is not supported in BIOS. You must scale the image
- to a different resolution to activate TV out. If you can see an image on the
- screen in 640x480 or in 800x600 but not in 320x240 or other smaller
- resolution you need to replace two tables in <filename>vbelib.c</filename>.
- See the vbeSetTV function for details. Please contact the author in this case.
- </para>
- <para>
- Known issues: VESA-only, no other controls such as brightness, contrast,
- blacklevel, flickfilter are implemented.
- </para>
-</listitem>
-</itemizedlist>
+OUTDATED CONTENT REMOVED
</para>
-</sect2>
-</sect1>
</chapter>