Mercurial > mplayer.hg
annotate DOCS/xml/en/codecs.xml @ 19798:3340eabfe14c
Fix missing link change from previous commit
author | voroshil |
---|---|
date | Tue, 12 Sep 2006 07:06:33 +0000 |
parents | 10568f10ac2e |
children | acab67264bf9 |
rev | line source |
---|---|
9675 | 1 <?xml version="1.0" encoding="iso-8859-1"?> |
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 | 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 | 7 <title>Video codecs</title> |
8 | |
9 <para> | |
19681 | 10 The <ulink url="../../codecs-status.html">codec status table</ulink> is a |
11 complete list of all supported codecs, regenerated daily. | |
12 Some binary codecs for use with MPlayer are available in the | |
13 <ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">download section</ulink> | |
14 of our homepage. | |
9675 | 15 </para> |
16 | |
17 <para> | |
18 The most important ones above all: | |
19 </para> | |
20 | |
21 <itemizedlist> | |
22 <listitem><simpara> | |
14024 | 23 <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) and |
24 <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) video | |
9675 | 25 </simpara></listitem> |
26 <listitem><simpara> | |
27 native decoders for <emphasis role="bold">DivX ;-), OpenDivX (DivX4), | |
14024 | 28 DivX 5 (Pro), 3ivX, M$ MPEG-4</emphasis> v1, v2 and other MPEG-4 variants |
9675 | 29 </simpara></listitem> |
30 <listitem><simpara> | |
31 native decoder for <emphasis role="bold">Windows Media Video 7/8</emphasis> | |
32 (<emphasis role="bold">WMV1/WMV2</emphasis>), and Win32 DLL decoder | |
33 for <emphasis role="bold">Windows Media Video 9</emphasis> | |
34 (<emphasis role="bold">WMV3</emphasis>), both used in <filename>.wmv</filename> | |
35 files | |
36 </simpara></listitem> | |
37 <listitem><simpara> | |
38 native <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> decoder | |
39 </simpara></listitem> | |
40 <listitem><simpara> | |
10132 | 41 native <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> decoder |
9675 | 42 </simpara></listitem> |
43 <listitem><simpara> | |
44 <emphasis role="bold">3ivx</emphasis> v1, v2 decoder | |
45 </simpara></listitem> | |
46 <listitem><simpara> | |
47 Cinepak and <emphasis role="bold">Intel Indeo</emphasis> codecs (3.1,3.2,4.1,5.0) | |
48 </simpara></listitem> | |
49 <listitem><simpara> | |
50 <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 and other hardware | |
51 formats | |
52 </simpara></listitem> | |
53 <listitem><simpara> | |
13111 | 54 VIVO 1.0, 2.0, I263 and other <emphasis role="bold">H.263(+)</emphasis> variants |
9675 | 55 </simpara></listitem> |
56 <listitem><simpara> | |
57 FLI/FLC | |
58 </simpara></listitem> | |
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 & 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 | 62 <emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> codecs using RealPlayer |
11637 | 63 libraries |
9675 | 64 </simpara></listitem> |
65 <listitem><simpara> | |
66 native decoder for HuffYUV | |
67 </simpara></listitem> | |
68 <listitem><simpara> | |
69 Various old simple RLE-like formats | |
70 </simpara></listitem> | |
71 </itemizedlist> | |
72 | |
73 <para> | |
74 If you have a Win32 codec not listed here which is not supported yet, | |
14061 | 75 please read the <link linkend="codec-importing">codec importing HOWTO</link> |
9675 | 76 and help us add support for it. |
77 </para> | |
78 | |
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 | 81 <title>FFmpeg/libavcodec</title> |
9675 | 82 |
83 <para> | |
13977 | 84 <ulink url="http://ffmpeg.org">FFmpeg</ulink> contains an |
9675 | 85 <emphasis role="bold">open source</emphasis> codec package, which is capable |
11089 | 86 of decoding streams with various audio and video codecs. It also offers an |
87 impressing encoding facility and higher speed than the Win32 codecs or the | |
88 DivX.com DivX4/5 libraries! | |
9675 | 89 </para> |
90 | |
91 <para> | |
14024 | 92 It contains a lot of nice codecs, especially important are the MPEG-4 variants: |
10132 | 93 DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Also a very interesting one |
9675 | 94 is the WMA decoder. |
95 </para> | |
96 | |
97 <para> | |
10132 | 98 The most recent codec deserving credit is the <emphasis role="bold">Sorenson 3</emphasis> |
15329 | 99 (SVQ3) codec. This is the first, completely opensource implementation. It is even |
11089 | 100 faster than the original. Be sure to prefer this instead of the binary codec! |
101 </para> | |
102 | |
103 <para> | |
104 For a complete list of supported codecs please visit the FFmpeg homepage. | |
14113 | 105 Supported <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">video</ulink> |
106 and <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">audio</ulink> codecs. | |
10132 | 107 </para> |
108 | |
109 <para> | |
18599 | 110 Both <application>MPlayer</application> releases and |
111 <application>MPlayer</application> from Subversion contain | |
112 <systemitem class="library">libavcodec</systemitem> so you don't have | |
113 to care about making a separate <systemitem class="library">libavcodec</systemitem> checkout. | |
114 Just run <filename>configure</filename> and compile. | |
18601
802ec5d54662
</para> tag was accidently deleted and caused compile error
kraymer
parents:
18599
diff
changeset
|
115 </para> |
9675 | 116 |
117 <para> | |
118 With FFmpeg and my Matrox G400, I can view even the highest resolution DivX | |
11042 | 119 movies without dropped frames on my K6-2 500. |
9675 | 120 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
121 </sect2> |
9675 | 122 |
123 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
124 <sect2 id="xanim"> |
9675 | 125 <title>XAnim codecs</title> |
126 | |
127 <note> | |
128 <para> | |
129 Be advised that the XAnim binary codecs are packaged with a piece of text | |
130 claiming to be a legally binding software license which, besides other | |
131 restrictions, forbids the user to use the codecs in conjunction with any | |
132 program other than <application>XAnim</application>. However, the XAnim | |
133 author has yet to bring legal action against anyone for codec-related issues. | |
134 </para> | |
135 </note> | |
136 | |
137 <formalpara> | |
138 <title>INSTALLATION AND USAGE</title> | |
139 <para> | |
140 <application>MPlayer</application> is capable of employing the XAnim codecs | |
141 for decoding. Follow the instructions to enable them: | |
142 </para> | |
143 </formalpara> | |
144 | |
145 <procedure> | |
146 <step><para> | |
147 Download the codecs you wish to use from the | |
19381 | 148 <ulink url="http://xanim.polter.net/">XAnim site</ulink>. |
9683 | 149 The <emphasis role="bold">3ivx</emphasis> codec is not there, but at the |
9675 | 150 <ulink url="http://www.3ivx.com">3ivx site</ulink>. |
151 </para></step> | |
152 <step><para> | |
9683 | 153 <emphasis role="bold">OR</emphasis> download the codecs pack from our |
154 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">codecs page</ulink> | |
155 </para></step> | |
156 <step><para> | |
9675 | 157 Use the <option>--with-xanimlibdir</option> option to tell |
158 <filename>configure</filename> where | |
159 to find the XAnim codecs. By default, it looks for them at | |
10229 | 160 <filename class="directory">/usr/local/lib/codecs</filename>, |
9675 | 161 <filename class="directory">/usr/local/lib/xanim/mods</filename>, |
162 <filename class="directory">/usr/lib/xanim/mods</filename> and | |
163 <filename class="directory">/usr/lib/xanim</filename>. | |
164 Alternatively you can set the environment variable | |
165 <envar>XANIM_MOD_DIR</envar> to the directory of the XAnim codecs. | |
166 </para></step> | |
167 <step><para> | |
168 Rename/symlink the files, cutting out the architecture stuff, so they | |
169 will have filenames like these: <filename>vid_cvid.xa</filename>, | |
170 <filename>vid_h263.xa</filename>, <filename>vid_iv50.xa</filename> | |
171 </para></step> | |
172 </procedure> | |
173 | |
174 <para> | |
175 XAnim is video codec family <systemitem>xanim</systemitem>, so you may want | |
176 to use the <option>-vfm xanim</option> option to tell <application>MPlayer</application> | |
177 to use them if possible. | |
178 </para> | |
179 | |
180 <para> | |
181 Tested codecs include: <emphasis role="bold">Indeo 3.2, 4.1, 5.0, CVID, 3ivX, | |
13111 | 182 H.263.</emphasis> |
9675 | 183 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
184 </sect2> |
9675 | 185 |
186 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
187 <sect2 id="vivo-video"> |
9675 | 188 <title>VIVO video</title> |
189 <para> | |
190 <application>MPlayer</application> can play Vivo (1.0 and 2.0) videos. The | |
13111 | 191 most suitable codec for 1.0 files is FFmpeg's H.263 decoder, you can use it |
9675 | 192 with the <option>-vc ffh263</option> option. For 2.0 files, use the |
193 Win32 DLL through the <option>-vc vivo</option> option. If you do not supply | |
194 command line options <application>MPlayer</application> selects the best codec | |
195 automatically. | |
196 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
197 </sect2> |
9675 | 198 |
199 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
200 <sect2 id="mpeg12"> |
14024 | 201 <title>MPEG-1/2 video</title> |
9675 | 202 <para> |
14024 | 203 MPEG-1 and MPEG-2 are decoded by the multiplatform native <systemitem |
9675 | 204 class="library">libmpeg2</systemitem> library, whose source code is |
14024 | 205 included in <application>MPlayer</application>. We handle buggy MPEG-1/2 |
9675 | 206 video files by catching <systemitem>Signal 11</systemitem> |
207 (<systemitem>segmentation fault</systemitem>), and quickly | |
208 reinitializing the codec, continuing exactly from where the failure | |
209 occurred. This recovery technique has no measurable speed penalty. | |
210 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
211 </sect2> |
9675 | 212 |
213 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
214 <sect2 id="avicodecs"> |
12759
111a9feec18c
NSV added to formats, cinepak etc codec updates by Roberto Togni.
diego
parents:
12695
diff
changeset
|
215 <title>MS Video1, Cinepak CVID, and other older codecs</title> |
9675 | 216 <para> |
12832 | 217 <application>MPlayer</application> is able to play most of the older codecs |
218 used in AVI and MOV files. | |
12759
111a9feec18c
NSV added to formats, cinepak etc codec updates by Roberto Togni.
diego
parents:
12695
diff
changeset
|
219 In the past they were decoded with binary Win32 codecs, but now we have |
111a9feec18c
NSV added to formats, cinepak etc codec updates by Roberto Togni.
diego
parents:
12695
diff
changeset
|
220 <emphasis role="bold">native codecs</emphasis> for most of them using |
111a9feec18c
NSV added to formats, cinepak etc codec updates by Roberto Togni.
diego
parents:
12695
diff
changeset
|
221 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>. |
9675 | 222 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
223 </sect2> |
9675 | 224 |
225 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
226 <sect2 id="realvideo"> |
9675 | 227 <title>RealVideo</title> |
228 | |
229 <para> | |
230 <application>MPlayer</application> supports decoding all versions of | |
231 RealVideo: | |
232 | |
233 <itemizedlist> | |
234 <listitem><simpara> | |
11555 | 235 RealVideo 1.0, 2.0 (fourcc RV10, RV20) - en/decoding supported by |
9675 | 236 <systemitem class="library">libavcodec</systemitem> |
237 </simpara></listitem> | |
238 <listitem><simpara> | |
11555 | 239 RealVideo 3.0, 4.0 (fourcc RV30, RV40) - decoding supported by |
9675 | 240 <emphasis role="bold">RealPlayer libraries</emphasis> |
241 </simpara></listitem> | |
242 </itemizedlist> | |
243 </para> | |
244 | |
245 <para> | |
12648
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
246 Download Real codecs from |
12832 | 247 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</ulink> |
12648
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
248 and extract them to the |
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
249 <filename class="directory">/usr/local/lib/codecs</filename> directory. |
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
250 If you want to store them in a different location, pass the |
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
251 <option>--with-reallibdir</option> option to <command>configure</command>. |
9675 | 252 </para> |
253 | |
254 <note><para> | |
255 <application>RealPlayer</application> libraries currently | |
256 <emphasis role="bold">only work with Linux, FreeBSD, NetBSD and Cygwin on the x86, | |
12648
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
257 Alpha and PowerPC (Linux/Alpha and Linux/PowerPC have been tested) platforms and with Mac OS X</emphasis>. |
9675 | 258 </para></note> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
259 </sect2> |
9675 | 260 |
261 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
262 <sect2 id="xvid"> |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
263 <title>XviD</title> |
9675 | 264 |
265 <para> | |
15710 | 266 <ulink url="http://www.xvid.org">XviD</ulink> is a free software MPEG-4 ASP |
15871 | 267 compliant video codec, which features two pass encoding and full MPEG-4 ASP |
15709 | 268 support, making it a lot more efficient than the well-known DivX codec. |
269 It yields very good video quality and good performance due to CPU | |
270 optimizations for most modern processors. | |
271 </para> | |
272 <para> | |
273 It began as a forked development of the OpenDivX codec. | |
274 This happened when ProjectMayo changed OpenDivX to closed source | |
9675 | 275 DivX4 (now DivX5), and the non-ProjectMayo people working on OpenDivX got angry, |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
276 then started XviD. So both projects have the same origin. |
9675 | 277 </para> |
278 | |
279 <procedure> | |
15709 | 280 <title>Installing <systemitem class="library">XviD</systemitem></title> |
9675 | 281 <para> |
15709 | 282 Like most open source software, it is available in two flavors: |
283 <ulink url="http://www.xvid.org/downloads.html">official releases</ulink> | |
284 and the CVS version. | |
285 The CVS version is usually stable enough to use, as most of the time it | |
286 features fixes for bugs that exist in releases. | |
287 Here is what to do to make <systemitem class="library">XviD</systemitem> | |
288 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
|
289 <application>autoconf</application> 2.50, |
f9ffda85aeee
the the auto* tools should be inside an <application></application> tag
gpoirier
parents:
15915
diff
changeset
|
290 <application>automake</application> and <application>libtool</application>): |
9675 | 291 </para> |
292 <step><para> | |
293 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen> | |
294 </para></step> | |
295 <step><para> | |
296 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen> | |
297 </para></step> | |
298 <step><para> | |
299 <screen>cd xvidcore/build/generic</screen> | |
300 </para></step> | |
301 <step><para> | |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
302 <screen>./bootstrap.sh</screen> |
9675 | 303 </para></step> |
304 <step><para> | |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
305 <screen>./configure</screen> |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
306 You may have to add some options (examine the output of |
13223
4d3536e69177
- <screen> -> <command>, improves readibility and sense.
wight
parents:
13222
diff
changeset
|
307 <command>./configure --help</command>). |
9675 | 308 </para></step> |
309 <step><para> | |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
310 <screen>make && make install</screen> |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
311 </para></step> |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
312 <step><para> |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
313 If you specified <option>--enable-divxcompat</option>, |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
314 copy <filename>../../src/divx4.h</filename> to |
9675 | 315 <filename class="directory">/usr/local/include/</filename>. |
316 </para></step> | |
317 <step><para> | |
318 Recompile <application>MPlayer</application> with | |
12000 | 319 <option>--with-xvidlibdir=<replaceable>/path/to/</replaceable>libxvidcore.a</option> |
320 <option>--with-xvidincdir=<replaceable>/path/to/</replaceable>xvid.h</option> | |
9675 | 321 </para></step> |
322 </procedure> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
323 </sect2> |
9675 | 324 |
325 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
326 <sect2 id="sorenson"> |
9675 | 327 <title>Sorenson</title> |
328 | |
329 <para> | |
330 Sorenson is a video codec developed by Sorenson Media and licensed to Apple who | |
331 distribute it with their <application>QuickTime Player</application>. We are | |
332 currently able to decode all version of Sorenson video files with the following | |
10132 | 333 decoders: |
9675 | 334 </para> |
335 | |
336 <itemizedlist> | |
337 <listitem><simpara> | |
10430 | 338 Sorenson Video v1 (fourcc <emphasis>SVQ1</emphasis>) - decoding supported |
339 by <emphasis role="bold">native codec</emphasis> | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11758
diff
changeset
|
340 (<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>) |
9675 | 341 </simpara></listitem> |
342 <listitem><simpara> | |
10430 | 343 Sorenson Video v3 (fourcc <emphasis>SVQ3</emphasis>) - decoding supported by |
344 <emphasis role="bold">native codec</emphasis> | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11758
diff
changeset
|
345 (<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>) |
9675 | 346 </simpara></listitem> |
347 </itemizedlist> | |
348 | |
349 <procedure> | |
9837 | 350 <title>COMPILING MPLAYER WITH QUICKTIME LIBRARIES SUPPORT</title> |
13223
4d3536e69177
- <screen> -> <command>, improves readibility and sense.
wight
parents:
13222
diff
changeset
|
351 <note><para>Currently only 32-bit Intel platforms are supported.</para></note> |
18599 | 352 <step><para>download <application>MPlayer</application> Subversion</para></step> |
9675 | 353 <step><para>download QuickTime DLL pack from |
354 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/"/> | |
355 </para></step> | |
356 <step><para>extract QuickTime DLL pack to your Win32 codecs directory | |
10188 | 357 (default: <filename class="directory">/usr/local/lib/codecs/</filename>) |
9675 | 358 </para></step> |
11540 | 359 <step><para>compile <application>MPlayer</application></para></step> |
9675 | 360 </procedure> |
361 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
362 </sect2> |
15326 | 363 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
364 <sect2 id="codec-x264"> |
15326 | 365 <title>x264</title> |
366 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
367 <sect3 id="codec-x264-whatis"> |
15326 | 368 <title>What is x264?</title> |
369 <para> | |
370 <systemitem class="library">x264</systemitem> is a library for | |
371 creating H.264 video streams. | |
372 It is not 100% complete, but currently it has at least some kind | |
373 of support for most of the H.264 features which impact quality. | |
374 There are also many advanced features in the H.264 specification | |
375 which have nothing to do with video quality per se; many of these | |
376 are not yet implemented in | |
377 <systemitem class="library">x264</systemitem>. | |
378 </para> | |
379 | |
380 <itemizedlist> | |
381 <title>Encoder features</title> | |
382 <listitem><para>CAVLC/CABAC</para></listitem> | |
383 <listitem><para>Multi-references</para></listitem> | |
17273 | 384 <listitem><para>Intra: all macroblock types (16x16, 8x8, and 4x4 with |
15326 | 385 all predictions)</para></listitem> |
386 <listitem><para>Inter P: all partitions (from 16x16 down to | |
387 4x4)</para></listitem> | |
388 <listitem><para>Inter B: partitions from 16x16 down to 8x8 | |
389 (including SKIP/DIRECT)</para></listitem> | |
390 <listitem><para>Ratecontrol: constant quantizer, constant bitrate, | |
17273 | 391 single or multipass ABR, optional VBV</para></listitem> |
15326 | 392 <listitem><para>Scene cut detection</para></listitem> |
393 <listitem><para>Adaptive B-frame placement</para></listitem> | |
394 <listitem><para>B-frames as references / arbitrary frame | |
395 order</para></listitem> | |
17273 | 396 <listitem><para>8x8 and 4x4 adaptive spatial transform</para></listitem> |
397 <listitem><para>Lossless mode</para></listitem> | |
398 <listitem><para>Custom quantization matrices</para></listitem> | |
399 <listitem><para>Parallel encoding of multiple slices</para></listitem> | |
15326 | 400 </itemizedlist> |
401 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
402 </sect3> |
15326 | 403 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
404 <sect3 id="codec-h264-whatis"> |
15326 | 405 <title>What is H.264?</title> |
406 <para> | |
407 H.264 is one name for a new digital video codec jointly developed | |
408 by the ITU and MPEG. | |
409 It can also be correctly referred to by the cumbersome names of | |
410 "ISO/IEC 14496-10" or "MPEG-4 Part 10". | |
411 More frequently, it is referred to as "MPEG-4 AVC" or just "AVC". | |
412 </para> | |
413 <para> | |
414 Whatever you call it, H.264 may be worth trying because it can | |
415 typically match the quality of MPEG-4 ASP with 5%-30% less | |
416 bitrate. | |
417 Actual results will depend on both the source material and the | |
418 encoder. | |
15370 | 419 The gains from using H.264 do not come for free: Decoding H.264 |
15326 | 420 streams seems to have steep CPU and memory requirements. |
15915 | 421 For instance, on a 1733 MHz Athlon, a DVD-resolution 1500kbps H.264 |
422 video requires around 35% CPU to decode. | |
423 By comparison, decoding a DVD-resolution 1500kbps MPEG-4 ASP stream | |
424 requires around 10% CPU. | |
15326 | 425 This means that decoding high-definition streams is almost out of |
426 the question for most users. | |
427 It also means that even a decent DVD rip may sometimes stutter on | |
428 processors slower than 2.0 GHz or so. | |
429 </para> | |
430 <para> | |
431 At least with <systemitem class="library">x264</systemitem>, | |
432 encoding requirements are not much worse than what you are used to | |
15370 | 433 with MPEG-4 ASP. |
15326 | 434 For instance, on a 1733 MHz Athlon a typical DVD encode would run |
435 at 5-15fps. | |
436 </para> | |
437 <para> | |
438 This document is not intended to explain the details of H.264, | |
439 but if you are interested in a brief overview, you may want to read | |
440 <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>. | |
441 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
442 </sect3> |
15326 | 443 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
444 <sect3 id="codec-x264-playback"> |
15326 | 445 <title>How can I play H.264 videos with <application>MPlayer</application>?</title> |
446 <para> | |
447 <application>MPlayer</application> uses | |
448 <systemitem class="library">libavcodec</systemitem>'s H.264 | |
449 decoder. | |
450 <systemitem class="library">libavcodec</systemitem> has had at | |
451 least minimally usable H.264 decoding since around July 2004, | |
452 however major changes and improvements have been implemented since | |
453 that time, both in terms of more functionalities supported and in | |
454 terms of improved CPU usage. | |
18599 | 455 Just to be certain, it is always a good idea to use a recent Subversion |
15326 | 456 checkout. |
457 </para> | |
458 <para> | |
459 If you want a quick and easy way to know whether there have been | |
460 recent changes to <systemitem class="library">libavcodec</systemitem>'s | |
461 H.264 decoding, you might keep an eye on | |
18599 | 462 <ulink url="http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">FFmpeg Subversion repository's web interface</ulink>. |
15326 | 463 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
464 </sect3> |
15326 | 465 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
466 <sect3 id="codec-x264-encode"> |
15326 | 467 <title>How can I encode videos using <application>MEncoder</application> and <systemitem class="library">x264</systemitem>?</title> |
468 <para> | |
469 If you have the subversion client installed, the latest x264 | |
470 sources can be gotten with this command: | |
471 <screen> | |
16068 | 472 svn co svn://svn.videolan.org/x264/trunk x264<!-- |
473 --></screen> | |
15326 | 474 <application>MPlayer</application> sources are updated whenever |
475 an <systemitem class="library">x264</systemitem> API change | |
18599 | 476 occurs, so it is always suggested to use |
477 <application>MPlayer</application> from Subversion as well. | |
15326 | 478 Perhaps this situation will change when and if an |
479 <systemitem class="library">x264</systemitem> "release" occurs. | |
480 Meanwhile, <systemitem class="library">x264</systemitem> should | |
481 be considered very unstable, in the sense that its programming | |
482 interface is subject to change. | |
483 </para> | |
484 <para> | |
485 <systemitem class="library">x264</systemitem> is built and | |
486 installed in the standard way: | |
487 <screen> | |
16068 | 488 ./configure && make && sudo make install<!-- |
489 --></screen> | |
15326 | 490 This installs libx264.a in /usr/local/lib and x264.h is placed in |
491 /usr/local/include. | |
492 | |
493 With the <systemitem class="library">x264</systemitem> library | |
494 and header placed in the standard locations, building | |
495 <application>MPlayer</application> with | |
496 <systemitem class="library">x264</systemitem> support is easy. | |
497 Just run the standard: | |
498 <screen>./configure && make && sudo make install</screen> | |
499 The configure script will autodetect that you have satisfied the | |
500 requirements for <systemitem class="library">x264</systemitem>. | |
501 </para> | |
502 </sect3> | |
9675 | 503 </sect2> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
504 </sect1> |
9675 | 505 |
506 <!-- ********** --> | |
507 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
508 <sect1 id="audio-codecs"> |
9675 | 509 <title>Audio codecs</title> |
510 | |
511 <itemizedlist> | |
512 <title>The most important audio codecs above all:</title> | |
513 <listitem><simpara> | |
11342 | 514 MPEG layer 1/2/3 (MP1/2/3) audio (<emphasis role="bold">native</emphasis> |
9675 | 515 code, with MMX/SSE/3DNow! optimization) |
516 </simpara></listitem> | |
517 <listitem><simpara> | |
13222 | 518 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
|
519 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>) |
9675 | 520 </simpara></listitem> |
521 <listitem><simpara> | |
522 Windows Media Audio 9 (WMAv3) (using DMO DLL) | |
523 </simpara></listitem> | |
524 <listitem><simpara> | |
525 AC3 Dolby audio (<emphasis role="bold">native</emphasis> code, with | |
526 MMX/SSE/3DNow! optimization) | |
527 </simpara></listitem> | |
528 <listitem><simpara> | |
13532 | 529 AC3 passing through sound card hardware |
9675 | 530 </simpara></listitem> |
531 <listitem><simpara> | |
11342 | 532 AAC |
533 </simpara></listitem> | |
534 <listitem><simpara> | |
9675 | 535 Ogg Vorbis audio codec (<emphasis role="bold">native</emphasis> library) |
536 </simpara></listitem> | |
537 <listitem><simpara> | |
538 RealAudio: DNET (low bitrate AC3), Cook, Sipro and ATRAC3 | |
539 </simpara></listitem> | |
540 <listitem><simpara> | |
541 QuickTime: Qualcomm and QDesign audio codecs | |
542 </simpara></listitem> | |
543 <listitem><simpara> | |
544 VIVO audio (g723, Vivo Siren) | |
545 </simpara></listitem> | |
546 <listitem><simpara> | |
547 Voxware audio (using DirectShow DLL) | |
548 </simpara></listitem> | |
549 <listitem><simpara> | |
550 alaw and ulaw, various gsm, adpcm and pcm formats and other simple old | |
551 audio codecs | |
552 </simpara></listitem> | |
18060
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
553 <listitem><simpara> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
554 Adaptive Multi-Rate (AMR) speech codecs |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
555 </simpara></listitem> |
9675 | 556 </itemizedlist> |
557 | |
558 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
559 <sect2 id="swac3"> |
9675 | 560 <title>Software AC3 decoding</title> |
561 | |
562 <para> | |
563 This is the default decoder used for files with AC3 audio. | |
564 </para> | |
565 | |
566 <para> | |
567 The AC3 decoder can create audio output mixes for 2, 4, or 6 speakers. | |
568 When configured for 6 speakers, this decoder provides separate output of | |
569 all the AC3 channels to the sound driver, allowing for full "surround | |
570 sound" experience without the external AC3 decoder required to use the | |
571 hwac3 codec. | |
572 </para> | |
573 | |
574 <para> | |
575 Use the <option>-channels</option> option to select the number of output | |
576 channels. Use <option>-channels 2</option> for a stereo downmix. For a 4 | |
577 channel downmix (Left Front, Right Front, Left Surround and Right Surround | |
578 outputs), use <option>-channels 4</option>. In this case, any center | |
579 channel will be mixed equally to the front channels. <option>-channels | |
580 6</option> will output all the AC3 channels as they are encoded - in the | |
581 order Left, Right, Left Surround, Right Surround, Center and LFE. | |
582 </para> | |
583 | |
584 <para> | |
585 The default number of output channels is 2. | |
586 </para> | |
587 | |
588 <para> | |
589 To use more than 2 output channels, you will need to use OSS, and have a | |
590 sound card that supports the appropriate number of output channels via the | |
591 SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1 | |
592 (used by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is | |
593 also supposed to work). | |
594 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
595 </sect2> |
9675 | 596 |
597 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
598 <sect2 id="hwac3"> |
9675 | 599 <title>Hardware AC3 decoding</title> |
600 <para> | |
12369 | 601 You need an AC3 capable sound card, with digital out (S/PDIF). The card's |
9675 | 602 driver must properly support the AFMT_AC3 format (C-Media does). Connect |
12369 | 603 your AC3 decoder to the S/PDIF output, and use the <option>-ac |
9675 | 604 hwac3</option> option. It is experimental but known to work with C-Media |
605 cards and Soundblaster Live! + ALSA (but not OSS) drivers and DXR3/Hollywood+ | |
606 MPEG decoder cards. | |
607 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
608 </sect2> |
9675 | 609 |
610 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
611 <sect2 id="libmad"> |
9675 | 612 <title>libmad support</title> |
613 | |
614 <para> | |
13977 | 615 <ulink url="http://www.underbit.com/products/mad/">libmad</ulink> is a multiplatform, |
11342 | 616 integer (internally 24bit PCM) only |
9675 | 617 MPEG audio decoding library. It does not handle broken files well, and it |
11342 | 618 sometimes has problems with seeking, but it may perform better on FPU-less |
11343 | 619 (such as <link linkend="arm">ARM</link>) platform than mp3lib. |
9675 | 620 </para> |
621 | |
622 <para> | |
623 To enable support, compile with the <option>--enable-mad</option> configure | |
624 option. | |
625 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
626 </sect2> |
9675 | 627 |
17432 | 628 <sect2 id="hwmpa"> |
629 <title>Hardware MPEG audio codec</title> | |
630 | |
631 <para> | |
632 This codec (selected by -ac hwmpa) passes through MPEG audio packets | |
633 to hardware decoders, such as the ones found in full-featured DVB cards | |
634 and DXR2 adapters. | |
635 Don't use it in combination with any other audio output device | |
636 (such as OSS and ALSA) that isn't able to decode it (you will hear | |
637 only white noise). | |
638 </para> | |
639 </sect2> | |
640 | |
9675 | 641 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
642 <sect2 id="vivo-audio"> |
9675 | 643 <title>VIVO audio</title> |
644 <para> | |
645 The audio codec used in VIVO files depends on whether it is a VIVO/1.0 or | |
646 VIVO/2.0 file. VIVO/1.0 files have <emphasis role="bold">g.723</emphasis> audio, | |
647 and VIVO/2.0 files have <emphasis role="bold">Vivo Siren</emphasis> audio. Both are | |
648 supported. | |
649 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
650 </sect2> |
9675 | 651 |
652 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
653 <sect2 id="realaudio"> |
9675 | 654 <title>RealAudio</title> |
655 | |
656 <para> | |
657 <application>MPlayer</application> supports decoding nearly all versions of | |
658 RealAudio: | |
659 </para> | |
660 | |
661 <itemizedlist> | |
662 <listitem><simpara> | |
663 RealAudio DNET - decoding supported by | |
664 <systemitem class="library">liba52</systemitem> | |
665 </simpara></listitem> | |
666 <listitem><simpara> | |
667 RealAudio Cook/Sipro/ATRAC3 - decoding supported by | |
668 <emphasis role="bold">RealPlayer libraries</emphasis> | |
669 </simpara></listitem> | |
670 </itemizedlist> | |
671 | |
672 <para> | |
12695 | 673 Instructions on how to install the RealPlayer libraries are in the |
12648
c12639f67b24
Real codecs and Mac OS X, don't recommend installing Real player.
diego
parents:
12457
diff
changeset
|
674 <link linkend="realvideo">RealVideo</link> section. |
9675 | 675 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
676 </sect2> |
9675 | 677 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
678 <sect2 id="qdesign"> |
9675 | 679 <title>QDesign codecs</title> |
680 <para> | |
681 QDesign audio streams (fourcc:<emphasis>QDMC, QDM2</emphasis>) are found | |
682 in MOV/QT files. Both versions of this codec can be decoded with QuickTime | |
683 libraries. For installation instructions please see the | |
684 <link linkend="sorenson">Sorenson video codec</link> section. | |
685 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
686 </sect2> |
9675 | 687 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
688 <sect2 id="qualcomm"> |
9675 | 689 <title>Qualcomm codecs</title> |
690 <para> | |
691 Qualcomm audio streams (fourcc:<emphasis>Qclp</emphasis>) is found | |
692 in MOV/QT files. It can be decoded with QuickTime | |
693 libraries. For installation instructions please see the | |
694 <link linkend="sorenson">Sorenson video codec</link> section. | |
695 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
696 </sect2> |
9802 | 697 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
698 <sect2 id="aac"> |
9802 | 699 <title>AAC codec</title> |
700 <para> | |
701 AAC (Advanced Audio Coding) is an audio codec sometimes found in MOV and MP4 | |
702 files. An open source decoder called FAAD is available from | |
10766 | 703 <ulink url="http://www.audiocoding.com"/>. |
14658 | 704 <application>MPlayer</application> includes a CVS snapshot of libfaad 2.1 |
705 beta, so you do not need to get it separately. | |
9802 | 706 </para> |
11031 | 707 |
708 <para> | |
709 If you use gcc 3.2 which fails to compile our internal FAAD or want to use | |
710 the external library for some other reason, download the library from the | |
14113 | 711 <ulink url="http://www.audiocoding.com/modules/mydownloads/">download page</ulink> |
13687 | 712 and pass <option>--enable-external-faad</option> to <filename>configure</filename>. |
11031 | 713 You do not need all of faad2 to decode AAC files, libfaad is enough. Build |
714 it like this: | |
715 <screen> | |
716 cd faad2/ | |
14700 | 717 sh bootstrap |
11031 | 718 ./configure |
719 cd libfaad | |
720 make | |
721 make install | |
722 </screen> | |
723 Binaries are not available from audiocoding.com, but you can (apt-)get Debian | |
18820 | 724 packages from <ulink url="http://www.debian-multimedia.org/">Christian Marillat's homepage</ulink>, |
15894 | 725 Mandrake/Mandriva RPMs from the <ulink url="http://plf.zarb.org">P.L.F</ulink> and RedHat RPMs |
12882 | 726 from <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>. |
11031 | 727 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
728 </sect2> |
9802 | 729 |
18060
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
730 <sect2 id="amr"> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
731 <title>AMR codecs</title> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
732 <para> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
733 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
|
734 phones. |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
735 Reference implementation is available from |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
736 <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
|
737 (free for private use). |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
738 </para> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
739 <para> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
740 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
|
741 <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
|
742 and |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
743 <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
|
744 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
|
745 <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
|
746 <screen> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
747 unzip 26104-610.zip |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
748 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
|
749 mv c-code libavcodec/amr_float |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
750 unzip 26204-600.zip |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
751 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
|
752 mv c-code libavcodec/amrwb_float |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
753 </screen> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
754 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
|
755 <link linkend="features">build procedure</link>. |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
756 </para> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
757 </sect2> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
758 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
759 </sect1> |
9675 | 760 |
761 <!-- ********** --> | |
762 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
763 <sect1 id="codec-importing"> |
9675 | 764 <title>Win32 codecs importing HOWTO</title> |
765 | |
766 <!-- TODO: a short paragraph of text would be nice here... --> | |
767 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
768 <sect2 id="vfw-codecs"> |
9675 | 769 <title>VFW codecs</title> |
770 | |
771 <para> | |
772 VFW (Video for Windows) is the old Video API for Windows. Its codecs have | |
773 the <filename>.DLL</filename> or (rarely) <filename>.DRV</filename> | |
774 extension. If <application>MPlayer</application> fails at playing your AVI | |
775 with this kind of message: | |
776 <screen>UNKNOWN video codec: HFYU (0x55594648)</screen> | |
777 </para> | |
778 | |
779 <para> | |
780 It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU = | |
781 HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you | |
782 have to find out which DLL Windows loads in order to play this file. In our | |
783 case, the <filename>system.ini</filename> contains this information in a | |
784 line that reads: | |
785 <programlisting>VIDC.HFYU=huffyuv.dll</programlisting> | |
786 </para> | |
787 | |
788 <para> | |
789 So you need the <filename>huffyuv.dll</filename> file. Note that the audio | |
790 codecs are specified by the MSACM prefix: | |
791 <programlisting>msacm.l3acm=L3codeca.acm</programlisting> | |
792 </para> | |
793 | |
794 <para> | |
795 This is the MP3 codec. Now that you have all the necessary information | |
796 (fourcc, codec file, sample AVI), submit your codec support request by | |
797 mail, and upload these files to the FTP site: | |
798 <systemitem role="url"> | |
19581 | 799 ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/ |
9675 | 800 </systemitem> |
801 </para> | |
802 | |
803 <note><para>On Windows NT/2000/XP search for this info in the registry, | |
804 e.g. search for "VIDC.HFYU". To find out how to do this, look at | |
805 the old DirectShow method below. | |
806 </para></note> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
807 </sect2> |
9675 | 808 |
809 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
810 <sect2 id="dshow-codecs"> |
9675 | 811 <title>DirectShow codecs</title> |
812 | |
813 <para> | |
814 DirectShow is the newer Video API, which is even worse than its predecessor. | |
815 Things are harder with DirectShow, since | |
816 <itemizedlist> | |
817 <listitem><simpara> | |
818 <filename>system.ini</filename> does not contain the needed information, | |
819 instead it is stored in the registry and | |
820 </simpara></listitem> | |
821 <listitem><simpara> | |
822 we need the GUID of the codec. | |
823 </simpara></listitem> | |
824 </itemizedlist> | |
825 </para> | |
826 | |
827 <procedure> | |
828 <title>New Method:</title> | |
829 <para> | |
830 Using <application>Microsoft GraphEdit</application> (fast) | |
831 </para> | |
832 <step><para> | |
833 Get <application>GraphEdit</application> from either DirectX SDK or | |
13927 | 834 <ulink url="http://doom9.net">doom9</ulink> |
9675 | 835 </para></step> |
836 <step><para> | |
837 Start <command>graphedit.exe</command>. | |
838 </para></step> | |
839 <step><para> | |
840 From the menu select Graph -> Insert Filters. | |
841 </para></step> | |
842 <step><para> | |
843 Expand item <systemitem>DirectShow Filters</systemitem> | |
844 </para></step> | |
845 <step><para> | |
846 Select the right codec name and expand item. | |
847 </para></step> | |
848 <step><para> | |
849 In the entry <systemitem>DisplayName</systemitem> look at the text in | |
850 winged brackets after the backslash and write it down (five dash-delimited | |
851 blocks, the GUID). | |
852 </para></step> | |
853 <step><para> | |
854 The codec binary is the file specified in the <systemitem>Filename</systemitem> | |
855 entry. | |
856 </para></step> | |
857 </procedure> | |
858 | |
859 <note> | |
860 <para> | |
861 If there is no <systemitem>Filename</systemitem> and | |
862 <systemitem>DisplayName</systemitem> contains something like | |
863 <systemitem>device:dmo</systemitem>, then it is a DMO-Codec. | |
864 </para> | |
865 </note> | |
866 | |
867 <procedure> | |
868 <title>Old Method:</title> | |
869 <para> | |
870 Take a deep breath and start searching the registry... | |
871 </para> | |
872 <step><para> | |
873 Start <command>regedit</command>. | |
874 </para></step> | |
875 <step><para> | |
876 Press <keycap>Ctrl</keycap>+<keycap>F</keycap>, disable the first two | |
877 checkboxes, and enable the third. Type in the fourcc of the codec (e.g. | |
878 <userinput>TM20</userinput>). | |
879 </para></step> | |
880 <step><para> | |
881 You should see a field which contains the path and the filename (e.g. | |
882 <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>). | |
883 </para></step> | |
884 <step><para> | |
885 Now that you have the file, we need the GUID. Try searching again, but | |
886 now search for the codec's name, not the fourcc. Its name can be acquired | |
887 when Media Player is playing the file, by checking | |
888 <guimenu>File</guimenu> -> <guisubmenu>Properties</guisubmenu> -> | |
889 <guimenuitem>Advanced</guimenuitem>. | |
890 If not, you are out of luck. Try guessing (e.g. search for TrueMotion). | |
891 </para></step> | |
892 <step><para> | |
893 If the GUID is found you should see a <guilabel>FriendlyName</guilabel> | |
894 and a <guilabel>CLSID</guilabel> field. Write down the 16 byte CLSID, | |
895 this is the GUID we need. | |
896 </para></step> | |
897 </procedure> | |
898 | |
899 <note> | |
900 <para> | |
901 If searching fails, try enabling all the checkboxes. You may have | |
902 false hits, but you may get lucky... | |
903 </para> | |
904 </note> | |
905 | |
906 <para> | |
907 Now that you have all the necessary information (fourcc, GUID, codec file, | |
908 sample AVI), submit your codec support request by mail, and upload these files | |
909 to the FTP site: | |
910 <systemitem | |
19581 | 911 role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/ |
9675 | 912 </systemitem> |
913 </para> | |
14004
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
914 |
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
915 <para> |
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
916 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
|
917 <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
|
918 </para> |
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
919 |
9675 | 920 </sect2> |
921 </sect1> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
922 |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
923 </chapter> |