summaryrefslogtreecommitdiffstats
path: root/DOCS/OUTDATED-tech/win32-codec-howto.txt
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2012-07-28 18:15:33 +0200
committerwm4 <wm4@mplayer2.org>2012-07-28 20:44:59 +0200
commit5368c46453223acf87de7ef89a35a37402c2d8eb (patch)
tree051bf39b80c5fbbb5212ecc93ef3531031194640 /DOCS/OUTDATED-tech/win32-codec-howto.txt
parentf606bb6d97cfdfb8f740259eb4ea683adddfd06b (diff)
downloadmpv-5368c46453223acf87de7ef89a35a37402c2d8eb.tar.bz2
mpv-5368c46453223acf87de7ef89a35a37402c2d8eb.tar.xz
Rename DOCS/tech/ to DOCS/OUTATED-tech/
While DOCS/tech/ contains lots of documentation about mplayer's internals, most of it seems outdated, and hasn't been touched in many years. On the other hand, there still might be useful things in there, but it's hard to tell which parts. Instead of deleting all it, rename the directory to "warn" potential developers that the documentation is completely outdated.
Diffstat (limited to 'DOCS/OUTDATED-tech/win32-codec-howto.txt')
-rw-r--r--DOCS/OUTDATED-tech/win32-codec-howto.txt118
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.