# HG changeset patch # User reimar # Date 1125607333 0 # Node ID cbd034008ee06a772f7fefe1279ded94c32aa090 # Parent 7252d024193b6201c0d39c1205b34d38b2073f7c 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. diff -r 7252d024193b -r cbd034008ee0 etc/codecs.conf --- a/etc/codecs.conf Thu Sep 01 15:59:55 2005 +0000 +++ b/etc/codecs.conf Thu Sep 01 20:42:13 2005 +0000 @@ -1342,6 +1342,15 @@ 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 diff -r 7252d024193b -r cbd034008ee0 loader/win32.c --- a/loader/win32.c Thu Sep 01 15:59:55 2005 +0000 +++ b/loader/win32.c Thu Sep 01 20:42:13 2005 +0000 @@ -4690,6 +4690,10 @@ 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 @@ 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 @@ #endif FF(MessageBeep, -1) FF(DialogBoxParamA, -1) + FF(RegisterClipboardFormatA, -1) }; struct exports exp_advapi32[]={ FF(RegCloseKey, -1) @@ -5137,6 +5168,11 @@ 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 @@ LL(ddraw) #endif LL(comdlg32) + LL(shlwapi) }; static void ext_stubs(void)