summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-10-24 00:29:57 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-10-24 00:29:57 +0000
commitafb80e95a7b33dfd5b17788bfff4f5fbf5aca423 (patch)
tree77d7fb9958aa3f04b72944e441c58f9141d44eed /loader
parent241d339efdebb923e9e5c86341eb8eba673b0274 (diff)
downloadmpv-afb80e95a7b33dfd5b17788bfff4f5fbf5aca423.tar.bz2
mpv-afb80e95a7b33dfd5b17788bfff4f5fbf5aca423.tar.xz
Windows media video advanced profile (wmva) support via binary codec
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13746 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader')
-rw-r--r--loader/module.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/loader/module.c b/loader/module.c
index 9e7bc1c3c5..5669d7b245 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -471,6 +471,20 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags)
}
}
+ // Windows Media Video 9 Advanced
+ if (strstr(libname,"wmvadvd.dll") && wm)
+ {
+ // The codec calls IsRectEmpty with coords 0,0,0,0 => result is 0
+ // but it really wants the rectangle to be not empty
+ if (PE_FindExportedFunction(wm, "CreateInstance", TRUE)==(void*)0x08c4b812) {
+ // Dll version is 10.0.0.3645
+ *((char*)0x08c48b0f)=0xeb; // Jump always, ignoring IsRectEmpty result
+ } else {
+ fprintf(stderr, "Unsupported WMVA version\n");
+ return 0;
+ }
+ }
+
if (strstr(libname,"QuickTime.qts") && wm)
{
void** ptr;