[MPlayer-dev-eng] A patch to fix using "vp6vfw.dll" t o encode by tclwp on www.linuxforum .net(irc id: Wenk)
truename
lwktbx at yeah.net
Thu Jun 8 09:02:59 CEST 2006
To merbanan: "redo the patch with only the 3 for loops"
cause a segment fault,so i back to 6 for loops.
The codes added is used for removing the divl instruction's float error(div by ZERO)
A comand line to encode avi files with vp6:
mencoder input -oac mp3lame -ovc vfw -xvfwopts codec=vp6vfw.dll -o done.avi
H
ere below is the patch:
____________________________________________________________________
diff -u mplayer_20060519/loader/module.c mplayer_20060519_new/loader/module.c
--- mplayer_20060519/loader/module.c 2005-08-11 06:48:31.000000000 +0800
+++ mplayer_20060519_new/loader/module.c 2006-06-08 12:25:19.000000000 +0800
@@ -37,6 +37,8 @@
#undef HAVE_LIBDL
#ifdef HAVE_LIBDL
+adLibraryA
+
#include <dlfcn.h>
#include "wine/elfdll.h"
#endif
@@ -462,9 +464,13 @@
for (i=0;i<6;i++) ((char*)0x1000806a)[i]=0x90;
} else if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10004120) {
// looks like VP 6.2.0.10
+ printf("__<<VP 6.2.0.10>>__\n");
for (i=0;i<6;i++) ((char*)0x10007688)[i]=0x90;
for (i=0;i<6;i++) ((char*)0x100082c3)[i]=0x90;
for (i=0;i<6;i++) ((char*)0x100084aa)[i]=0x90;
+ for (i=0;i<6;i++) ((char*)0x1001d2cc)[i]=0x90;
+ for (i=0;i<6;i++) ((char*)0x1002179d)[i]=0x90;
+ for (i=0;i<6;i++) ((char*)0x1001977f)[i]=0x90;
} else if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10003e70) {
// looks like VP 6.0.7.3
for (i=0;i<6;i++) ((char*)0x10007559)[i]=0x90;
@@ -1064,7 +1070,7 @@
void CodecAlloc(void)
{
acounter++;
- //printf("**************CODEC ALLOC %d\n", acounter);
+ printf("**************CODEC ALLOC %d\n", acounter);
}
void CodecRelease(void)
________________________________________________________________
More information about the MPlayer-dev-eng
mailing list