Mercurial > mplayer.hg
annotate DOCS/codecs.html @ 4218:3931c41f740a
Added new syncengine thanks to a new previously undocumented feature of the em8300, this might fix playback on both slow and fast machines (more testing needed). This also requires users to get the em8300 driver from cvs until the next version is released (will probably happen this weekend)
Added lots of comments, should be pretty easy to understand most of the internals now
Added lots of brackets to if's for's while's etc, this is not a cosmetical thing but rather due to the fact I got some very odd bugs with else's since I didn't properly use brackets (and it's the K&R standard to have brackets everywhere)
Fixed some bugs that would occur when disabling libmp1e
Switched to default to the new naming scheme of device nodes, the driver will slowly switch over to this state, if it can't find devices under the new name it will try the old naming scheme
I stopped opening devices in non-blocking mode, it would break the new syncengine which tries to burst data to the device (alot of times meaning it will fill the fifo pretty fast which would previously result in jerkyness on fast machines)
The device now sets the initial state of the pts and speed (probably not needed, but assumption is the mother of all fuckups =)
Keep the control interface open during the entire duration of the libvo device, we might need this to flush video buffers on seeking (currently not implemented, therefore seeking is broken)
This is beta stuff to the driver, I will get some users to test it for me and do my best to fix seeking as soon as possible...
author | mswitch |
---|---|
date | Thu, 17 Jan 2002 10:33:47 +0000 |
parents | e5f53a91c2eb |
children | 4b231f3778a6 |
rev | line source |
---|---|
1612 | 1 <HTML> |
1712 | 2 <BODY BGCOLOR=WHITE> |
1704 | 3 |
4 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
1612 | 5 |
2745 | 6 <P><B><A NAME=2.2>2.2. Supported codecs</A></B></P> |
1612 | 7 |
8 | |
2745 | 9 <P><B><A NAME=2.2.1>2.2.1. Video codecs</A></B></P> |
1612 | 10 |
1731 | 11 <P>See <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">http://www.mplayerhq.hu/DOCS/codecs-status.html</A> for the complete, |
1869 | 12 daily generated list!!!</P> |
1612 | 13 |
2745 | 14 <P>The most important ones above all:<BR> |
1682 | 15 <UL> |
2290 | 16 <LI>MPEG1 (VCD) and MPEG2 (DVD) video</LI> |
2690 | 17 <LI>DivX ;-), OpenDivX (DivX4), 3ivx and other MPEG4 variants</LI> |
2290 | 18 <LI>Windows Media Video 7 (WMV1) and 8 (WMV2) used in .wmv files</LI> |
19 <LI>Intel Indeo codecs (3.1,3.2,4.1,5.0)</LI> | |
20 <LI>MJPEG, ASV2 and other hardware formats</LI> | |
2690 | 21 <LI>XAnim codecs</LI> |
2745 | 22 <LI>VIVO</LI> |
3566 | 23 <LI>FLI</LI> |
3806 | 24 <LI>RealVideo 1.0</LI> |
1682 | 25 </UL></P> |
1612 | 26 |
2745 | 27 <P>If you have a Win32 codec not listed here, and not supported yet, just read the <A |
28 HREF="#2.2.3">codec importing</A> to get info about how to help us adding support | |
1731 | 29 for it!</P> |
1612 | 30 |
2745 | 31 <P><B><A NAME=2.2.1.1>2.2.1.1. DivX4</A></B></P> |
1612 | 32 |
1682 | 33 <P>This section contains information about the DivX4 codec of |
34 <A HREF="http://www.projectmayo.com">ProjectMayo</A>. Their first available alpha version was the OpenDivX 4.0 | |
35 alpha 47 and 48. Support for this was/is included in <B>MPlayer</B>, and built by | |
2240
5d476d03e2b3
ide vmi nagy hulyeseget akartam irni de elfelejtettem
gabucino
parents:
2153
diff
changeset
|
36 default. We used to use its postprocessing code to optionally enhance visual |
5d476d03e2b3
ide vmi nagy hulyeseget akartam irni de elfelejtettem
gabucino
parents:
2153
diff
changeset
|
37 quality of MPEG1/2 movies. Now we use our own.</P> |
1612 | 38 |
1682 | 39 <P>The new generation of this codec can even decode movies made with the |
40 infamous DivX codec! And it's not everything, it's MUCH faster than the | |
4177 | 41 traditional Win32 DivX DLL's (note that libavcodec's decoder is EVEN FASTER :). |
42 See below for configuration. The only disadvantage of this codec is that it's | |
43 currently closed-source. :(</P> | |
1612 | 44 |
1682 | 45 <P>The codec can be downloaded from the following URL:</P> |
46 | |
3583 | 47 <P> <A HREF="http://avifile.sourceforge.net">http://avifile.sourceforge.net</A></P> |
48 | |
49 <P>If it doesn't work, try :</P> | |
50 | |
51 <P> <A HREF="http://divx.com">http://divx.com</A></P> | |
1612 | 52 |
2684 | 53 <P>Unpack it, and run <CODE>./install.sh</CODE> as root.</P> |
1612 | 54 |
4177 | 55 <P>Note: do NOT forget to add <CODE>/usr/local/lib</CODE> to your |
56 <CODE>/etc/ld.so.conf</CODE> and running <CODE>ldconfig</CODE> !</P> | |
1612 | 57 |
1682 | 58 <P><B>MPlayer</B> autodetects if DivX4 is (properly) installed, just compile |
59 as usual. If it doesn't detect it, you didn't install it exactly as above, | |
3668 | 60 and/or has messed up config (see last question of 5.1 section).</P> |
1682 | 61 |
4177 | 62 <P>Using it is a bit tricky. As it conflicts with the old OpenDivX (its API is |
1682 | 63 very similar to OpenDivX's), OpenDivX code is disabled, and the OpenDivX |
64 driver calls this library too.</P> | |
65 | |
66 <P>Generally we can pinpoint this issue to that you have two options to use | |
67 this codec:</P> | |
68 | |
69 <P><TABLE BORDER=0> | |
1987 | 70 <TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc odivx</TD><TD> </TD> |
71 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>using divx4 codec as a new version of OpenDivX. | |
1682 | 72 in this case it produces YV12 image in its own buffer, |
1987 | 73 and <B>MPlayer</B> (libvo) does colorspace conversion. (<B>RECOMMENDED!</B>)</TD><TR> |
74 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc divx4</TD><TD></TD> | |
75 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>using divx4 codec's colorspace conversion. | |
2095 | 76 in this mode, you can use YUY2/UYVY too.</TD></TR> |
1682 | 77 </TABLE></P> |
1612 | 78 |
1682 | 79 <P>The 'odivx' method is usually faster, due to the fact that it transfers |
80 image data in YV12 (planar YUV 4:2:0) format, thus requiring much less | |
81 bandwidth on the bus. For packed YUV modes (YUY2, UYVY) use the 'divx4' | |
82 method. For RGB modes you can choose freely, their speed is same, maybe | |
83 differ according to the current bpp.</P> | |
84 | |
4177 | 85 <P>Note: it supports postprocessing too (use option <CODE>-oldpp</CODE> to |
86 enable using it), but range of values is strange: </P> | |
1612 | 87 |
1682 | 88 <P><TABLE BORDER=0> |
1987 | 89 <TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>0</TD><TD> </TD> |
90 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>no postproc</TD><TR> | |
91 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>10 .. 20</TD> | |
92 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>postprocessing, normal (like level 2 with divxds)</TD><TR> | |
93 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>30 .. 60</TD> | |
94 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>hard prostprocessing, eats many CPU (like level 4 with divxds</TD><TR> | |
1682 | 95 </TABLE></P> |
1612 | 96 |
2745 | 97 <P><B><A NAME=2.2.1.2>2.2.1.2. ffmpeg's DivX/libavcodec</A></B></P> |
1682 | 98 |
99 <P>Beginning with version 0.4.2 , <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> contains an <B>opensource</B> DivX codec, | |
100 which is compatible with the traditional DivX. <B>MPlayer</B> supports this codec, | |
2290 | 101 and this makes it possible to <B>watch DivX/DivX4 movies on non-x86 platforms</B>, |
102 and gain much faster <B>DivX/DivX4</B> decoding speed than the Win32 codecs and | |
4022 | 103 the original DivX4 library has!</P> |
104 | |
105 <P>It also contains lots of nice codecs, such as RealVideo 1.0, MJPEG, h263, | |
106 h263+, etc.</P> | |
107 | |
108 <P>If you use MPlayer | |
109 | |
110 <UL> | |
111 <LI>from release : then you have libavcodec right in the package, just | |
112 build <B>MPlayer</B> as usual.</LI> | |
113 <LI>from CVS : you have to download it manually directly from <B>FFmpeg</B>'s | |
114 tree: | |
1682 | 115 |
116 <P><CODE> | |
1987 | 117 cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login<BR> |
1612 | 118 cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg |
1682 | 119 </CODE></P> |
1612 | 120 |
1682 | 121 <P>Note: <I>if you copy with CVS subdirs, next time it's enough to do |
122 'cvs update'.</I></P> | |
123 <P>Now, move the newly downloaded ffmpeg source's <B>libavcodec</B> directory, | |
124 (with all it's subdirectories) to <B>MPlayer</B>'s tree, so it will look | |
125 like this:</P> | |
1612 | 126 |
1682 | 127 <P> <CODE>main/libavcodec</CODE></P> |
1612 | 128 |
1869 | 129 <P>Symlinking is NOT enough, you have to copy/move it!!!</P> |
1668 | 130 |
4022 | 131 </LI> |
132 </UL> | |
133 </P> | |
134 | |
3140 | 135 <P>Then compile. configure detects if it's alright, and can be compiled. The |
136 codec also <B>supports postprocessing!</B></P> | |
1612 | 137 |
3694 | 138 <P>In order to use it, update your codecs.conf file, and do as the manpage, |
1682 | 139 or the example.conf says (the -vfm option).</P> |
1612 | 140 |
2290 | 141 <P>To achieve the <B>greatest speed</B> on my K6, I remove the |
142 <CODE>ffmpeg12</CODE> section from codecs.conf (this codec isn't optimized, and | |
143 libmpeg2 is twice as fast), and place <CODE>vfm=5</CODE> in my config file. | |
144 Then <B>MPlayer</B> always uses <B>ffdivx/ffodivx</B> to decode | |
145 <B>DivX/DivX4</B> files, and libmpeg2 for MPEG1/2 . With this and my Matrox G400, I can view even the | |
146 highest resolution DivX/DivX4 movies on my K6/2 500, without framedrop.</P> | |
1612 | 147 |
148 | |
2745 | 149 <P><B><A NAME=2.2.1.3>2.2.1.3. XAnim codecs</A></B></P> |
2411 | 150 |
151 <P>Foreword: using (some) XAnim codecs with other program than XAnim, is | |
152 <B><I>ILLEGAL</I></B>. It is <B>YOUR</B> responsibility to read its license, | |
153 and do accordingly. The authors of <B>MPlayer</B> can't be held responsible for | |
154 any unlawful act of the user.</P> | |
155 | |
156 <P>So yes, <B>MPlayer</B> can use XAnim's codecs for decoding. It's very | |
157 easy to enable them:</P> | |
158 | |
159 <P> | |
160 <UL> | |
161 <LI>download the codecs you wish to use from the | |
162 <A HREF="http://xanim.va.pubnix.com">XAnim site</A>. The <B>3ivx</B> codec | |
163 isn't there, so download it from the <A HREF="http://www.3ivx.com">3ivx site</A>.</LI> | |
164 | |
2664 | 165 <LI>use the <CODE>--with-xanimlibdir</CODE> option to tell configure where |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
166 it can find the xanim codecs. By default, it checks them at <CODE>/</CODE> (...) .</LI> |
3163 | 167 |
168 <LI>rename the filenames by cutting out the architecture stuff, so they will | |
169 have filenames like these : <CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE> | |
170 | |
2411 | 171 </UL> |
172 </P> | |
173 | |
174 <P>They are video codec family number 10, so you may want to use <CODE>-vfm 10</CODE> | |
175 option to tell <B>MPlayer</B> to use them if possible.</P> | |
176 | |
177 <P>Tested codecs are: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>, <B>CVID</B>, <B>3ivX</B>, <B>h263</B>.</P> | |
178 | |
2452 | 179 |
2745 | 180 <P><B><A NAME=2.2.1.4>2.2.1.4. VIVO video</A></B></P> |
181 | |
2855 | 182 <P><B>MPlayer</B> can play Vivo (1.0 and 2.0) videos. The most suitable codec |
3027 | 183 for 1.0 files is FFmpeg's H263 decoder, you can use it with the <CODE>-vc |
3566 | 184 ffh263</CODE> option (default) (you'll need the newest libavcodec !). For 2.0 files, use |
3174
4164be267d0f
misinfo fixed (notified by Al3x. At least 65535 times:)
gabucino
parents:
3163
diff
changeset
|
185 the <CODE>ivvideo.dll</CODE> Win32 DLL file (from <A |
3027 | 186 HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/ivvideo.dll">here</A>), |
2855 | 187 and install it under <CODE>/usr/lib/win32</CODE> or wherever you store the |
188 Win32 codecs. This latter codec doesn't support YV12 nor YUY2 only BGR modes, | |
3174
4164be267d0f
misinfo fixed (notified by Al3x. At least 65535 times:)
gabucino
parents:
3163
diff
changeset
|
189 thus usable only with the X11 and OpenGL outputs. Hopefully ffh263 will support |
4164be267d0f
misinfo fixed (notified by Al3x. At least 65535 times:)
gabucino
parents:
3163
diff
changeset
|
190 VIVO 2.0 files in the future.</P> |
2855 | 191 |
2745 | 192 |
193 <P><B><A NAME=2.2.1.5>2.2.1.5. MPEG 1/2 video</A></B></P> | |
194 | |
195 <P>MPEG1 and MPEG2 are decoded with the native library <B>libmpeg2</B>. | |
196 Its source code is included in <B>MPlayer</B>, and of course is multiplatform. | |
197 We handle buggy MPEG1/2 video files by checking for what signature does | |
198 libmpeg2 return, and when it gives sig11 (segmentation fault), we quickly | |
199 reinitialize the codec, and continue exactly from where the failure did occur. | |
200 No speed decrease is measurable.</P> | |
201 | |
202 | |
2855 | 203 <P><B><A NAME=2.2.1.6>2.2.1.6. MS Video1</A></B></P> |
204 | |
205 <P>This is a very old and very bad codec of Microsoft. In the past it was | |
206 decoded with the <CODE>msvidc32.dll</CODE> Win32 codec, now we have our own | |
207 open-source implementation (by <A HREF="mailto:melanson@pcisys.net">Mike | |
208 Melanson</A>).</P> | |
209 | |
210 | |
3163 | 211 <P><B><A NAME=2.2.1.7>2.2.1.7. Cinepak CVID</A></B></P> |
212 | |
3647 | 213 <P><B>MPlayer</B> now has its own opensource, multiplatform Cinepak decoder. |
214 Supports YUV outputs, thus hardware scaling if video output driver allows. | |
215 Used by default.</P> | |
3163 | 216 |
217 | |
3806 | 218 <P><B><A NAME=2.2.1.8>2.2.1.8. RealVideo</A></B></P> |
219 | |
220 <P>Currently ONLY the RealVideo 1.0 (fourcc RV10) codec is supported, through | |
221 ffmpeg. Sadly, no new RealMedia files come with this one, only with the newer | |
222 RV20 and RV30 codecs which are closed-source. Their future support is | |
223 unlikely :(</P> | |
224 | |
225 | |
2745 | 226 <P><B><A NAME=2.2.2>2.2.2. Audio codecs</A></B></P> |
227 | |
228 <P>The most important audio codecs above all :<BR> | |
229 <UL> | |
230 <LI>MPEG layer 2, and layer 3 (MP3) audio (<B>native</B> code, with MMX/SSE/3DNow! optimization)</LI> | |
231 <LI>MPEG layer 1 audio (<B>native</B> code, with libavcodec)</LI> | |
232 <LI>AC3 Dolby audio (<B>native</B> code, with SSE/3DNow! optimization)</LI> | |
233 <LI>Ogg Vorbis audio codec (<B>native</B> lib)</LI> | |
234 <LI>Voxware audio (using DirectShow DLL)</LI> | |
235 <LI>alaw, msgsm, pcm and other simple old audio formats</LI> | |
3566 | 236 <LI>VIVO audio (g723, Vivo Siren)</LI> |
3806 | 237 <LI>RealAudio: DNET (low bitrate AC3)</LI> |
2745 | 238 </UL></P> |
239 | |
240 | |
3239
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
241 <P><B><A NAME=2.2.2.1>2.2.2.1. Software AC3 decoding</A></B></P> |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
242 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
243 <P>This is the default decoder used for files with AC3 audio.</P> |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
244 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
245 <P>The AC3 decoder can create output audio mixes for 2, 4, or 6 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
246 speakers. When configured for 6 speakers, this decoder provides |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
247 separate output of all the AC3 channels to the soundcard driver, |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
248 allowing the full "surround sound" experience without the external AC3 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
249 decoder required to use the hwac3 codec.</P> |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
250 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
251 <P>Use the <CODE>-channels</CODE> option to select the number of output channels. |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
252 Use <CODE>-channels 2</CODE> for a stereo downmix. For a 4 channel downmix (Left |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
253 Front, Right Front, Left Surround and Right Surround outputs), use |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
254 <CODE>-channels 4</CODE>. In this case, any Centre channel will be mixed |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
255 equally to the front channels. Lastly, "-channels 6" will output all the AC3 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
256 channels as they are encoded - in the order Left, Right, Left Surround, Right |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
257 Surround, Centre and LFE.</P> |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
258 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
259 <P>The default number of output channels is 2.</P> |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
260 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
261 <P>To use more than 2 output channels, you'll need to be using OSS, |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
262 and to have a soundcard driver that supports the appropriate number of |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
263 output channels via the SNDCTL_DSP_CHANNELS ioctl. For example, a |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
264 version of the emu10k1 driver (used with the SB Live cards) newer than |
4200 | 265 August 2001 should be suitable (I heard newest ALSA CVS supports this too).</P> |
3239
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
266 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
267 |
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
268 <P><B><A NAME=2.2.2.2>2.2.2.2. Hardware AC3 decoding</A></B></P> |
2745 | 269 |
270 <P>You'll need an AC3 capable soundcard, with digital out (SP/DIF). The | |
271 card's driver must support the AFMT_AC3 format (like SB Live! does). | |
272 Connect your AC3 decoder to the SP/DIF output, and use the '-ac hwac3' | |
273 option. It may or may not work (experimental). (probably won't...)</P> | |
274 | |
275 | |
3239
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
276 <P><B><A NAME=2.2.2.3>2.2.2.3. libmad support</A></B></P> |
2452 | 277 |
278 <P><A HREF="http://mad.sourceforge.net">libmad</A> is a multiplatform MPEG audio | |
279 decoding library. If you don't know why is it good, you probably don't need it.</P> | |
280 | |
281 <P>To enable support, compile with the <CODE>--enable-mad</CODE> configure | |
282 option.</P> | |
283 | |
284 | |
3239
ef38487113b1
"Software AC3 decoding" section. Patch by Stephen Davies <steve@daviesfam.org>
gabucino
parents:
3174
diff
changeset
|
285 <P><B><A NAME=2.2.2.4>2.2.2.4. VIVO audio</A></B></P> |
2855 | 286 |
2865 | 287 <P>The audio codec used in VIVO files depends on whether it's a VIVO/1.0 or |
288 VIVO/2.0 file. VIVO/1.0 files have <B>g.723</B> audio, and VIVO/2.0 files | |
3566 | 289 have <B>Vivo Siren</B>. Both is <U>supported</U>. You can grab the g.723/Siren |
290 Win32 DLL from | |
2855 | 291 <A HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/vivog723.acm">here</A>, |
292 then copy it into the <CODE>/usr/lib/win32</CODE> directory, or respectively.</P> | |
293 | |
294 | |
3806 | 295 <P><B><A NAME=2.2.2.5>2.2.2.5. RealAudio</A></B></P> |
296 | |
297 <P>Currently the only supported one is the DNET codec. Actually it's a | |
298 low-bitrate version of the well-known AC3 codec. It can be found either in | |
299 old and new RealMedia movies.</P> | |
300 | |
301 | |
2745 | 302 <P><B><A NAME=2.2.3>2.2.3. Win32 codec importing howto</A></B></P> |
1682 | 303 |
2745 | 304 <P><B><A NAME=2.2.3.1>2.2.3.1. VFW codecs</A></B></P> |
1682 | 305 |
306 <P>VfW (Video for Windows) is the old Video API for Windows. Its codecs have | |
307 the .DLL or (rarely) .DRV extension. | |
308 If <B>MPlayer</B> fails with your AVI:</P> | |
309 | |
310 <P> <CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P> | |
1612 | 311 |
1682 | 312 <P>It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU = |
313 HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that we know this, we'll | |
314 have to find out which DLL Windows loads in order to play this file. In our | |
315 case, the system.ini contains this (with many others):</P> | |
1612 | 316 |
1682 | 317 <P> <CODE>VIDC.HFYU=huffyuv.dll</CODE></P> |
318 | |
319 <P>So we'll need the huffyuv.dll file. Note that the audio codecs are specified | |
320 with the MSACM prefix:</P> | |
321 | |
322 <P> <CODE>msacm.l3acm=L3codeca.acm</CODE></P> | |
1612 | 323 |
324 | |
1682 | 325 <P>This is the MP3 codec. |
326 So, now we have all the info needed (fourcc, codec file, sample AVI), submit | |
327 your codec support request in mail, and upload these files to the FTP:</P> | |
1612 | 328 |
1869 | 329 <P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P> |
1612 | 330 |
331 | |
2745 | 332 <P><B><A NAME=2.2.3.2>2.2.3.2. DirectShow codecs</A></B></P> |
1612 | 333 |
1682 | 334 <P>DirectShow is the newer Video API, which is even worse than its predecessor. |
335 Things are harder with DirectShow, since | |
336 <UL> | |
337 <LI>system.ini doesn't contain the needed information, instead it's stored in | |
338 the registry :( | |
339 <LI>we'll need the GUID of the codec. | |
340 </UL></P> | |
1612 | 341 |
1682 | 342 <P>So let's search that goddamn registry.. |
343 <UL> | |
344 <LI>Start 'regedit' | |
345 <LI>press ctrl-f, disable the first two checkbox, and enable the third. Type | |
346 the fourcc of the codec. (for ex.: TM20) | |
347 <LI>you should see a field which contains the path and filename | |
348 (for ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX) | |
349 <LI>now that we have the file, we'll need the GUID. Try searching again, but | |
350 now we'll search for the codec's name, not the fourcc. Its name can be acquired | |
351 when Media Player is playing that file, by checking File/Properties/Advanced. | |
352 If not, bad luck ;) Try guessing. | |
353 (for ex. search for : TrueMotion) | |
354 <LI>if found (in registry), there should be a FriendlyName field, and a CLSID | |
355 field. Write down that 16 byte of CLSID, this is the GUID required by us. | |
356 </UL></P> | |
357 | |
358 <P>NOTE: if searching fails, try to enable all the checkboxes.. you may have | |
359 false hits, but maybe you'll have the right, too...</P> | |
360 <P>NOTE: dump that M$ shit.</P> | |
1612 | 361 |
362 | |
1682 | 363 <P>So, now we have all the info needed (fourcc, GUID, codec file, sample AVI), |
364 submit your codec support request in mail, and upload these files to the FTP:<BR> | |
1869 | 365 ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</P> |
1612 | 366 |
367 </BODY> | |
368 </HTML> |