Mercurial > mplayer.hg
changeset 28168:d093bee92b15
Convert Win32 codec importing HOWTO into a text document in the tech section.
author | diego |
---|---|
date | Sat, 27 Dec 2008 14:38:42 +0000 |
parents | 4c9698666a4c |
children | 97835ed2978a |
files | DOCS/tech/win32-codec-howto.txt DOCS/xml/en/codecs.xml DOCS/xml/en/faq.xml |
diffstat | 3 files changed, 91 insertions(+), 160 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/tech/win32-codec-howto.txt Sat Dec 27 14:38:42 2008 +0000 @@ -0,0 +1,87 @@ +============================ +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: + +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. + + + +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 either 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...
--- a/DOCS/xml/en/codecs.xml Sat Dec 27 13:58:20 2008 +0000 +++ b/DOCS/xml/en/codecs.xml Sat Dec 27 14:38:42 2008 +0000 @@ -12,8 +12,8 @@ </para> <para> -If you have a Win32 codec which is not supported yet, -please read the <link linkend="codec-importing">codec importing HOWTO</link> +If you have a Win32 codec which is not supported yet, please read the +<ulink url="../../tech/win32-codec-howto">Win32 codec HOWTO</ulink> and help us add support for it. </para> @@ -96,161 +96,4 @@ </sect1> - -<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - -<sect1 id="codec-importing"> -<title>Win32 codecs importing HOWTO</title> - -<!-- TODO: a short paragraph of text would be nice here... --> - -<sect2 id="vfw-codecs"> -<title>VFW codecs</title> - -<para> -VFW (Video for Windows) is the old Video API for Windows. Its codecs have -the <filename>.DLL</filename> or (rarely) <filename>.DRV</filename> -extension. If <application>MPlayer</application> fails at playing your AVI -with this kind of message: -<screen>UNKNOWN video codec: HFYU (0x55594648)</screen> -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 <filename>system.ini</filename> contains this information in a -line that reads: -<programlisting>VIDC.HFYU=huffyuv.dll</programlisting> -</para> - -<para> -So you need the <filename>huffyuv.dll</filename> file. Note that the audio -codecs are specified by the MSACM prefix: -<programlisting>msacm.l3acm=L3codeca.acm</programlisting> -</para> - -<para> -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: -<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/</systemitem> -</para> - -<note><para> -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. -</para></note> -</sect2> - -<!-- ********** --> - -<sect2 id="dshow-codecs"> -<title>DirectShow codecs</title> - -<para> -DirectShow is the newer Video API, which is even worse than its predecessor. -Things are harder with DirectShow, since -<itemizedlist> -<listitem><para> - <filename>system.ini</filename> does not contain the needed information, - instead it is stored in the registry and -</para></listitem> -<listitem><para> - we need the GUID of the codec. -</para></listitem> -</itemizedlist> -</para> - -<procedure> -<title>New Method:</title> -<para> -Using <application>Microsoft GraphEdit</application> (fast) -</para> -<step><para> - Get <application>GraphEdit</application> from either DirectX SDK or - <ulink url="http://doom9.net">doom9</ulink>. -</para></step> -<step><para> - Start <command>graphedit.exe</command>. -</para></step> -<step><para> - From the menu select - <menuchoice><guimenu>Graph</guimenu> - <guisubmenu>Insert Filters</guisubmenu></menuchoice>. -</para></step> -<step><para> - Expand item <systemitem>DirectShow Filters</systemitem>. -</para></step> -<step><para> - Select the right codec name and expand item. -</para></step> -<step><para> - In the entry <systemitem>DisplayName</systemitem> look at the text in - winged brackets after the backslash and write it down (five dash-delimited - blocks, the GUID). -</para></step> -<step><para> - The codec binary is the file specified in the - <systemitem>Filename</systemitem> entry. -</para></step> -</procedure> - -<note><para> -If there is no <systemitem>Filename</systemitem> and -<systemitem>DisplayName</systemitem> contains something like -<systemitem>device:dmo</systemitem>, then it is a DMO-Codec. -</para></note> - -<procedure> -<title>Old Method:</title> -<para> -Take a deep breath and start searching the registry... -</para> -<step><para> - Start <command>regedit</command>. -</para></step> -<step><para> - Press <keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo>, disable - the first two checkboxes, and enable the third. Type in the fourcc of the - codec (e.g. <userinput>TM20</userinput>). -</para></step> -<step><para> - You should see a field which contains the path and the filename (e.g. - <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>). -</para></step> -<step><para> - 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 - <menuchoice><guimenu>File</guimenu> <guisubmenu>Properties</guisubmenu> - <guimenuitem>Advanced</guimenuitem></menuchoice>. - If not, you are out of luck. Try guessing (e.g. search for TrueMotion). -</para></step> -<step><para> - If the GUID is found you should see a <guilabel>FriendlyName</guilabel> - and a <guilabel>CLSID</guilabel> field. Write down the 16 byte CLSID, - this is the GUID we need. -</para></step> -</procedure> - -<note><para> -If searching fails, try enabling all the checkboxes. You may have -false hits, but you may get lucky... -</para></note> - -<para> -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: -<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/</systemitem> -</para> - -<para> -If you want to add a codec yourself, read -<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>. -</para> - -</sect2> -</sect1> - </chapter>
--- a/DOCS/xml/en/faq.xml Sat Dec 27 13:58:20 2008 +0000 +++ b/DOCS/xml/en/faq.xml Sat Dec 27 14:38:42 2008 +0000 @@ -236,7 +236,8 @@ Check the <ulink url="../../codecs-status.html">codec status</ulink>, if it doesn't contain your codec, read the <link linkend="codecs">codec documentation</link>, especially the -<link linkend="codec-importing">codec importing HOWTO</link> and contact us. +<ulink url="../../tech/win32-codec-howto">Win32 codec HOWTO</ulink> +and contact us. </para></answer> </qandaentry>