diff options
Diffstat (limited to 'DOCS/OUTDATED-tech/win32-codec-howto.txt')
-rw-r--r-- | DOCS/OUTDATED-tech/win32-codec-howto.txt | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/DOCS/OUTDATED-tech/win32-codec-howto.txt b/DOCS/OUTDATED-tech/win32-codec-howto.txt new file mode 100644 index 0000000000..458a9191b3 --- /dev/null +++ b/DOCS/OUTDATED-tech/win32-codec-howto.txt @@ -0,0 +1,118 @@ +============================ +Win32 codecs importing HOWTO +============================ + +This document describes how to extract the information necessary to hook +up Win32 binary codecs in MPlayer from a Windows system. Different methods +exist depending on which video API your codec uses and which Windows +version you have. + +If you have gathered all the necessary information (fourcc, GUID, codec file, +sample file) as described below, notify the mplayer-dev-eng mailing list. +If you want to add a codec yourself, read DOCS/tech/codecs.conf.txt. + + + +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: + +VIDEO: [HFYU] 352x288 24bpp 25.000 fps 4321.0 kbps (527.5 kbyte/s) +Cannot find codec matching selected -vo and video format 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. +You can find the VfW codec by searching the internet for e.g. VIDC.HFYU. + +In our case, the 'system.ini' also contains this information in a line that reads: + +VIDC.HFYU=huffyuv.dll + +So you need the 'huffyuv.dll' file. + + + +ACM Codecs: +~~~~~~~~~~~~ +MPlayer may fail at playing the audio in your file with this message: + +Cannot find codec for audio format 0x55. +Audio: no sound + +MPlayer calls this the TwoCC format identifier. From the TwoCC list we find: + +0x0055 MPEG-1 Layer 3 (MP3) + +If you are lucky, you can then just search the internet for "codec acm" +e.g. "mp3 acm". Or if the codec is already installed on Windows, +it will show up in the system.ini as: + +msacm.l3acm=L3codeca.acm + +Note that the audio codecs are specified by the MSACM prefix: + + + +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) + +- Get GraphEdit from the Microsoft SDK, DirectX SDK or doom9. +- Start 'graphedit.exe'. +- From the menu select "Graph -> Insert Filters". +- Expand item "DirectShow Filters". +- Select the right codec name and expand item. +- In the entry "DisplayName" look at the text in winged brackets after the + backslash and write it down (five dash-delimited blocks, the GUID). +- 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... + +- Start 'regedit'. +- Press "Ctrl-F", disable the first two checkboxes, and enable the third. + Type in the fourcc of the codec (e.g. "TM20"). +- You should see a field which contains the path and the filename (e.g. + "C:\WINDOWS\SYSTEM\TM20DEC.AX"). +- 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 + "File -> Properties -> Advanced". + If not, you are out of luck. Try guessing (e.g. search for TrueMotion). +- 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... + + + +Tips: +~~~~~~~ +If you get an error loading a new codec, it may need some more files to work. +Start the filemon utility before loading MPlayer to find out which DLLs are +trying to be loaded. + +Your codec may load some external DLL libraries. If the codec is already +installed in Windows, run listdlls wmplayer.exe while Windows Media +Player is playing your file to find out which. |