mirror of https://github.com/mpv-player/mpv
Support On2 VP7 via binary decoder by implementing USER32.RegisterClipboardFormatA,
SHLWAPI.PathFindExtensionA and SHLWAPI.PathFindFileNameA. Tested with http://www.on2.com/vp7_samples/potter-40.vp7. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16339 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
9315260e76
commit
1e1ee8b7b0
|
@ -1342,6 +1342,15 @@ videocodec vp6
|
|||
out YUY2
|
||||
out BGR32,BGR24
|
||||
|
||||
videocodec vp7
|
||||
info "On2 VP7 Personal Codec"
|
||||
status working
|
||||
fourcc VP70
|
||||
driver vfwex
|
||||
dll "vp7vfw.dll"
|
||||
out YUY2
|
||||
out BGR32,BGR24
|
||||
|
||||
videocodec mwv1
|
||||
info "Motion Wavelets"
|
||||
status working
|
||||
|
|
|
@ -4690,6 +4690,10 @@ static int WINAPI expDialogBoxParamA(void *inst, const char *name,
|
|||
return 0x42424242;
|
||||
}
|
||||
|
||||
static void WINAPI expRegisterClipboardFormatA(const char *name) {
|
||||
dbgprintf("RegisterClipboardFormatA(0x%x = %s)\n", name, name);
|
||||
}
|
||||
|
||||
/* needed by imagepower mjpeg2k */
|
||||
static void *exprealloc(void *ptr, size_t size)
|
||||
{
|
||||
|
@ -4706,6 +4710,32 @@ static WIN_BOOL WINAPI expGetOpenFileNameA(/*LPOPENFILENAMEA*/ void* lpfn)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static char * WINAPI expPathFindExtensionA(const char *path) {
|
||||
char *ext;
|
||||
if (!path)
|
||||
ext = NULL;
|
||||
else {
|
||||
ext = strrchr(path, '.');
|
||||
if (!ext)
|
||||
ext = &path[strlen(path)];
|
||||
}
|
||||
dbgprintf("PathFindExtensionA(0x%x = %s) => 0x%x, %s\n", path, path, ext, ext);
|
||||
return ext;
|
||||
}
|
||||
|
||||
static char * WINAPI expPathFindFileNameA(const char *path) {
|
||||
char *name;
|
||||
if (!path || strlen(path) < 2)
|
||||
name = path;
|
||||
else {
|
||||
name = strrchr(path - 1, '\\');
|
||||
if (!name)
|
||||
name = path;
|
||||
}
|
||||
dbgprintf("PathFindFileNameA(0x%x = %s) => 0x%x, %s\n", path, path, name, name);
|
||||
return name;
|
||||
}
|
||||
|
||||
static double expfloor(double x)
|
||||
{
|
||||
dbgprintf("floor(%lf)\n", x);
|
||||
|
@ -5024,6 +5054,7 @@ struct exports exp_user32[]={
|
|||
#endif
|
||||
FF(MessageBeep, -1)
|
||||
FF(DialogBoxParamA, -1)
|
||||
FF(RegisterClipboardFormatA, -1)
|
||||
};
|
||||
struct exports exp_advapi32[]={
|
||||
FF(RegCloseKey, -1)
|
||||
|
@ -5137,6 +5168,11 @@ struct exports exp_comdlg32[]={
|
|||
FF(GetOpenFileNameA, -1)
|
||||
};
|
||||
|
||||
struct exports exp_shlwapi[]={
|
||||
FF(PathFindExtensionA, -1)
|
||||
FF(PathFindFileNameA, -1)
|
||||
};
|
||||
|
||||
#define LL(X) \
|
||||
{#X".dll", sizeof(exp_##X)/sizeof(struct exports), exp_##X},
|
||||
|
||||
|
@ -5161,6 +5197,7 @@ struct libs libraries[]={
|
|||
LL(ddraw)
|
||||
#endif
|
||||
LL(comdlg32)
|
||||
LL(shlwapi)
|
||||
};
|
||||
|
||||
static void ext_stubs(void)
|
||||
|
|
Loading…
Reference in New Issue