summaryrefslogtreecommitdiffstats
path: root/DOCS/tech
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2008-12-27 17:40:57 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2008-12-27 17:40:57 +0200
commitc1b80dcbbb34d63df65c0f52c0bede66dfa225e8 (patch)
tree2b929ffa6f2896bdee81729ceab2b9651c62055f /DOCS/tech
parenta76f59b0390a408de0a666cb1edfc578b734596a (diff)
parent4f6c6ba61a1fc213c7356b9ae1b9467f177a67a5 (diff)
downloadmpv-c1b80dcbbb34d63df65c0f52c0bede66dfa225e8.tar.bz2
mpv-c1b80dcbbb34d63df65c0f52c0bede66dfa225e8.tar.xz
Merge svn changes up to r28204
Diffstat (limited to 'DOCS/tech')
-rw-r--r--DOCS/tech/codec-devel.txt9
-rw-r--r--DOCS/tech/release-howto.txt12
-rw-r--r--DOCS/tech/win32-codec-howto.txt87
3 files changed, 96 insertions, 12 deletions
diff --git a/DOCS/tech/codec-devel.txt b/DOCS/tech/codec-devel.txt
index a9ca1ddcad..86eb8db922 100644
--- a/DOCS/tech/codec-devel.txt
+++ b/DOCS/tech/codec-devel.txt
@@ -49,8 +49,8 @@ data, search for sample media of both types. If a video codec is known to
work at 7 different bit depths, then, as painful as it may be, do what you
can to obtain sample media encoded for each of the 7 bit depths.
-- Latest CVS snapshot: It's always useful to develop code for the very
-latest development version of MPlayer. Be sure to update your local CVS
+- Latest Subversion snapshot: It's always useful to develop code for the very
+latest development version of MPlayer. Be sure to update your local Subversion
copy often.
- General programming knowledge, working Linux development environment: I
@@ -143,7 +143,7 @@ with the parameters passed into the decoding function (if you set it up to
take those parameters). Such data should match up. If it doesn't, issue a
warning and make an executive decision in the code about which data to
believe (personally, I always lend more weight to the data that was passed
-into the decoder function, the data that comes from the container file's
+into the decoder function, than the data that comes from the container file's
header). If there's supposed to be a magic number embedded in, or computed
from, the chunk's header, issue a warning if it isn't correct.
@@ -190,7 +190,8 @@ files:
- ad.c or vd.c
Of course, you will need to include your newly-created file(s):
vd_<name>.c -OR- ad_<name>.c. If you contribute enough decoders, the
-development team may even grant you write privileges to the CVS repository.
+development team may even grant you write privileges to the Subversion
+repository.
5) Wait for bug reports to start rolling in
You may think you're finished when you release the codec and if you're
diff --git a/DOCS/tech/release-howto.txt b/DOCS/tech/release-howto.txt
index 504f522d9e..5cf0fef514 100644
--- a/DOCS/tech/release-howto.txt
+++ b/DOCS/tech/release-howto.txt
@@ -7,22 +7,18 @@ preparations:
all docs are up to date, etc.
- Verify man page, remove obsolete options, mention new ones.
- Ask translation maintainers to update their help_mp*.h file.
-- Update the ChangeLog file (according to CVS log), ask other developers
+- Update the ChangeLog file (according to Subversion log), ask other developers
to verify their parts, etc. Ask Diego to spellcheck it.
- Consult at -dev-eng about unstable parts of the code which should be
disabled for the release.
- Find a codename for the release
create the release tree:
-- tag cvs with release name
+- tag Subversion with release name
- update release.sh script with version number
***the following steps are done automatically by release.sh script***
-- cvs checkout the mplayer src tree
-- check out libavcodec and libavformat from FFmpeg CVS
-- remove the CVS subdirs:
- find main -name CVS -exec rm -rf {} \;
-- remove the .cvsignore files:
- find main -name .cvsignore -exec rm {} \;
+- checkout the mplayer src tree
+- check out FFmpeg subdirs
- remove obsolete DOCS translations, help files
- replace version.sh with this (change version number too...):
diff --git a/DOCS/tech/win32-codec-howto.txt b/DOCS/tech/win32-codec-howto.txt
new file mode 100644
index 0000000000..cbf13cf72e
--- /dev/null
+++ b/DOCS/tech/win32-codec-howto.txt
@@ -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...