mirror of
https://github.com/mpv-player/mpv
synced 2025-03-04 21:27:58 +00:00
Convert Win32 codec importing HOWTO into a text document in the tech section.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28203 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
0f62db895e
commit
66d42f0df4
87
DOCS/tech/win32-codec-howto.txt
Normal file
87
DOCS/tech/win32-codec-howto.txt
Normal file
@ -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...
|
@ -12,8 +12,8 @@ of our homepage.
|
||||
</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 @@ only white noise).
|
||||
|
||||
</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>
|
||||
|
@ -236,7 +236,8 @@ I have problems playing files with the ... codec. Can I use them?
|
||||
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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user