mpv/DOCS/CODECS

179 lines
5.5 KiB
Plaintext

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
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
- ASUS ASV2: (ASV2)
asusasv2.dll: loads, image upside-down and very pixelized (no YUY2, but YVYU)
- 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
- DV - Sony Digital Video (dvsd)
qdv.dll: source format not accepted
- 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)
- AngelPotion MPEG-4: (AP41,AP42)
APmpg4v1.dll: not tested
- 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)
- 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/incoming/MPlayer/<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/incoming/MPlayer/<codecname>/
Gabucino & A'rpi