summaryrefslogtreecommitdiffstats
path: root/DOCS/CODECS
blob: e377cc4754e9976ce1156473c1a777bdb4fe1be7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177

Status of codecs support:
=========================

If you have sample files for untested codecs, or want a new codec to be
added, contact us! See bellow (after the codecs listing) the details!

Video codecs:
~~~~~~~~~~~~~
Built-in native codecs:

- MPEG 1/2 (no fourcc)
  libmpeg2: works, YUV (YV12) supported, with optional postprocessing!!!
- OpenDivX (DIV1,DIVX)
  decore:  works, YUV (YV12) supported, postprocessing supported

Fully functional Win32 VfW/DShow codecs:

- M$ MPEG4 v1, v2 (MPG4,MP42):
  mpg4c32.dll: works, YUV supported.
- M$ MPEG4 v3 / DivX ;-) / AngelPotion  (MP43,DIV3,DIV4,DIV5,DIV6,AP41)
  divxc32.dll: works, YUV supported.
  divx_c32.ax: works, YUV and postprocessing supported.
- Indeo Video 5.0:  (IV50)
  ir50_32.dll (VfW): works, YUV supported.
  ir50_32.dll (DShow): works, YUV supported.
- Cinepak Video:  (CVID)
  iccvid.dll: works, YUV supported.
- Microsoft Video v1.0 (CRAM)
  msvidc32.dll: works, no YUV
- ATI VCR-2:  (VCR2)
  ativcr2.dll: works, YUV supported
- Motion JPEG (MJPG)
  m3jpeg32.dll: can't load (segfault)
  mcmjpg32.dll: works, YUV supported
  m3jpegdec.ax: works, YUV supported
- Windows Media Video 7 (WMV1)
  wmvds32.ax: works, YUV supported
- I263:  (I263)
  i263_32.drv: works, YUV supported
- DV - Sony Digital Video (dvsd)
  ?
- ASUS ASV2: (ASV2)
  asusasv2.dll: works, image upside-down on RGB (YUV ok!)

Problems:

- Indeo Video 4.1:  (IV41)
  ir41_32.dll: works, no YUV, image upside-down
- Indeo Video 3.2:  (IV32)
  ir32_32.dll: works, no YUV, image upside-down
- ATI VCR1:  (VCR1)
  ativcr1.dll: can't load (16-bit DLL)
- TrueMotion 2.0:  (TM20)
  tm20dec.ax: dest format not accepted
- ZLIB
  avizlib.dll: YUY2 only (no RGB), Called unk_RegEnumValueA -> endless loop
- MSZH
  avimszh.dll: RGB only (no YUV), Called unk_RegEnumValueA -> endless loop
- MWV1: calls many unk_ functions and then segfaults.

Not tested:

- ASUS ASV1: (ASV1)
  asusasvd.dll: ??? not tested
- Motion Wavelets: (MWV1)
  icmw_32.dll: not tested (no sample file)
- Indeo Video 3.1:  (IV31)
  ir32_32.dll: not tested (no sample file)
- Windows Media Video 8 (WMV2)
  wmv8ds32.ax: not tested (no sample file)
- I420: (I420)
  i263_32.drv: not tested, but should work (no sample file)
- m261: (m261)
  msh261.drv: not tested, what's this?

Audio codecs:
~~~~~~~~~~~~~
Built-in native codecs:

- Uncompressed PCM (0)
- Uncompressed DVD PCM: (0x10001)
- MPEG layer 2 and 3:  (0x50, 0x55)
  mp3lib, based on mpg123  (sometimes segfaults, then use ACM, see below)
- AC3:  (0x2000)
  libac3
- aLaw audio: (0x6)
  aLaw codec from xanim sources
- MS-GSM: (0x31,0x32)
  xa_gsm from avifile sources

Fully functional Win32 ACM/DShow codecs:

- Windows Media Audio / DivX audio (0x160, 0x161)
  divxa32.acm: works
- MS ADPCM (0x2)
  msadp32.acm: works
- MPEG layer 3:  (0x55)
  l3codeca.acm: works  (or you can use the built-in 3dnow-optimized codec)
- VoxWare Metasound: (0x75)
  voxmsdec.ax: works
- MS-GSM: (0x31,0x32)
  msgsm32.acm: works   (or you can use the  built-in codec)
- IMA ADPCM (0x11)
  imaadp32.acm: works

Problems:

- uLaw audio: (0x7)
  mess...
- ACELP.net Sipro Lab Audio (0x130)
  doesn't work: unk_ ...

Not tested:

- IMC:  (0x401)
  imc32.acm: not tested (no sample file)


Extracting codecs from Win32
============================

1. VfW
~~~~~~
  VfW (Video for Windows) is the old Video API for Windows. Its codecs have
the .DLL or (rarely) .DRV extension.
If MPlayer fails with your AVI:

        UNKNOWN video codec: HFYU (0x55594648)

  It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that we know this, we'll
have to find out which DLL Windows loads in order to play this file. In our
case, the system.ini contains this (with many others):
        VIDC.HFYU=huffyuv.dll
So we'll need the huffyuv.dll file. Note that the audio codecs are specified
with the MSACM prefix :
	msacm.l3acm=L3codeca.acm
This is the MP3 codec.

So, now we have all the info needed (fourcc, codec file, sample AVI), submit
your codec support request in mail, and upload these files to the FTP:
    ftp://thot.banki.hu/MPlayer/incoming/<codecname>/


2. DirectShow
~~~~~~~~~~~~~
  DirectShow is the newer Video API, which is even worse than its predecessor.
Things are harder with DirectShow, since
 - system.ini doesn't contain the needed information, instead it's stored in
   the registry :(
 - we'll need the GUID of the codec.

  So let's search that goddamn registry..
 - Start 'regedit'
 - press ctrl-f, disable the first two checkbox, and enable the third. Type
the fourcc of the codec. (for ex.: TM20)
 - you should see a field which contains the path and filename
   (for ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
 - now that we have the file, we'll need the GUID. Try searching again, but
now we'll search for the codec's name, not the fourcc. Its name can be acquired
when Media Player is playing that file, by checking File/Properties/Advanced.
If not, bad luck ;) Try guessing.
   (for ex. search for : TrueMotion)
 - if found (in registry), there should be a FriendlyName field, and a CLSID
field. Write down that 16 byte of CLSID, this is the GUID required by us.

NOTE : if searching fails, try to enable all the checkboxes.. you may have
       false hits, but maybe you'll have the right, too...
NOTE : dump that M$ shit.

So, now we have all the info needed (fourcc, GUID, codec file, sample AVI),
submit your codec support request in mail, and upload these files to the FTP:
    ftp://thot.banki.hu/MPlayer/incoming/<codecname>/


	Gabucino & A'rpi