7.3. Win32 codecs importing HOWTO

7.3.1. VFW codecs

VFW (Video for Windows) is the old Video API for Windows. Its codecs have the .DLL or (rarely) .DRV extension. If MPlayer fails at playing your AVI with this kind of message:

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 you know this, you have to find out which DLL Windows loads in order to play this file. In our case, the system.ini contains this information in a line that reads:

VIDC.HFYU=huffyuv.dll

So you need the huffyuv.dll file. Note that the audio codecs are specified by the MSACM prefix:

msacm.l3acm=L3codeca.acm

This is the MP3 codec. Now that you have all the necessary information (fourcc, codec file, sample AVI), submit your codec support request by mail, and upload these files to the FTP site: ftp://upload.mplayerhq.hu/MPlayer/incoming/<codecname>/

注意

On Windows NT/2000/XP search for this info in the registry, e.g. search for "VIDC.HFYU". To find out how to do this, look at the old DirectShow method below.

7.3.2. DirectShow codecs

DirectShow is the newer Video API, which is even worse than its predecessor. Things are harder with DirectShow, since

  • system.ini does not contain the needed information, instead it is stored in the registry and

  • we need the GUID of the codec.

New Method:

Using Microsoft GraphEdit (fast)

  1. Get GraphEdit from either DirectX SDK or doom9.

  2. Start graphedit.exe.

  3. From the menu select GraphInsert Filters.

  4. Expand item DirectShow Filters.

  5. Select the right codec name and expand item.

  6. In the entry DisplayName look at the text in winged brackets after the backslash and write it down (five dash-delimited blocks, the GUID).

  7. The codec binary is the file specified in the Filename entry.

注意

If there is no Filename and DisplayName contains something like device:dmo, then it is a DMO-Codec.

Old Method:

Take a deep breath and start searching the registry...

  1. Start regedit.

  2. Press Ctrl-F, disable the first two checkboxes, and enable the third. Type in the fourcc of the codec (e.g. TM20).

  3. You should see a field which contains the path and the filename (e.g. C:\WINDOWS\SYSTEM\TM20DEC.AX).

  4. Now that you have the file, we need the GUID. Try searching again, but now search for the codec's name, not the fourcc. Its name can be acquired when Media Player is playing the file, by checking FilePropertiesAdvanced. If not, you are out of luck. Try guessing (e.g. search for TrueMotion).

  5. If the GUID is found you should see a FriendlyName and a CLSID field. Write down the 16 byte CLSID, this is the GUID we need.

注意

If searching fails, try enabling all the checkboxes. You may have false hits, but you may get lucky...

Now that you have all the necessary information (fourcc, GUID, codec file, sample AVI), submit your codec support request by mail, and upload these files to the FTP site: ftp://upload.mplayerhq.hu/MPlayer/incoming/<codecname>/

If you want to add a codec yourself, read DOCS/tech/codecs.conf.txt.