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
This commit is contained in:
rtognimp 2004-10-24 00:29:57 +00:00
parent 241d339efd
commit afb80e95a7
2 changed files with 25 additions and 0 deletions

View File

@ -632,6 +632,17 @@ videocodec wmvdmo
out YUY2,UYVY
out BGR32,BGR24,BGR16 ;,BGR15
videocodec wmvadmo
info "Windows Media Video Adv DMO"
status working
fourcc WMVA
driver dmo
dll "wmvadvd.dll"
guid 0x03be3ac4, 0x84b7, 0x4e0e, 0xa7, 0x8d, 0xd3, 0x52, 0x4e, 0x60, 0x39, 0x5a
out YV12 ;,I420,IYUV
out YUY2,UYVY
out BGR32,BGR24,BGR16 ;,BGR15
videocodec ubmp4
info "UB Video MPEG 4"
comment "black&white"

View File

@ -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;