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