annotate DOCS/xml/en/codecs.xml @ 21152:6833a38146bb

x264 supports interlaced encoding for some time
author gpoirier
date Wed, 22 Nov 2006 13:12:28 +0000
parents f95698d9d53c
children b210a229fbcb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20535
c0687e92d463 convert DOCS/xml/en and help_mp-en.h to UTF-8
kraymer
parents: 20355
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
10913
49b1a67e7381 Add revision keyword to english xml files, to ease translation synchronization
lumag
parents: 10869
diff changeset
2 <!-- $Revision$ -->
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
3 <chapter id="codecs">
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
4 <title>Codecs</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
5
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
6 <sect1 id="video-codecs">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
7 <title>Video codecs</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
8
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
9 <para>
19681
10568f10ac2e Codecs page link fix, paragraph reworded.
diego
parents: 19581
diff changeset
10 The <ulink url="../../codecs-status.html">codec status table</ulink> is a
10568f10ac2e Codecs page link fix, paragraph reworded.
diego
parents: 19581
diff changeset
11 complete list of all supported codecs, regenerated daily.
10568f10ac2e Codecs page link fix, paragraph reworded.
diego
parents: 19581
diff changeset
12 Some binary codecs for use with MPlayer are available in the
10568f10ac2e Codecs page link fix, paragraph reworded.
diego
parents: 19581
diff changeset
13 <ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">download section</ulink>
10568f10ac2e Codecs page link fix, paragraph reworded.
diego
parents: 19581
diff changeset
14 of our homepage.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
15 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
16
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
17 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
18 The most important ones above all:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
19 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
20
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
21 <itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
22 <listitem><simpara>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 14004
diff changeset
23 <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) and
0d9e27059495 MPEG-X spelling
diego
parents: 14004
diff changeset
24 <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) video
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
25 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
26 <listitem><simpara>
20355
8a12502290a7 remove some DivX version numbers
kraymer
parents: 20346
diff changeset
27 native decoders for <emphasis role="bold">all DivX variants,
8a12502290a7 remove some DivX version numbers
kraymer
parents: 20346
diff changeset
28 3ivX, M$ MPEG-4</emphasis> v1, v2 and other MPEG-4 variants
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
29 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
30 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
31 native decoder for <emphasis role="bold">Windows Media Video 7/8</emphasis>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
32 (<emphasis role="bold">WMV1/WMV2</emphasis>), and Win32 DLL decoder
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
33 for <emphasis role="bold">Windows Media Video 9</emphasis>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
34 (<emphasis role="bold">WMV3</emphasis>), both used in <filename>.wmv</filename>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
35 files
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
36 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
37 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
38 native <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> decoder
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
39 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
40 <listitem><simpara>
10132
nicolas
parents: 10039
diff changeset
41 native <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> decoder
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
42 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
43 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
44 <emphasis role="bold">3ivx</emphasis> v1, v2 decoder
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
45 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
46 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
47 Cinepak and <emphasis role="bold">Intel Indeo</emphasis> codecs (3.1,3.2,4.1,5.0)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
48 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
49 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
50 <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 and other hardware
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
51 formats
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
52 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
53 <listitem><simpara>
13111
fad3639920d5 H.263 spelling
diego
parents: 12903
diff changeset
54 VIVO 1.0, 2.0, I263 and other <emphasis role="bold">H.263(+)</emphasis> variants
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
55 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
56 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
57 FLI/FLC
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
58 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
59 <listitem><simpara>
11822
359eaf957bf1 Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents: 11758
diff changeset
60 <emphasis role="bold">RealVideo 1.0 &amp; 2.0</emphasis> from
359eaf957bf1 Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents: 11758
diff changeset
61 <systemitem class="library">libavcodec</systemitem>, and
11638
189ac484f742 compile fix
wight
parents: 11637
diff changeset
62 <emphasis role="bold">RealVideo 3.0 &amp; 4.0</emphasis> codecs using RealPlayer
11637
alex
parents: 11555
diff changeset
63 libraries
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
64 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
65 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
66 native decoder for HuffYUV
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
67 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
68 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
69 Various old simple RLE-like formats
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
70 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
71 </itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
72
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
73 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
74 If you have a Win32 codec not listed here which is not supported yet,
14061
682ddd07f14e better label
diego
parents: 14024
diff changeset
75 please read the <link linkend="codec-importing">codec importing HOWTO</link>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
76 and help us add support for it.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
77 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
78
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
79
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
80 <sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
11107
alex
parents: 11090
diff changeset
81 <title>FFmpeg/libavcodec</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
82
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
83 <para>
20335
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
84 <ulink url="http://ffmpeg.org">FFmpeg</ulink> contains
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
85 <systemitem class="library">libavcodec</systemitem>, the leading
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
86 open source video and audio codec library. It is capable
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
87 of decoding most multimedia formats, usually at higher speeds
20666
bc27c0fedfbe punctuation, full stop -> comma
torinthiel
parents: 20535
diff changeset
88 than the alternatives, and aims to add support for
20335
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
89 the rest of them eventually. It is the default decoder for
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
90 the majority of codecs that <application>MPlayer</application>
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
91 supports. Encoding is also possible for some formats and
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
92 supported in <application>MEncoder</application>.
11089
0649acf1f1e3 reworked the libavcodec section
alex
parents: 11074
diff changeset
93 </para>
0649acf1f1e3 reworked the libavcodec section
alex
parents: 11074
diff changeset
94
0649acf1f1e3 reworked the libavcodec section
alex
parents: 11074
diff changeset
95 <para>
20687
558608ebde11 Better wording, especially if hyperlinks are not visible
torinthiel
parents: 20686
diff changeset
96 For a complete list of supported
558608ebde11 Better wording, especially if hyperlinks are not visible
torinthiel
parents: 20686
diff changeset
97 <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">video</ulink>
558608ebde11 Better wording, especially if hyperlinks are not visible
torinthiel
parents: 20686
diff changeset
98 and <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">audio</ulink>
558608ebde11 Better wording, especially if hyperlinks are not visible
torinthiel
parents: 20686
diff changeset
99 codecs please visit the FFmpeg homepage.
10132
nicolas
parents: 10039
diff changeset
100 </para>
nicolas
parents: 10039
diff changeset
101
nicolas
parents: 10039
diff changeset
102 <para>
20335
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
103 <application>MPlayer</application> contains
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
104 <systemitem class="library">libavcodec</systemitem>.
20689
ac12fbccafae Unify ./configure script handling
torinthiel
parents: 20688
diff changeset
105 Just run <filename>./configure</filename> and compile.
18601
802ec5d54662 </para> tag was accidently deleted and caused compile error
kraymer
parents: 18599
diff changeset
106 </para>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
107
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
108 </sect2>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
109
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
110
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
111 <sect2 id="xvid">
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20689
diff changeset
112 <title>Xvid</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
113
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
114 <para>
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20689
diff changeset
115 <ulink url="http://www.xvid.org">Xvid</ulink> is a free software MPEG-4 ASP
15871
157c7a7edd68 Small fix
gpoirier
parents: 15710
diff changeset
116 compliant video codec, which features two pass encoding and full MPEG-4 ASP
15709
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
117 support, making it a lot more efficient than the well-known DivX codec.
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
118 It yields very good video quality and good performance due to CPU
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
119 optimizations for most modern processors.
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
120 </para>
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
121 <para>
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
122 It began as a forked development of the OpenDivX codec.
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
123 This happened when ProjectMayo changed OpenDivX to closed source
20355
8a12502290a7 remove some DivX version numbers
kraymer
parents: 20346
diff changeset
124 DivX4, and the non-ProjectMayo people working on OpenDivX got angry,
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20689
diff changeset
125 then started Xvid. So both projects have the same origin.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
126 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
127
20335
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
128 <para>
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20689
diff changeset
129 Note that Xvid is not necessary to decode Xvid-encoded video.
20335
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
130 <systemitem class="library">libavcodec</systemitem> is used by
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
131 default as it offers better speed.
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
132 </para>
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
133
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
134 <procedure>
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20689
diff changeset
135 <title>Installing <systemitem class="library">Xvid</systemitem></title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
136 <para>
15709
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
137 Like most open source software, it is available in two flavors:
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
138 <ulink url="http://www.xvid.org/downloads.html">official releases</ulink>
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
139 and the CVS version.
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
140 The CVS version is usually stable enough to use, as most of the time it
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
141 features fixes for bugs that exist in releases.
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20689
diff changeset
142 Here is what to do to make <systemitem class="library">Xvid</systemitem>
15709
c5d60b8f3fa9 Updated description of XviD codec
gpoirier
parents: 15370
diff changeset
143 CVS work with <application>MEncoder</application> (you need at least
16067
f9ffda85aeee the the auto* tools should be inside an <application></application> tag
gpoirier
parents: 15915
diff changeset
144 <application>autoconf</application> 2.50,
f9ffda85aeee the the auto* tools should be inside an <application></application> tag
gpoirier
parents: 15915
diff changeset
145 <application>automake</application> and <application>libtool</application>):
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
146 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
147 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
148 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
149 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
150 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
151 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
152 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
153 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
154 <screen>cd xvidcore/build/generic</screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
155 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
156 <step><para>
9720
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
157 <screen>./bootstrap.sh</screen>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
158 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
159 <step><para>
9720
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
160 <screen>./configure</screen>
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
161 You may have to add some options (examine the output of
13223
4d3536e69177 - <screen> -> <command>, improves readibility and sense.
wight
parents: 13222
diff changeset
162 <command>./configure --help</command>).
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
163 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
164 <step><para>
9720
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
165 <screen>make &amp;&amp; make install</screen>
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
166 </para></step>
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
167 <step><para>
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
168 If you specified <option>--enable-divxcompat</option>,
5cd40fe6ba7e Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents: 9683
diff changeset
169 copy <filename>../../src/divx4.h</filename> to
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
170 <filename class="directory">/usr/local/include/</filename>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
171 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
172 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
173 Recompile <application>MPlayer</application> with
12000
204cb6d58da6 Keep the ./configure options for xvid in sync.
rathann
parents: 11822
diff changeset
174 <option>--with-xvidlibdir=<replaceable>/path/to/</replaceable>libxvidcore.a</option>
20312
acab67264bf9 capitalization fixes, add missing dots to sentences
kraymer
parents: 19681
diff changeset
175 <option>--with-xvidincdir=<replaceable>/path/to/</replaceable>xvid.h</option>.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
176 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
177 </procedure>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
178 </sect2>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
179
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
180
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
181 <sect2 id="codec-x264">
20684
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
182 <title><systemitem class="library">x264</systemitem></title>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
183
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
184 <sect3 id="codec-x264-whatis">
20684
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
185 <title>What is <systemitem class="library">x264</systemitem>?</title>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
186 <para>
20335
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
187 <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
fccaabde1978 Remove obsolete parts, some updates.
diego
parents: 20322
diff changeset
188 is a library for
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
189 creating H.264 video streams.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
190 It is not 100% complete, but currently it has at least some kind
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
191 of support for most of the H.264 features which impact quality.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
192 There are also many advanced features in the H.264 specification
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
193 which have nothing to do with video quality per se; many of these
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
194 are not yet implemented in
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
195 <systemitem class="library">x264</systemitem>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
196 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
197
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
198 <itemizedlist>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
199 <title>Encoder features</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
200 <listitem><para>CAVLC/CABAC</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
201 <listitem><para>Multi-references</para></listitem>
17273
30f4c40e137f update x264 feature summary
lorenm
parents: 16166
diff changeset
202 <listitem><para>Intra: all macroblock types (16x16, 8x8, and 4x4 with
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
203 all predictions)</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
204 <listitem><para>Inter P: all partitions (from 16x16 down to
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
205 4x4)</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
206 <listitem><para>Inter B: partitions from 16x16 down to 8x8
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
207 (including SKIP/DIRECT)</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
208 <listitem><para>Ratecontrol: constant quantizer, constant bitrate,
17273
30f4c40e137f update x264 feature summary
lorenm
parents: 16166
diff changeset
209 single or multipass ABR, optional VBV</para></listitem>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
210 <listitem><para>Scene cut detection</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
211 <listitem><para>Adaptive B-frame placement</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
212 <listitem><para>B-frames as references / arbitrary frame
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
213 order</para></listitem>
17273
30f4c40e137f update x264 feature summary
lorenm
parents: 16166
diff changeset
214 <listitem><para>8x8 and 4x4 adaptive spatial transform</para></listitem>
30f4c40e137f update x264 feature summary
lorenm
parents: 16166
diff changeset
215 <listitem><para>Lossless mode</para></listitem>
30f4c40e137f update x264 feature summary
lorenm
parents: 16166
diff changeset
216 <listitem><para>Custom quantization matrices</para></listitem>
30f4c40e137f update x264 feature summary
lorenm
parents: 16166
diff changeset
217 <listitem><para>Parallel encoding of multiple slices</para></listitem>
21152
6833a38146bb x264 supports interlaced encoding for some time
gpoirier
parents: 20860
diff changeset
218 <listitem><para>Interlacing</para></listitem>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
219 </itemizedlist>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
220
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
221 </sect3>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
222
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
223 <sect3 id="codec-h264-whatis">
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
224 <title>What is H.264?</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
225 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
226 H.264 is one name for a new digital video codec jointly developed
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
227 by the ITU and MPEG.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
228 It can also be correctly referred to by the cumbersome names of
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
229 "ISO/IEC 14496-10" or "MPEG-4 Part 10".
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
230 More frequently, it is referred to as "MPEG-4 AVC" or just "AVC".
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
231 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
232 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
233 Whatever you call it, H.264 may be worth trying because it can
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
234 typically match the quality of MPEG-4 ASP with 5%-30% less
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
235 bitrate.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
236 Actual results will depend on both the source material and the
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
237 encoder.
15370
bd6adbd632e4 Fixes suggested by Diego
gpoirier
parents: 15335
diff changeset
238 The gains from using H.264 do not come for free: Decoding H.264
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
239 streams seems to have steep CPU and memory requirements.
15915
b3924612667a Update of the x264 encoding guide:
gpoirier
parents: 15894
diff changeset
240 For instance, on a 1733 MHz Athlon, a DVD-resolution 1500kbps H.264
b3924612667a Update of the x264 encoding guide:
gpoirier
parents: 15894
diff changeset
241 video requires around 35% CPU to decode.
b3924612667a Update of the x264 encoding guide:
gpoirier
parents: 15894
diff changeset
242 By comparison, decoding a DVD-resolution 1500kbps MPEG-4 ASP stream
b3924612667a Update of the x264 encoding guide:
gpoirier
parents: 15894
diff changeset
243 requires around 10% CPU.
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
244 This means that decoding high-definition streams is almost out of
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
245 the question for most users.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
246 It also means that even a decent DVD rip may sometimes stutter on
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
247 processors slower than 2.0 GHz or so.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
248 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
249 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
250 At least with <systemitem class="library">x264</systemitem>,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
251 encoding requirements are not much worse than what you are used to
15370
bd6adbd632e4 Fixes suggested by Diego
gpoirier
parents: 15335
diff changeset
252 with MPEG-4 ASP.
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
253 For instance, on a 1733 MHz Athlon a typical DVD encode would run
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
254 at 5-15fps.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
255 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
256 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
257 This document is not intended to explain the details of H.264,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
258 but if you are interested in a brief overview, you may want to read
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
259 <ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
260 </para>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
261 </sect3>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
262
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
263 <sect3 id="codec-x264-playback">
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
264 <title>How can I play H.264 videos with <application>MPlayer</application>?</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
265 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
266 <application>MPlayer</application> uses
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
267 <systemitem class="library">libavcodec</systemitem>'s H.264
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
268 decoder.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
269 <systemitem class="library">libavcodec</systemitem> has had at
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
270 least minimally usable H.264 decoding since around July 2004,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
271 however major changes and improvements have been implemented since
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
272 that time, both in terms of more functionalities supported and in
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
273 terms of improved CPU usage.
18599
d4682b259dbf xml docs: CVS --> Subversion
kraymer
parents: 18060
diff changeset
274 Just to be certain, it is always a good idea to use a recent Subversion
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
275 checkout.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
276 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
277 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
278 If you want a quick and easy way to know whether there have been
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
279 recent changes to <systemitem class="library">libavcodec</systemitem>'s
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
280 H.264 decoding, you might keep an eye on
18599
d4682b259dbf xml docs: CVS --> Subversion
kraymer
parents: 18060
diff changeset
281 <ulink url="http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">FFmpeg Subversion repository's web interface</ulink>.
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
282 </para>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
283 </sect3>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
284
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
285 <sect3 id="codec-x264-encode">
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
286 <title>How can I encode videos using <application>MEncoder</application> and <systemitem class="library">x264</systemitem>?</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
287 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
288 If you have the subversion client installed, the latest x264
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
289 sources can be gotten with this command:
20686
27f476227e52 Remove ugly indentation in <screen> tags
torinthiel
parents: 20685
diff changeset
290 <screen>svn co svn://svn.videolan.org/x264/trunk x264</screen>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
291 <application>MPlayer</application> sources are updated whenever
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
292 an <systemitem class="library">x264</systemitem> API change
18599
d4682b259dbf xml docs: CVS --> Subversion
kraymer
parents: 18060
diff changeset
293 occurs, so it is always suggested to use
d4682b259dbf xml docs: CVS --> Subversion
kraymer
parents: 18060
diff changeset
294 <application>MPlayer</application> from Subversion as well.
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
295 Perhaps this situation will change when and if an
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
296 <systemitem class="library">x264</systemitem> "release" occurs.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
297 Meanwhile, <systemitem class="library">x264</systemitem> should
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
298 be considered very unstable, in the sense that its programming
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
299 interface is subject to change.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
300 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
301 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
302 <systemitem class="library">x264</systemitem> is built and
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
303 installed in the standard way:
20686
27f476227e52 Remove ugly indentation in <screen> tags
torinthiel
parents: 20685
diff changeset
304 <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
305 This installs libx264.a in /usr/local/lib and x264.h is placed in
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
306 /usr/local/include.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
307
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
308 With the <systemitem class="library">x264</systemitem> library
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
309 and header placed in the standard locations, building
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
310 <application>MPlayer</application> with
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
311 <systemitem class="library">x264</systemitem> support is easy.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
312 Just run the standard:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
313 <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
20689
ac12fbccafae Unify ./configure script handling
torinthiel
parents: 20688
diff changeset
314 The <filename>./configure</filename> script will autodetect that you have satisfied the
15326
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
315 requirements for <systemitem class="library">x264</systemitem>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
316 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15316
diff changeset
317 </sect3>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
318 </sect2>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
319 </sect1>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
320
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
321 <!-- ********** -->
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
322
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
323 <sect1 id="audio-codecs">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
324 <title>Audio codecs</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
325
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
326 <itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
327 <title>The most important audio codecs above all:</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
328 <listitem><simpara>
11342
bcb9c6abf798 some clarifications
alex
parents: 11107
diff changeset
329 MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role="bold">native</emphasis>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
330 code, with MMX/SSE/3DNow! optimization)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
331 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
332 <listitem><simpara>
13222
diego
parents: 13111
diff changeset
333 Windows Media Audio 7 and 8 (AKA WMAv1 and WMAv2) (<emphasis role="bold">native</emphasis> code, with
11822
359eaf957bf1 Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents: 11758
diff changeset
334 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
335 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
336 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
337 Windows Media Audio 9 (WMAv3) (using DMO DLL)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
338 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
339 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
340 AC3 Dolby audio (<emphasis role="bold">native</emphasis> code, with
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
341 MMX/SSE/3DNow! optimization)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
342 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
343 <listitem><simpara>
13532
diego
parents: 13223
diff changeset
344 AC3 passing through sound card hardware
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
345 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
346 <listitem><simpara>
11342
bcb9c6abf798 some clarifications
alex
parents: 11107
diff changeset
347 AAC
bcb9c6abf798 some clarifications
alex
parents: 11107
diff changeset
348 </simpara></listitem>
bcb9c6abf798 some clarifications
alex
parents: 11107
diff changeset
349 <listitem><simpara>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
350 Ogg Vorbis audio codec (<emphasis role="bold">native</emphasis> library)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
351 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
352 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
353 RealAudio: DNET (low bitrate AC3), Cook, Sipro and ATRAC3
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
354 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
355 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
356 QuickTime: Qualcomm and QDesign audio codecs
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
357 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
358 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
359 VIVO audio (g723, Vivo Siren)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
360 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
361 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
362 Voxware audio (using DirectShow DLL)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
363 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
364 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
365 alaw and ulaw, various gsm, adpcm and pcm formats and other simple old
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
366 audio codecs
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
367 </simpara></listitem>
18060
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
368 <listitem><simpara>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
369 Adaptive Multi-Rate (AMR) speech codecs
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
370 </simpara></listitem>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
371 </itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
372
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
373
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
374 <sect2 id="swac3">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
375 <title>Software AC3 decoding</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
376
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
377 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
378 This is the default decoder used for files with AC3 audio.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
379 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
380
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
381 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
382 The AC3 decoder can create audio output mixes for 2, 4, or 6 speakers.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
383 When configured for 6 speakers, this decoder provides separate output of
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
384 all the AC3 channels to the sound driver, allowing for full "surround
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
385 sound" experience without the external AC3 decoder required to use the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
386 hwac3 codec.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
387 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
388
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
389 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
390 Use the <option>-channels</option> option to select the number of output
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
391 channels. Use <option>-channels 2</option> for a stereo downmix. For a 4
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
392 channel downmix (Left Front, Right Front, Left Surround and Right Surround
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
393 outputs), use <option>-channels 4</option>. In this case, any center
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
394 channel will be mixed equally to the front channels. <option>-channels
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
395 6</option> will output all the AC3 channels as they are encoded - in the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
396 order Left, Right, Left Surround, Right Surround, Center and LFE.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
397 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
398
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
399 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
400 The default number of output channels is 2.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
401 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
402
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
403 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
404 To use more than 2 output channels, you will need to use OSS, and have a
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
405 sound card that supports the appropriate number of output channels via the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
406 SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
407 (used by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
408 also supposed to work).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
409 </para>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
410 </sect2>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
411
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
412
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
413 <sect2 id="hwac3">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
414 <title>Hardware AC3 decoding</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
415 <para>
12369
6c19f8e780fc S/PDIF spelling corrected
wight
parents: 12000
diff changeset
416 You need an AC3 capable sound card, with digital out (S/PDIF). The card's
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
417 driver must properly support the AFMT_AC3 format (C-Media does). Connect
12369
6c19f8e780fc S/PDIF spelling corrected
wight
parents: 12000
diff changeset
418 your AC3 decoder to the S/PDIF output, and use the <option>-ac
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
419 hwac3</option> option. It is experimental but known to work with C-Media
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
420 cards and Soundblaster Live! + ALSA (but not OSS) drivers and DXR3/Hollywood+
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
421 MPEG decoder cards.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
422 </para>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
423 </sect2>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
424
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
425
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
426 <sect2 id="libmad">
20684
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
427 <title><systemitem class="library">libmad</systemitem> support</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
428
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
429 <para>
20684
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
430 <ulink url="http://www.underbit.com/products/mad/"><systemitem class="library">libmad</systemitem></ulink>
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
431 is a multiplatform, integer (internally 24bit PCM) only
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
432 MPEG audio decoding library. It does not handle broken files well, and it
11342
bcb9c6abf798 some clarifications
alex
parents: 11107
diff changeset
433 sometimes has problems with seeking, but it may perform better on FPU-less
20684
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
434 (such as <link linkend="arm">ARM</link>) platform than <systemitem class="library">mp3lib</systemitem>.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
435 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
436
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
437 <para>
20684
9076064494eb A bunch of missing <systemitem class="library"> tags
torinthiel
parents: 20683
diff changeset
438 If you have a proper installation of <systemitem class="library">libmad</systemitem>,
20689
ac12fbccafae Unify ./configure script handling
torinthiel
parents: 20688
diff changeset
439 <filename>./configure</filename>
20315
7b34f4f0933d --enable-external-faad doesn't exist any more
kraymer
parents: 20312
diff changeset
440 will notice and support for MPEG audio decoding via
7b34f4f0933d --enable-external-faad doesn't exist any more
kraymer
parents: 20312
diff changeset
441 <systemitem class="library">libmad</systemitem> will be built automatically.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
442 </para>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
443 </sect2>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
444
17432
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
445 <sect2 id="hwmpa">
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
446 <title>Hardware MPEG audio codec</title>
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
447
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
448 <para>
20683
4f3e4ba365f8 Missing <option> tag
torinthiel
parents: 20666
diff changeset
449 This codec (selected by <option>-ac hwmpa</option>) passes through MPEG audio packets
17432
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
450 to hardware decoders, such as the ones found in full-featured DVB cards
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
451 and DXR2 adapters.
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
452 Don't use it in combination with any other audio output device
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
453 (such as OSS and ALSA) that isn't able to decode it (you will hear
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
454 only white noise).
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
455 </para>
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
456 </sect2>
e36a50f22aca documented audio codec hwmpa
nicodvb
parents: 17321
diff changeset
457
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
458
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
459 <sect2 id="aac">
9802
nicolas
parents: 9784
diff changeset
460 <title>AAC codec</title>
nicolas
parents: 9784
diff changeset
461 <para>
nicolas
parents: 9784
diff changeset
462 AAC (Advanced Audio Coding) is an audio codec sometimes found in MOV and MP4
nicolas
parents: 9784
diff changeset
463 files. An open source decoder called FAAD is available from
10766
57f5eb4d884f libfaad is included now.
diego
parents: 10701
diff changeset
464 <ulink url="http://www.audiocoding.com"/>.
14658
8bccff70ebf8 The included libfaad is at version 2.1 beta.
diego
parents: 14113
diff changeset
465 <application>MPlayer</application> includes a CVS snapshot of libfaad 2.1
8bccff70ebf8 The included libfaad is at version 2.1 beta.
diego
parents: 14113
diff changeset
466 beta, so you do not need to get it separately.
9802
nicolas
parents: 9784
diff changeset
467 </para>
11031
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
468
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
469 <para>
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
470 If you use gcc 3.2 which fails to compile our internal FAAD or want to use
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
471 the external library for some other reason, download the library from the
14113
4c91818a371c link updates
diego
parents: 14061
diff changeset
472 <ulink url="http://www.audiocoding.com/modules/mydownloads/">download page</ulink>
20689
ac12fbccafae Unify ./configure script handling
torinthiel
parents: 20688
diff changeset
473 and pass <option>--enable-faad-external</option> to <filename>./configure</filename>.
11031
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
474 You do not need all of faad2 to decode AAC files, libfaad is enough. Build
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
475 it like this:
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
476 <screen>
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
477 cd faad2/
14700
db451cd8ea37 Simplify FAAD instructions.
diego
parents: 14658
diff changeset
478 sh bootstrap
11031
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
479 ./configure
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
480 cd libfaad
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
481 make
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
482 make install
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
483 </screen>
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
484 Binaries are not available from audiocoding.com, but you can (apt-)get Debian
18820
1ff5eeb87dce URL update for Marillat Debian packages
diego
parents: 18636
diff changeset
485 packages from <ulink url="http://www.debian-multimedia.org/">Christian Marillat's homepage</ulink>,
15894
688fa06538ef Mandrake --> Mandriva name change
diego
parents: 15871
diff changeset
486 Mandrake/Mandriva RPMs from the <ulink url="http://plf.zarb.org">P.L.F</ulink> and RedHat RPMs
12882
1b3b8b8ae12e update RedHat RPM sites in doc translations
rathann
parents: 12832
diff changeset
487 from <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>.
11031
f57563a141aa libfaad FAQ, external FAAD info added back.
diego
parents: 10913
diff changeset
488 </para>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
489 </sect2>
9802
nicolas
parents: 9784
diff changeset
490
18060
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
491 <sect2 id="amr">
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
492 <title>AMR codecs</title>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
493 <para>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
494 Adaptive Multi-Rate speech codec is used in third generation (3G) mobile
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
495 phones.
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
496 Reference implementation is available from
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
497 <ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
498 (free for private use).
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
499 </para>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
500 <para>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
501 To enable support, download the sources for
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
502 <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
503 and
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
504 <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
505 codecs, put them in the directory where you unpacked the
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
506 <application>MPlayer</application> source and run the following commands:
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
507 <screen>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
508 unzip 26104-610.zip
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
509 unzip 26104-610_ANSI_C_source_code.zip
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
510 mv c-code libavcodec/amr_float
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
511 unzip 26204-600.zip
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
512 unzip 26204-600_ANSI-C_source_code.zip
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
513 mv c-code libavcodec/amrwb_float
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
514 </screen>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
515 After that, follow the usual <application>MPlayer</application>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
516 <link linkend="features">build procedure</link>.
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
517 </para>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
518 </sect2>
cbc29633fbee AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents: 17432
diff changeset
519
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
520 </sect1>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
521
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
522 <!-- ********** -->
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
523
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
524 <sect1 id="codec-importing">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
525 <title>Win32 codecs importing HOWTO</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
526
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
527 <!-- TODO: a short paragraph of text would be nice here... -->
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
528
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
529 <sect2 id="vfw-codecs">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
530 <title>VFW codecs</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
531
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
532 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
533 VFW (Video for Windows) is the old Video API for Windows. Its codecs have
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
534 the <filename>.DLL</filename> or (rarely) <filename>.DRV</filename>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
535 extension. If <application>MPlayer</application> fails at playing your AVI
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
536 with this kind of message:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
537 <screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
538 It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
539 HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
540 have to find out which DLL Windows loads in order to play this file. In our
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
541 case, the <filename>system.ini</filename> contains this information in a
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
542 line that reads:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
543 <programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
544 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
545
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
546 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
547 So you need the <filename>huffyuv.dll</filename> file. Note that the audio
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
548 codecs are specified by the MSACM prefix:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
549 <programlisting>msacm.l3acm=L3codeca.acm</programlisting>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
550 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
551
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
552 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
553 This is the MP3 codec. Now that you have all the necessary information
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
554 (fourcc, codec file, sample AVI), submit your codec support request by
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
555 mail, and upload these files to the FTP site:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
556 <systemitem role="url">
20688
d91fa373b66b Better URL markup
torinthiel
parents: 20687
diff changeset
557 ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;codecname&gt;</replaceable>/
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
558 </systemitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
559 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
560
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
561 <note><para>On Windows NT/2000/XP search for this info in the registry,
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
562 e.g. search for &quot;VIDC.HFYU&quot;. To find out how to do this, look at
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
563 the old DirectShow method below.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
564 </para></note>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
565 </sect2>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
566
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
567
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
568 <sect2 id="dshow-codecs">
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
569 <title>DirectShow codecs</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
570
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
571 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
572 DirectShow is the newer Video API, which is even worse than its predecessor.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
573 Things are harder with DirectShow, since
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
574 <itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
575 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
576 <filename>system.ini</filename> does not contain the needed information,
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
577 instead it is stored in the registry and
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
578 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
579 <listitem><simpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
580 we need the GUID of the codec.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
581 </simpara></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
582 </itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
583 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
584
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
585 <procedure>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
586 <title>New Method:</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
587 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
588 Using <application>Microsoft GraphEdit</application> (fast)
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
589 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
590 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
591 Get <application>GraphEdit</application> from either DirectX SDK or
20322
f92bf1488265 some random fixes (wording, spelling..)
kraymer
parents: 20315
diff changeset
592 <ulink url="http://doom9.net">doom9</ulink>.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
593 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
594 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
595 Start <command>graphedit.exe</command>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
596 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
597 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
598 From the menu select Graph -> Insert Filters.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
599 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
600 <step><para>
20322
f92bf1488265 some random fixes (wording, spelling..)
kraymer
parents: 20315
diff changeset
601 Expand item <systemitem>DirectShow Filters</systemitem>.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
602 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
603 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
604 Select the right codec name and expand item.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
605 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
606 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
607 In the entry <systemitem>DisplayName</systemitem> look at the text in
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
608 winged brackets after the backslash and write it down (five dash-delimited
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
609 blocks, the GUID).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
610 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
611 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
612 The codec binary is the file specified in the <systemitem>Filename</systemitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
613 entry.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
614 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
615 </procedure>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
616
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
617 <note>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
618 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
619 If there is no <systemitem>Filename</systemitem> and
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
620 <systemitem>DisplayName</systemitem> contains something like
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
621 <systemitem>device:dmo</systemitem>, then it is a DMO-Codec.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
622 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
623 </note>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
624
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
625 <procedure>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
626 <title>Old Method:</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
627 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
628 Take a deep breath and start searching the registry...
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
629 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
630 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
631 Start <command>regedit</command>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
632 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
633 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
634 Press <keycap>Ctrl</keycap>+<keycap>F</keycap>, disable the first two
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
635 checkboxes, and enable the third. Type in the fourcc of the codec (e.g.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
636 <userinput>TM20</userinput>).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
637 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
638 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
639 You should see a field which contains the path and the filename (e.g.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
640 <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
641 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
642 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
643 Now that you have the file, we need the GUID. Try searching again, but
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
644 now search for the codec's name, not the fourcc. Its name can be acquired
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
645 when Media Player is playing the file, by checking
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
646 <guimenu>File</guimenu> -&gt; <guisubmenu>Properties</guisubmenu> -&gt;
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
647 <guimenuitem>Advanced</guimenuitem>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
648 If not, you are out of luck. Try guessing (e.g. search for TrueMotion).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
649 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
650 <step><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
651 If the GUID is found you should see a <guilabel>FriendlyName</guilabel>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
652 and a <guilabel>CLSID</guilabel> field. Write down the 16 byte CLSID,
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
653 this is the GUID we need.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
654 </para></step>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
655 </procedure>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
656
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
657 <note>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
658 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
659 If searching fails, try enabling all the checkboxes. You may have
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
660 false hits, but you may get lucky...
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
661 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
662 </note>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
663
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
664 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
665 Now that you have all the necessary information (fourcc, GUID, codec file,
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
666 sample AVI), submit your codec support request by mail, and upload these files
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
667 to the FTP site:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
668 <systemitem
20688
d91fa373b66b Better URL markup
torinthiel
parents: 20687
diff changeset
669 role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;codecname&gt;</replaceable>/
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
670 </systemitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
671 </para>
14004
3d698ac7ec9a Explain what you need to read to add a codec yourself, patch by
diego
parents: 13977
diff changeset
672
3d698ac7ec9a Explain what you need to read to add a codec yourself, patch by
diego
parents: 13977
diff changeset
673 <para>
3d698ac7ec9a Explain what you need to read to add a codec yourself, patch by
diego
parents: 13977
diff changeset
674 If you want to add a codec yourself, read
3d698ac7ec9a Explain what you need to read to add a codec yourself, patch by
diego
parents: 13977
diff changeset
675 <ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
3d698ac7ec9a Explain what you need to read to add a codec yourself, patch by
diego
parents: 13977
diff changeset
676 </para>
3d698ac7ec9a Explain what you need to read to add a codec yourself, patch by
diego
parents: 13977
diff changeset
677
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
678 </sect2>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
679 </sect1>
17321
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
680
7f9fcf5245a0 Improve overall structure by adding a few top-level chapters so that
diego
parents: 17273
diff changeset
681 </chapter>