annotate DOCS/codecs.html @ 3145:78e11396f431

runtime cpu detection
author michael
date Mon, 26 Nov 2001 21:55:22 +0000
parents 4173305887a7
children 27986f4dcd30
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
1 <HTML>
1712
7c1643fb989a bgcolor=white, codecs-status url fixed
arpi
parents: 1711
diff changeset
2 <BODY BGCOLOR=WHITE>
1704
a2e1432f7ac3 Arial font
gabucino
parents: 1688
diff changeset
3
a2e1432f7ac3 Arial font
gabucino
parents: 1688
diff changeset
4 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
5
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
6 <P><B><A NAME=2.2>2.2. Supported codecs</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
7
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
8
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
9 <P><B><A NAME=2.2.1>2.2.1. Video codecs</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
10
1731
07e2dfca67a3 can't stop commiting :)
gabucino
parents: 1712
diff changeset
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
01aa08dae521 small fixes
arpi
parents: 1855
diff changeset
12 daily generated list!!!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
13
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
14 <P>The most important ones above all:<BR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
15 <UL>
2290
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
16 <LI>MPEG1 (VCD) and MPEG2 (DVD) video</LI>
2690
a2bb142ce67d some updates
gabucino
parents: 2684
diff changeset
17 <LI>DivX ;-), OpenDivX (DivX4), 3ivx and other MPEG4 variants</LI>
2290
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
18 <LI>Windows Media Video 7 (WMV1) and 8 (WMV2) used in .wmv files</LI>
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
19 <LI>Intel Indeo codecs (3.1,3.2,4.1,5.0)</LI>
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
20 <LI>MJPEG, ASV2 and other hardware formats</LI>
2690
a2bb142ce67d some updates
gabucino
parents: 2684
diff changeset
21 <LI>XAnim codecs</LI>
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
22 <LI>VIVO</LI>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
23 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
24
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
25 <P>If you have a Win32 codec not listed here, and not supported yet, just read the <A
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
26 HREF="#2.2.3">codec importing</A> to get info about how to help us adding support
1731
07e2dfca67a3 can't stop commiting :)
gabucino
parents: 1712
diff changeset
27 for it!</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
28
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
29 <P><B><A NAME=2.2.1.1>2.2.1.1. DivX4</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
30
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
31 <P>This section contains information about the DivX4 codec of
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
32 <A HREF="http://www.projectmayo.com">ProjectMayo</A>. Their first available alpha version was the OpenDivX 4.0
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
33 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
34 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
35 quality of MPEG1/2 movies. Now we use our own.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
36
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
37 <P>The new generation of this codec can even decode movies made with the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
38 infamous DivX codec! And it's not everything, it's MUCH faster than the
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
39 traditional Win32 DivX DLL's. See below for configuration. The only
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
40 disadvantage of this codec is that it's currently closed-source. :(</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
41
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
42 <P>The codec can be downloaded from the following URL:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
43
1731
07e2dfca67a3 can't stop commiting :)
gabucino
parents: 1712
diff changeset
44 <P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip">http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip</A></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
45
2684
aadd16c5d6eb divx4 installation updated
gabucino
parents: 2664
diff changeset
46 <P>Unpack it, and run <CODE>./install.sh</CODE> as root.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
47
1869
01aa08dae521 small fixes
arpi
parents: 1855
diff changeset
48 <P>Note: do NOT forget to add /usr/local/lib to your /etc/ld.so.conf !</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
49
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
50 <P><B>MPlayer</B> autodetects if DivX4 is (properly) installed, just compile
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
51 as usual. If it doesn't detect it, you didn't install it exactly as above,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
52 and/or has fucked up config (see last question of 5.1 section).</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
53
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
54 <P>Using it is a bit tricky. As it conflicts with the old OpenDivX (it's API is
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
55 very similar to OpenDivX's), OpenDivX code is disabled, and the OpenDivX
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
56 driver calls this library too.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
57
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
58 <P>Generally we can pinpoint this issue to that you have two options to use
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
59 this codec:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
60
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
61 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
62 <TD>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc&nbsp;odivx</TD><TD>&nbsp;&nbsp;</TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
63 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>using divx4 codec as a new version of OpenDivX.
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
64 in this case it produces YV12 image in its own buffer,
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
65 and <B>MPlayer</B> (libvo) does colorspace conversion. (<B>RECOMMENDED!</B>)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
66 <TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc&nbsp;divx4</TD><TD></TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
67 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>using divx4 codec's colorspace conversion.
2095
340f3a4089cb divx4vfw removed
gabucino
parents: 2091
diff changeset
68 in this mode, you can use YUY2/UYVY too.</TD></TR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
69 </TABLE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
70
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
71 <P>The 'odivx' method is usually faster, due to the fact that it transfers
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
72 image data in YV12 (planar YUV 4:2:0) format, thus requiring much less
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
73 bandwidth on the bus. For packed YUV modes (YUY2, UYVY) use the 'divx4'
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
74 method. For RGB modes you can choose freely, their speed is same, maybe
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
75 differ according to the current bpp.</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
76
2240
5d476d03e2b3 ide vmi nagy hulyeseget akartam irni de elfelejtettem
gabucino
parents: 2153
diff changeset
77 <P>Note: it supports postprocessing too, but range of values is strange: (TODO UPDATE)</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
78
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
79 <P><TABLE BORDER=0>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
80 <TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>0</TD><TD>&nbsp;&nbsp;</TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
81 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>no postproc</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
82 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>10 .. 20</TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
83 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>postprocessing, normal (like level 2 with divxds)</TD><TR>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
84 <TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>30 .. 60</TD>
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
85 <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
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
86 </TABLE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
87
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
88 <P><B><A NAME=2.2.1.2>2.2.1.2. ffmpeg's DivX/libavcodec</A></B></P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
89
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
90 <P>Beginning with version 0.4.2 , <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> contains an <B>opensource</B> DivX codec,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
91 which is compatible with the traditional DivX. <B>MPlayer</B> supports this codec,
2290
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
92 and this makes it possible to <B>watch DivX/DivX4 movies on non-x86 platforms</B>,
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
93 and gain much faster <B>DivX/DivX4</B> decoding speed than the Win32 codecs and
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
94 the original DivX4 library has!<BR>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
95 It was removed from <B>MPlayer</B>'s cvs tree, you have to download it
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
96 manually directly from <B>FFmpeg</B>'s tree:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
97
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
98 <P><CODE>
1987
c4dbfa55d873 reviewed for release
gabucino
parents: 1869
diff changeset
99 cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login<BR>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
100 cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
101 </CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
102
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
103 <P>Note: <I>if you copy with CVS subdirs, next time it's enough to do
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
104 'cvs update'.</I></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
105
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
106 <P>Now, move the newly downloaded ffmpeg source's <B>libavcodec</B> directory,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
107 (with all it's subdirectories) to <B>MPlayer</B>'s tree, so it will look
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
108 like this:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
109
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
110 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
111
1869
01aa08dae521 small fixes
arpi
parents: 1855
diff changeset
112 <P>Symlinking is NOT enough, you have to copy/move it!!!</P>
1668
a5cb1b1d47a8 *** empty log message ***
gabucino
parents: 1624
diff changeset
113
3140
4173305887a7 *** empty log message ***
gabucino
parents: 3027
diff changeset
114 <P>Then compile. configure detects if it's alright, and can be compiled. The
4173305887a7 *** empty log message ***
gabucino
parents: 3027
diff changeset
115 codec also <B>supports postprocessing!</B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
116
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
117 <P>In order to use it, refresh your codecs.conf file, and do as the manpage,
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
118 or the example.conf says (the -vfm option).</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
119
2290
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
120 <P>To achieve the <B>greatest speed</B> on my K6, I remove the
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
121 <CODE>ffmpeg12</CODE> section from codecs.conf (this codec isn't optimized, and
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
122 libmpeg2 is twice as fast), and place <CODE>vfm=5</CODE> in my config file.
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
123 Then <B>MPlayer</B> always uses <B>ffdivx/ffodivx</B> to decode
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
124 <B>DivX/DivX4</B> files, and libmpeg2 for MPEG1/2 . With this and my Matrox G400, I can view even the
b858758fd4db *** empty log message ***
gabucino
parents: 2240
diff changeset
125 highest resolution DivX/DivX4 movies on my K6/2 500, without framedrop.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
126
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
127
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
128 <P><B><A NAME=2.2.1.3>2.2.1.3. XAnim codecs</A></B></P>
2411
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
129
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
130 <P>Foreword: using (some) XAnim codecs with other program than XAnim, is
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
131 <B><I>ILLEGAL</I></B>. It is <B>YOUR</B> responsibility to read its license,
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
132 and do accordingly. The authors of <B>MPlayer</B> can't be held responsible for
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
133 any unlawful act of the user.</P>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
134
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
135 <P>So yes, <B>MPlayer</B> can use XAnim's codecs for decoding. It's very
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
136 easy to enable them:</P>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
137
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
138 <P>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
139 <UL>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
140 <LI>download the codecs you wish to use from the
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
141 <A HREF="http://xanim.va.pubnix.com">XAnim site</A>. The <B>3ivx</B> codec
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
142 isn't there, so download it from the <A HREF="http://www.3ivx.com">3ivx site</A>.</LI>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
143
2664
f23882410024 decreasing my todo list
gabucino
parents: 2611
diff changeset
144 <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
145 it can find the xanim codecs. By default, it checks them at <CODE>/</CODE> (...) .</LI>
2411
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
146 </UL>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
147 </P>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
148
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
149 <P>They are video codec family number 10, so you may want to use <CODE>-vfm 10</CODE>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
150 option to tell <B>MPlayer</B> to use them if possible.</P>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
151
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
152 <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>
70daede73cd9 xanim stuff added
gabucino
parents: 2290
diff changeset
153
2452
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
154
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
155 <P><B><A NAME=2.2.1.4>2.2.1.4. VIVO video</A></B></P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
156
2855
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
157 <P><B>MPlayer</B> can play Vivo (1.0 and 2.0) videos. The most suitable codec
3027
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
158 for 1.0 files is FFmpeg's H263 decoder, you can use it with the <CODE>-vc
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
159 ffh263</CODE> option (you'll need the newest libavcodec !). For 2.0 files, use
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
160 XAnim's H263 decoder codec (it supports fast YV12 output). You can call it with
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
161 the <CODE>-vc h263xa</CODE> option. Of course you have to compile XAnim codecs
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
162 support in, for details see the <A HREF=#2.2.1.3>XAnim video codecs</A>. If
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
163 this doesn't work, get the <CODE>ivvideo.dll</CODE> DLL file (from <A
7b85ba8c9be5 mostly fixes, some updates
gabucino
parents: 2865
diff changeset
164 HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/ivvideo.dll">here</A>),
2855
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
165 and install it under <CODE>/usr/lib/win32</CODE> or wherever you store the
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
166 Win32 codecs. This latter codec doesn't support YV12 nor YUY2 only BGR modes,
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
167 thus usable only with the X11 and OpenGL outputs. Discouraged.</P>
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
168
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
169
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
170 <P><B><A NAME=2.2.1.5>2.2.1.5. MPEG 1/2 video</A></B></P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
171
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
172 <P>MPEG1 and MPEG2 are decoded with the native library <B>libmpeg2</B>.
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
173 Its source code is included in <B>MPlayer</B>, and of course is multiplatform.
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
174 We handle buggy MPEG1/2 video files by checking for what signature does
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
175 libmpeg2 return, and when it gives sig11 (segmentation fault), we quickly
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
176 reinitialize the codec, and continue exactly from where the failure did occur.
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
177 No speed decrease is measurable.</P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
178
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
179
2855
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
180 <P><B><A NAME=2.2.1.6>2.2.1.6. MS Video1</A></B></P>
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
181
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
182 <P>This is a very old and very bad codec of Microsoft. In the past it was
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
183 decoded with the <CODE>msvidc32.dll</CODE> Win32 codec, now we have our own
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
184 open-source implementation (by <A HREF="mailto:melanson@pcisys.net">Mike
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
185 Melanson</A>).</P>
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
186
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
187
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
188 <P><B><A NAME=2.2.2>2.2.2. Audio codecs</A></B></P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
189
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
190 <P>The most important audio codecs above all :<BR>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
191 <UL>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
192 <LI>MPEG layer 2, and layer 3 (MP3) audio (<B>native</B> code, with MMX/SSE/3DNow! optimization)</LI>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
193 <LI>MPEG layer 1 audio (<B>native</B> code, with libavcodec)</LI>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
194 <LI>AC3 Dolby audio (<B>native</B> code, with SSE/3DNow! optimization)</LI>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
195 <LI>Ogg Vorbis audio codec (<B>native</B> lib)</LI>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
196 <LI>Voxware audio (using DirectShow DLL)</LI>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
197 <LI>alaw, msgsm, pcm and other simple old audio formats</LI>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
198 </UL></P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
199
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
200
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
201 <P><B><A NAME=2.2.2.1>2.2.2.1. Hardware AC3 decoding</A></B></P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
202
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
203 <P>You'll need an AC3 capable soundcard, with digital out (SP/DIF). The
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
204 card's driver must support the AFMT_AC3 format (like SB Live! does).
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
205 Connect your AC3 decoder to the SP/DIF output, and use the '-ac hwac3'
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
206 option. It may or may not work (experimental). (probably won't...)</P>
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
207
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
208
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
209 <P><B><A NAME=2.2.2.2>2.2.2.2. libmad support</A></B></P>
2452
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
210
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
211 <P><A HREF="http://mad.sourceforge.net">libmad</A> is a multiplatform MPEG audio
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
212 decoding library. If you don't know why is it good, you probably don't need it.</P>
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
213
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
214 <P>To enable support, compile with the <CODE>--enable-mad</CODE> configure
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
215 option.</P>
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
216
7da4afe26f6b *** empty log message ***
gabucino
parents: 2411
diff changeset
217
2855
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
218 <P><B><A NAME=2.2.2.3>2.2.2.3. VIVO audio</A></B></P>
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
219
2865
72c750bbc249 *** empty log message ***
gabucino
parents: 2855
diff changeset
220 <P>The audio codec used in VIVO files depends on whether it's a VIVO/1.0 or
72c750bbc249 *** empty log message ***
gabucino
parents: 2855
diff changeset
221 VIVO/2.0 file. VIVO/1.0 files have <B>g.723</B> audio, and VIVO/2.0 files
72c750bbc249 *** empty log message ***
gabucino
parents: 2855
diff changeset
222 have <B>Vivo Siren</B>. Currently none of them is supported, but you can
72c750bbc249 *** empty log message ***
gabucino
parents: 2855
diff changeset
223 grab the g.723 codec from
2855
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
224 <A HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/vivog723.acm">here</A>,
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
225 then copy it into the <CODE>/usr/lib/win32</CODE> directory, or respectively.</P>
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
226
8bb4e195d7d7 *** empty log message ***
gabucino
parents: 2848
diff changeset
227
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
228 <P><B><A NAME=2.2.3>2.2.3. Win32 codec importing howto</A></B></P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
229
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
230 <P><B><A NAME=2.2.3.1>2.2.3.1. VFW codecs</A></B></P>
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
231
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
232 <P>VfW (Video for Windows) is the old Video API for Windows. Its codecs have
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
233 the .DLL or (rarely) .DRV extension.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
234 If <B>MPlayer</B> fails with your AVI:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
235
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
236 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
237
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
238 <P>It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
239 HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that we know this, we'll
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
240 have to find out which DLL Windows loads in order to play this file. In our
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
241 case, the system.ini contains this (with many others):</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
242
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
243 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
244
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
245 <P>So we'll need the huffyuv.dll file. Note that the audio codecs are specified
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
246 with the MSACM prefix:</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
247
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
248 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
249
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
250
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
251 <P>This is the MP3 codec.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
252 So, now we have all the info needed (fourcc, codec file, sample AVI), submit
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
253 your codec support request in mail, and upload these files to the FTP:</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
254
1869
01aa08dae521 small fixes
arpi
parents: 1855
diff changeset
255 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
256
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
257
2745
62bcea66003e oh my god what have i done...
gabucino
parents: 2690
diff changeset
258 <P><B><A NAME=2.2.3.2>2.2.3.2. DirectShow codecs</A></B></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
259
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
260 <P>DirectShow is the newer Video API, which is even worse than its predecessor.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
261 Things are harder with DirectShow, since
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
262 <UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
263 <LI>system.ini doesn't contain the needed information, instead it's stored in
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
264 the registry :(
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
265 <LI>we'll need the GUID of the codec.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
266 </UL></P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
267
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
268 <P>So let's search that goddamn registry..
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
269 <UL>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
270 <LI>Start 'regedit'
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
271 <LI>press ctrl-f, disable the first two checkbox, and enable the third. Type
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
272 the fourcc of the codec. (for ex.: TM20)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
273 <LI>you should see a field which contains the path and filename
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
274 (for ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
275 <LI>now that we have the file, we'll need the GUID. Try searching again, but
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
276 now we'll search for the codec's name, not the fourcc. Its name can be acquired
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
277 when Media Player is playing that file, by checking File/Properties/Advanced.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
278 If not, bad luck ;) Try guessing.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
279 (for ex. search for : TrueMotion)
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
280 <LI>if found (in registry), there should be a FriendlyName field, and a CLSID
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
281 field. Write down that 16 byte of CLSID, this is the GUID required by us.
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
282 </UL></P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
283
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
284 <P>NOTE: if searching fails, try to enable all the checkboxes.. you may have
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
285 false hits, but maybe you'll have the right, too...</P>
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
286 <P>NOTE: dump that M$ shit.</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
287
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
288
1682
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
289 <P>So, now we have all the info needed (fourcc, GUID, codec file, sample AVI),
dba45a1aafad *** empty log message ***
gabucino
parents: 1668
diff changeset
290 submit your codec support request in mail, and upload these files to the FTP:<BR>
1869
01aa08dae521 small fixes
arpi
parents: 1855
diff changeset
291 ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</P>
1612
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
292
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
293 </BODY>
1b011d6150c7 new, splitted, etc dox
gabucino
parents:
diff changeset
294 </HTML>