Mercurial > mplayer.hg
annotate DOCS/xml/en/codecs.xml @ 27739:c59e6672574e
Remove some pointless and/or outdated codec documentation sections.
author | diego |
---|---|
date | Tue, 14 Oct 2008 22:28:52 +0000 |
parents | e538f3e34cd0 |
children | 2abac297b873 |
rev | line source |
---|---|
20535 | 1 <?xml version="1.0" encoding="utf-8"?> |
10913
49b1a67e7381
Add revision keyword to english xml files, to ease translation synchronization
lumag
parents:
10869
diff
changeset
|
2 <!-- $Revision$ --> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
3 <chapter id="codecs"> |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
4 <title>Codecs</title> |
9675 | 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 If you have a Win32 codec not listed here which is not supported yet, | |
14061 | 19 please read the <link linkend="codec-importing">codec importing HOWTO</link> |
9675 | 20 and help us add support for it. |
21 </para> | |
22 | |
21521 | 23 <!-- ********** --> |
9675 | 24 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
25 <sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec"> |
11107 | 26 <title>FFmpeg/libavcodec</title> |
9675 | 27 |
28 <para> | |
20335 | 29 <ulink url="http://ffmpeg.org">FFmpeg</ulink> contains |
30 <systemitem class="library">libavcodec</systemitem>, the leading | |
31 open source video and audio codec library. It is capable | |
32 of decoding most multimedia formats, usually at higher speeds | |
20666 | 33 than the alternatives, and aims to add support for |
20335 | 34 the rest of them eventually. It is the default decoder for |
35 the majority of codecs that <application>MPlayer</application> | |
36 supports. Encoding is also possible for some formats and | |
37 supported in <application>MEncoder</application>. | |
11089 | 38 </para> |
39 | |
40 <para> | |
20687
558608ebde11
Better wording, especially if hyperlinks are not visible
torinthiel
parents:
20686
diff
changeset
|
41 For a complete list of supported |
27070 | 42 <ulink url="http://ffmpeg.mplayerhq.hu/general.html#SEC6">video</ulink> |
43 and <ulink url="http://ffmpeg.mplayerhq.hu/general.html#SEC7">audio</ulink> | |
20687
558608ebde11
Better wording, especially if hyperlinks are not visible
torinthiel
parents:
20686
diff
changeset
|
44 codecs please visit the FFmpeg homepage. |
10132 | 45 </para> |
46 | |
47 <para> | |
20335 | 48 <application>MPlayer</application> contains |
49 <systemitem class="library">libavcodec</systemitem>. | |
20689 | 50 Just run <filename>./configure</filename> and compile. |
18601
802ec5d54662
</para> tag was accidently deleted and caused compile error
kraymer
parents:
18599
diff
changeset
|
51 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
52 </sect2> |
9675 | 53 |
21521 | 54 <!-- ********** --> |
9675 | 55 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
56 <sect2 id="xvid"> |
20860 | 57 <title>Xvid</title> |
9675 | 58 |
59 <para> | |
20860 | 60 <ulink url="http://www.xvid.org">Xvid</ulink> is a free software MPEG-4 ASP |
15871 | 61 compliant video codec, which features two pass encoding and full MPEG-4 ASP |
15709 | 62 support, making it a lot more efficient than the well-known DivX codec. |
63 It yields very good video quality and good performance due to CPU | |
64 optimizations for most modern processors. | |
65 </para> | |
21521 | 66 |
15709 | 67 <para> |
68 It began as a forked development of the OpenDivX codec. | |
69 This happened when ProjectMayo changed OpenDivX to closed source | |
20355 | 70 DivX4, and the non-ProjectMayo people working on OpenDivX got angry, |
20860 | 71 then started Xvid. So both projects have the same origin. |
9675 | 72 </para> |
73 | |
20335 | 74 <para> |
20860 | 75 Note that Xvid is not necessary to decode Xvid-encoded video. |
20335 | 76 <systemitem class="library">libavcodec</systemitem> is used by |
77 default as it offers better speed. | |
78 </para> | |
79 | |
9675 | 80 <procedure> |
20860 | 81 <title>Installing <systemitem class="library">Xvid</systemitem></title> |
9675 | 82 <para> |
15709 | 83 Like most open source software, it is available in two flavors: |
84 <ulink url="http://www.xvid.org/downloads.html">official releases</ulink> | |
85 and the CVS version. | |
86 The CVS version is usually stable enough to use, as most of the time it | |
87 features fixes for bugs that exist in releases. | |
20860 | 88 Here is what to do to make <systemitem class="library">Xvid</systemitem> |
15709 | 89 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
|
90 <application>autoconf</application> 2.50, |
f9ffda85aeee
the the auto* tools should be inside an <application></application> tag
gpoirier
parents:
15915
diff
changeset
|
91 <application>automake</application> and <application>libtool</application>): |
9675 | 92 </para> |
93 <step><para> | |
94 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen> | |
21521 | 95 </para></step> |
9675 | 96 <step><para> |
97 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen> | |
98 </para></step> | |
99 <step><para> | |
100 <screen>cd xvidcore/build/generic</screen> | |
21521 | 101 </para></step> |
9675 | 102 <step><para> |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
103 <screen>./bootstrap.sh</screen> |
21521 | 104 </para></step> |
9675 | 105 <step><para> |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
106 <screen>./configure</screen> |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
107 You may have to add some options (examine the output of |
13223
4d3536e69177
- <screen> -> <command>, improves readibility and sense.
wight
parents:
13222
diff
changeset
|
108 <command>./configure --help</command>). |
21521 | 109 </para></step> |
9675 | 110 <step><para> |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
111 <screen>make && make install</screen> |
21521 | 112 </para></step> |
9720
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
113 <step><para> |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
114 If you specified <option>--enable-divxcompat</option>, |
5cd40fe6ba7e
Updated XviD CVS instructions by Dmitry Baryshkov <lumag@qnc.ru>.
diego
parents:
9683
diff
changeset
|
115 copy <filename>../../src/divx4.h</filename> to |
9675 | 116 <filename class="directory">/usr/local/include/</filename>. |
21521 | 117 </para></step> |
9675 | 118 <step><para> |
26956 | 119 Recompile <application>MPlayer</application>. |
21521 | 120 </para></step> |
9675 | 121 </procedure> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
122 </sect2> |
9675 | 123 |
21521 | 124 <!-- ********** --> |
9675 | 125 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
126 <sect2 id="codec-x264"> |
20684
9076064494eb
A bunch of missing <systemitem class="library"> tags
torinthiel
parents:
20683
diff
changeset
|
127 <title><systemitem class="library">x264</systemitem></title> |
15326 | 128 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
129 <sect3 id="codec-x264-whatis"> |
20684
9076064494eb
A bunch of missing <systemitem class="library"> tags
torinthiel
parents:
20683
diff
changeset
|
130 <title>What is <systemitem class="library">x264</systemitem>?</title> |
21521 | 131 |
15326 | 132 <para> |
21521 | 133 <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink> |
134 is a library for creating H.264 video streams. | |
26643
fc2e579e2fe6
update paragraphs related to x264, and update its checkout command
gpoirier
parents:
26114
diff
changeset
|
135 It is not 100% complete, but supports most of H.264's features which impact |
fc2e579e2fe6
update paragraphs related to x264, and update its checkout command
gpoirier
parents:
26114
diff
changeset
|
136 quality. |
21521 | 137 There are also many advanced features in the H.264 specification |
138 which have nothing to do with video quality per se; many of these | |
139 are not yet implemented in <systemitem class="library">x264</systemitem>. | |
15326 | 140 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
141 </sect3> |
15326 | 142 |
21521 | 143 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
144 <sect3 id="codec-x264-encode"> |
21521 | 145 <title>How can I encode videos using <application>MEncoder</application> |
146 and <systemitem class="library">x264</systemitem>?</title> | |
147 | |
15326 | 148 <para> |
26643
fc2e579e2fe6
update paragraphs related to x264, and update its checkout command
gpoirier
parents:
26114
diff
changeset
|
149 If you have the GIT client installed, the latest x264 |
21521 | 150 sources can be gotten with this command: |
26643
fc2e579e2fe6
update paragraphs related to x264, and update its checkout command
gpoirier
parents:
26114
diff
changeset
|
151 <screen>git clone git://git.videolan.org/x264.git</screen> |
21521 | 152 <application>MPlayer</application> sources are updated whenever |
153 an <systemitem class="library">x264</systemitem> API change | |
154 occurs, so it is always suggested to use | |
26697
baaeace9c6a8
MPlayer uses Subversion, not GIT, 10L to me, and thanks to Mizda for spotting this
gpoirier
parents:
26643
diff
changeset
|
155 <application>MPlayer</application> from Subversion as well. |
21521 | 156 Perhaps this situation will change when and if an |
157 <systemitem class="library">x264</systemitem> "release" occurs. | |
158 Meanwhile, <systemitem class="library">x264</systemitem> should | |
26643
fc2e579e2fe6
update paragraphs related to x264, and update its checkout command
gpoirier
parents:
26114
diff
changeset
|
159 be considered a bit unstable, in the sense that its programming |
21521 | 160 interface is subject to change. |
15326 | 161 </para> |
21521 | 162 |
15326 | 163 <para> |
21521 | 164 <systemitem class="library">x264</systemitem> is built and |
165 installed in the standard way: | |
166 <screen>./configure && make && sudo make install</screen> | |
167 This installs libx264.a in /usr/local/lib and x264.h is placed in | |
168 /usr/local/include. | |
15326 | 169 |
21521 | 170 With the <systemitem class="library">x264</systemitem> library |
171 and header placed in the standard locations, building | |
172 <application>MPlayer</application> with | |
173 <systemitem class="library">x264</systemitem> support is easy. | |
174 Just run the standard: | |
175 <screen>./configure && make && sudo make install</screen> | |
176 The <filename>./configure</filename> script will autodetect that you have | |
177 satisfied the requirements for <systemitem class="library">x264</systemitem>. | |
15326 | 178 </para> |
179 </sect3> | |
9675 | 180 </sect2> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
181 </sect1> |
9675 | 182 |
21521 | 183 |
184 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
185 | |
9675 | 186 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
187 <sect1 id="audio-codecs"> |
9675 | 188 <title>Audio codecs</title> |
189 | |
190 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
191 <sect2 id="swac3"> |
24036 | 192 <title>Software AC-3 decoding</title> |
9675 | 193 |
194 <para> | |
24036 | 195 This is the default decoder used for files with AC-3 audio. |
9675 | 196 </para> |
197 | |
198 <para> | |
24036 | 199 The AC-3 decoder can create audio output mixes for 2, 4, or 6 speakers. |
9675 | 200 When configured for 6 speakers, this decoder provides separate output of |
24036 | 201 all the AC-3 channels to the sound driver, allowing for full "surround |
202 sound" experience without the external AC-3 decoder required to use the | |
9675 | 203 hwac3 codec. |
204 </para> | |
205 | |
206 <para> | |
207 Use the <option>-channels</option> option to select the number of output | |
208 channels. Use <option>-channels 2</option> for a stereo downmix. For a 4 | |
209 channel downmix (Left Front, Right Front, Left Surround and Right Surround | |
210 outputs), use <option>-channels 4</option>. In this case, any center | |
21521 | 211 channel will be mixed equally to the front channels. |
24036 | 212 <option>-channels 6</option> will output all the AC-3 channels as they are |
21521 | 213 encoded - in the order Left, Right, Left Surround, Right Surround, Center and |
214 LFE. | |
9675 | 215 </para> |
216 | |
217 <para> | |
218 The default number of output channels is 2. | |
219 </para> | |
220 | |
221 <para> | |
222 To use more than 2 output channels, you will need to use OSS, and have a | |
223 sound card that supports the appropriate number of output channels via the | |
224 SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1 | |
225 (used by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is | |
226 also supposed to work). | |
227 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
228 </sect2> |
9675 | 229 |
21521 | 230 <!-- ********** --> |
9675 | 231 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
232 <sect2 id="hwac3"> |
24036 | 233 <title>Hardware AC-3 decoding</title> |
21521 | 234 |
9675 | 235 <para> |
24036 | 236 You need an AC-3 capable sound card, with digital out (S/PDIF). The card's |
9675 | 237 driver must properly support the AFMT_AC3 format (C-Media does). Connect |
24036 | 238 your AC-3 decoder to the S/PDIF output, and use the <option>-ac |
9675 | 239 hwac3</option> option. It is experimental but known to work with C-Media |
240 cards and Soundblaster Live! + ALSA (but not OSS) drivers and DXR3/Hollywood+ | |
241 MPEG decoder cards. | |
242 </para> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
243 </sect2> |
9675 | 244 |
21521 | 245 <!-- ********** --> |
9675 | 246 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
247 <sect2 id="libmad"> |
20684
9076064494eb
A bunch of missing <systemitem class="library"> tags
torinthiel
parents:
20683
diff
changeset
|
248 <title><systemitem class="library">libmad</systemitem> support</title> |
9675 | 249 |
250 <para> | |
20684
9076064494eb
A bunch of missing <systemitem class="library"> tags
torinthiel
parents:
20683
diff
changeset
|
251 <ulink url="http://www.underbit.com/products/mad/"><systemitem class="library">libmad</systemitem></ulink> |
9076064494eb
A bunch of missing <systemitem class="library"> tags
torinthiel
parents:
20683
diff
changeset
|
252 is a multiplatform, integer (internally 24bit PCM) only |
9675 | 253 MPEG audio decoding library. It does not handle broken files well, and it |
11342 | 254 sometimes has problems with seeking, but it may perform better on FPU-less |
21521 | 255 (such as <link linkend="arm">ARM</link>) |
256 platform than <systemitem class="library">mp3lib</systemitem>. | |
9675 | 257 </para> |
258 | |
259 <para> | |
21521 | 260 If you have a proper installation of |
261 <systemitem class="library">libmad</systemitem>, | |
262 <filename>./configure</filename> will notice and support for MPEG audio | |
263 decoding via <systemitem class="library">libmad</systemitem> will be built | |
264 automatically. | |
9675 | 265 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
266 </sect2> |
9675 | 267 |
21521 | 268 <!-- ********** --> |
269 | |
17432 | 270 <sect2 id="hwmpa"> |
271 <title>Hardware MPEG audio codec</title> | |
272 | |
273 <para> | |
21521 | 274 This codec (selected by <option>-ac hwmpa</option>) passes through MPEG audio |
275 packets to hardware decoders, such as the ones found in full-featured DVB cards | |
17432 | 276 and DXR2 adapters. |
277 Don't use it in combination with any other audio output device | |
278 (such as OSS and ALSA) that isn't able to decode it (you will hear | |
279 only white noise). | |
280 </para> | |
281 </sect2> | |
282 | |
21521 | 283 <!-- ********** --> |
9675 | 284 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
285 <sect2 id="aac"> |
9802 | 286 <title>AAC codec</title> |
21521 | 287 |
9802 | 288 <para> |
289 AAC (Advanced Audio Coding) is an audio codec sometimes found in MOV and MP4 | |
290 files. An open source decoder called FAAD is available from | |
10766 | 291 <ulink url="http://www.audiocoding.com"/>. |
14658 | 292 <application>MPlayer</application> includes a CVS snapshot of libfaad 2.1 |
293 beta, so you do not need to get it separately. | |
9802 | 294 </para> |
11031 | 295 |
296 <para> | |
297 If you use gcc 3.2 which fails to compile our internal FAAD or want to use | |
298 the external library for some other reason, download the library from the | |
14113 | 299 <ulink url="http://www.audiocoding.com/modules/mydownloads/">download page</ulink> |
21521 | 300 and pass <option>--enable-faad-external</option> |
301 to <filename>./configure</filename>. | |
11031 | 302 You do not need all of faad2 to decode AAC files, libfaad is enough. Build |
303 it like this: | |
304 <screen> | |
305 cd faad2/ | |
14700 | 306 sh bootstrap |
11031 | 307 ./configure |
308 cd libfaad | |
309 make | |
310 make install | |
311 </screen> | |
312 Binaries are not available from audiocoding.com, but you can (apt-)get Debian | |
21521 | 313 packages from |
314 <ulink url="http://www.debian-multimedia.org/">Christian Marillat's homepage</ulink>, | |
315 Mandrake/Mandriva RPMs from the <ulink url="http://plf.zarb.org">P.L.F</ulink> | |
21608
d64b282f8e2f
RedHat RPMs are long gone. Greysector repository is going away, and I've
rathann
parents:
21596
diff
changeset
|
316 and Fedora RPMs from <ulink url="http://rpm.livna.org/">Livna</ulink>. |
11031 | 317 </para> |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
318 </sect2> |
9802 | 319 |
21521 | 320 <!-- ********** --> |
321 | |
18060
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
322 <sect2 id="amr"> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
323 <title>AMR codecs</title> |
21521 | 324 |
18060
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
325 <para> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
326 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
|
327 phones. |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
328 Reference implementation is available from |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
329 <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
|
330 (free for private use). |
23082 | 331 To enable support, download and install support libraries for |
332 <ulink url="http://www.penguin.cz/~utx/amr">AMR-NB and AMR-WB</ulink> | |
24062
b7f34336c879
Explicitly mention the need to rebuild MPlayer after installing AMR libs.
rathann
parents:
24036
diff
changeset
|
333 following the instructions on that page. Recompile MPlayer afterwards. |
18060
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
334 </para> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
335 </sect2> |
cbc29633fbee
AMR codecs support info, patch by Rathann, with slight alteration by me.
gpoirier
parents:
17432
diff
changeset
|
336 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
337 </sect1> |
9675 | 338 |
21521 | 339 |
340 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
341 | |
9675 | 342 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
343 <sect1 id="codec-importing"> |
9675 | 344 <title>Win32 codecs importing HOWTO</title> |
345 | |
346 <!-- TODO: a short paragraph of text would be nice here... --> | |
347 | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
348 <sect2 id="vfw-codecs"> |
9675 | 349 <title>VFW codecs</title> |
350 | |
351 <para> | |
352 VFW (Video for Windows) is the old Video API for Windows. Its codecs have | |
353 the <filename>.DLL</filename> or (rarely) <filename>.DRV</filename> | |
354 extension. If <application>MPlayer</application> fails at playing your AVI | |
355 with this kind of message: | |
356 <screen>UNKNOWN video codec: HFYU (0x55594648)</screen> | |
357 It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU = | |
358 HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you | |
359 have to find out which DLL Windows loads in order to play this file. In our | |
360 case, the <filename>system.ini</filename> contains this information in a | |
361 line that reads: | |
362 <programlisting>VIDC.HFYU=huffyuv.dll</programlisting> | |
363 </para> | |
364 | |
365 <para> | |
366 So you need the <filename>huffyuv.dll</filename> file. Note that the audio | |
367 codecs are specified by the MSACM prefix: | |
368 <programlisting>msacm.l3acm=L3codeca.acm</programlisting> | |
369 </para> | |
370 | |
371 <para> | |
372 This is the MP3 codec. Now that you have all the necessary information | |
373 (fourcc, codec file, sample AVI), submit your codec support request by | |
374 mail, and upload these files to the FTP site: | |
21521 | 375 <systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/</systemitem> |
9675 | 376 </para> |
377 | |
23517 | 378 <note><para> |
379 On Windows NT/2000/XP search for this info in the registry, | |
21596 | 380 e.g. search for "VIDC.HFYU". To find out how to do this, look at |
9675 | 381 the old DirectShow method below. |
382 </para></note> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
383 </sect2> |
9675 | 384 |
21521 | 385 <!-- ********** --> |
9675 | 386 |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
387 <sect2 id="dshow-codecs"> |
9675 | 388 <title>DirectShow codecs</title> |
389 | |
390 <para> | |
391 DirectShow is the newer Video API, which is even worse than its predecessor. | |
392 Things are harder with DirectShow, since | |
393 <itemizedlist> | |
21725
e4cd9d683286
Massive <simpara> -> <para>, as no <simpara>'s are actually needed.
torinthiel
parents:
21721
diff
changeset
|
394 <listitem><para> |
9675 | 395 <filename>system.ini</filename> does not contain the needed information, |
396 instead it is stored in the registry and | |
21725
e4cd9d683286
Massive <simpara> -> <para>, as no <simpara>'s are actually needed.
torinthiel
parents:
21721
diff
changeset
|
397 </para></listitem> |
e4cd9d683286
Massive <simpara> -> <para>, as no <simpara>'s are actually needed.
torinthiel
parents:
21721
diff
changeset
|
398 <listitem><para> |
9675 | 399 we need the GUID of the codec. |
21725
e4cd9d683286
Massive <simpara> -> <para>, as no <simpara>'s are actually needed.
torinthiel
parents:
21721
diff
changeset
|
400 </para></listitem> |
9675 | 401 </itemizedlist> |
402 </para> | |
403 | |
404 <procedure> | |
405 <title>New Method:</title> | |
406 <para> | |
407 Using <application>Microsoft GraphEdit</application> (fast) | |
408 </para> | |
409 <step><para> | |
410 Get <application>GraphEdit</application> from either DirectX SDK or | |
20322 | 411 <ulink url="http://doom9.net">doom9</ulink>. |
21521 | 412 </para></step> |
9675 | 413 <step><para> |
414 Start <command>graphedit.exe</command>. | |
21521 | 415 </para></step> |
9675 | 416 <step><para> |
21721
6be31bc59a0e
Add <menuchoice> <guimenu> <guisubmenu> <guimenuitem> markup for menus.
torinthiel
parents:
21720
diff
changeset
|
417 From the menu select |
6be31bc59a0e
Add <menuchoice> <guimenu> <guisubmenu> <guimenuitem> markup for menus.
torinthiel
parents:
21720
diff
changeset
|
418 <menuchoice><guimenu>Graph</guimenu> |
6be31bc59a0e
Add <menuchoice> <guimenu> <guisubmenu> <guimenuitem> markup for menus.
torinthiel
parents:
21720
diff
changeset
|
419 <guisubmenu>Insert Filters</guisubmenu></menuchoice>. |
21521 | 420 </para></step> |
9675 | 421 <step><para> |
20322 | 422 Expand item <systemitem>DirectShow Filters</systemitem>. |
21521 | 423 </para></step> |
9675 | 424 <step><para> |
425 Select the right codec name and expand item. | |
21521 | 426 </para></step> |
9675 | 427 <step><para> |
428 In the entry <systemitem>DisplayName</systemitem> look at the text in | |
429 winged brackets after the backslash and write it down (five dash-delimited | |
430 blocks, the GUID). | |
21521 | 431 </para></step> |
9675 | 432 <step><para> |
21521 | 433 The codec binary is the file specified in the |
434 <systemitem>Filename</systemitem> entry. | |
435 </para></step> | |
9675 | 436 </procedure> |
437 | |
21521 | 438 <note><para> |
9675 | 439 If there is no <systemitem>Filename</systemitem> and |
440 <systemitem>DisplayName</systemitem> contains something like | |
441 <systemitem>device:dmo</systemitem>, then it is a DMO-Codec. | |
21521 | 442 </para></note> |
9675 | 443 |
444 <procedure> | |
445 <title>Old Method:</title> | |
446 <para> | |
447 Take a deep breath and start searching the registry... | |
448 </para> | |
449 <step><para> | |
450 Start <command>regedit</command>. | |
21521 | 451 </para></step> |
9675 | 452 <step><para> |
21732 | 453 Press <keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo>, disable |
454 the first two checkboxes, and enable the third. Type in the fourcc of the | |
455 codec (e.g. <userinput>TM20</userinput>). | |
21521 | 456 </para></step> |
9675 | 457 <step><para> |
458 You should see a field which contains the path and the filename (e.g. | |
459 <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>). | |
21521 | 460 </para></step> |
9675 | 461 <step><para> |
462 Now that you have the file, we need the GUID. Try searching again, but | |
463 now search for the codec's name, not the fourcc. Its name can be acquired | |
464 when Media Player is playing the file, by checking | |
21721
6be31bc59a0e
Add <menuchoice> <guimenu> <guisubmenu> <guimenuitem> markup for menus.
torinthiel
parents:
21720
diff
changeset
|
465 <menuchoice><guimenu>File</guimenu> <guisubmenu>Properties</guisubmenu> |
6be31bc59a0e
Add <menuchoice> <guimenu> <guisubmenu> <guimenuitem> markup for menus.
torinthiel
parents:
21720
diff
changeset
|
466 <guimenuitem>Advanced</guimenuitem></menuchoice>. |
9675 | 467 If not, you are out of luck. Try guessing (e.g. search for TrueMotion). |
21521 | 468 </para></step> |
9675 | 469 <step><para> |
470 If the GUID is found you should see a <guilabel>FriendlyName</guilabel> | |
471 and a <guilabel>CLSID</guilabel> field. Write down the 16 byte CLSID, | |
472 this is the GUID we need. | |
21521 | 473 </para></step> |
9675 | 474 </procedure> |
475 | |
21521 | 476 <note><para> |
9675 | 477 If searching fails, try enabling all the checkboxes. You may have |
478 false hits, but you may get lucky... | |
21521 | 479 </para></note> |
9675 | 480 |
481 <para> | |
482 Now that you have all the necessary information (fourcc, GUID, codec file, | |
483 sample AVI), submit your codec support request by mail, and upload these files | |
484 to the FTP site: | |
21521 | 485 <systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/</systemitem> |
9675 | 486 </para> |
14004
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
487 |
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
488 <para> |
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
489 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
|
490 <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
|
491 </para> |
3d698ac7ec9a
Explain what you need to read to add a codec yourself, patch by
diego
parents:
13977
diff
changeset
|
492 |
9675 | 493 </sect2> |
494 </sect1> | |
17321
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
495 |
7f9fcf5245a0
Improve overall structure by adding a few top-level chapters so that
diego
parents:
17273
diff
changeset
|
496 </chapter> |