Support WVC1 decoding via dmo binary codec wvc1dmod.dll

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18581 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
rtogni 2006-06-05 18:41:01 +00:00
parent fbae2ba72b
commit c7ff0c643a
2 changed files with 37 additions and 0 deletions

View File

@ -777,6 +777,15 @@ videocodec wmvadmo
out YUY2,UYVY
; out BGR32,BGR24,BGR16 ;,BGR15
videocodec wmvvc1dmo
info "Windows Media Video (VC-1) Advanced Profile Decoder"
status working
fourcc WVC1
driver dmo
dll "wvc1dmod.dll"
guid 0xc9bfbccf, 0xe60e, 0x4588, 0xa3, 0xdf, 0x5a, 0x03, 0xb1, 0xfd, 0x95, 0x85
out YV12,YUY2
videocodec wmsdmod
info "Windows Media Screen Codec 2"
status working

View File

@ -3750,6 +3750,16 @@ static WIN_BOOL WINAPI expGetProcessAffinityMask(HANDLE hProcess,
return 1;
}
// Fake implementation: does nothing, but does it right :)
static WIN_BOOL WINAPI expSetProcessAffinityMask(HANDLE hProcess,
LPDWORD dwProcessAffinityMask)
{
dbgprintf("SetProcessAffinityMask(0x%x, 0x%x) => 1\n",
hProcess, dwProcessAffinityMask);
return 1;
};
static int WINAPI expMulDiv(int nNumber, int nNumerator, int nDenominator)
{
static const long long max_int=0x7FFFFFFFLL;
@ -4778,6 +4788,14 @@ static double exp_CIsin(void)
return sin(x);
}
static double exp_CIsqrt(void)
{
FPU_DOUBLE(x);
dbgprintf("_CIsqrt(%lf)\n", x);
return sqrt(x);
}
/* Needed by rp8 sipr decoder */
static LPSTR WINAPI expCharNextA(LPCSTR ptr)
{
@ -4786,6 +4804,13 @@ static LPSTR WINAPI expCharNextA(LPCSTR ptr)
return (LPSTR)(ptr + 1);
}
// Fake implementation, needed by wvc1dmod.dll
static int WINAPI expPropVariantClear(void *pvar)
{
// dbgprintf("PropVariantclear (0x%08x), %s\n", ptr, ptr);
return 1;
}
struct exports
{
char name[64];
@ -4957,6 +4982,7 @@ struct exports exp_kernel32[]=
FF(ExitProcess,-1)
{"LoadLibraryExA", -1, (void*)&LoadLibraryExA},
FF(SetThreadIdealProcessor,-1)
FF(SetProcessAffinityMask, -1)
};
struct exports exp_msvcrt[]={
@ -4999,6 +5025,7 @@ struct exports exp_msvcrt[]={
FF(_CIpow,-1)
FF(_CIcos,-1)
FF(_CIsin,-1)
FF(_CIsqrt,-1)
FF(ldexp,-1)
FF(frexp,-1)
FF(sprintf,-1)
@ -5119,6 +5146,7 @@ struct exports exp_ole32[]={
FF(CoTaskMemAlloc, -1)
FF(CoTaskMemFree, -1)
FF(StringFromGUID2, -1)
FF(PropVariantClear, -1)
};
// do we really need crtdll ???
// msvcrt is the correct place probably...