Opened 20 years ago

Closed 20 years ago

Last modified 20 years ago

#111 closed defect (worksforme)

VP6 decoder problem

Reported by: cannonball@… Owned by: alex@…
Priority: normal Component: core
Version: unspecified Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

I have two computers (PII 266 and Celeron 900) and MPlayer could not decode VP6
on both of them. I use VP 6.2.0.10. Debug showed that Dll crashed at some
instructions at 0x1003f9f7 and 0x1003fa04. If I turn them to NOPs all works OK.
Here is the patch for this and for VP4 as well.

--- module.c.orig 2004-03-19 00:00:30.000000000 +0200
+++ module.c 2004-03-31 17:36:14.000000000 +0300
@@ -407,6 +407,21 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR lib

}

}

+ if (strstr(libname,"vp6vfw.dll") && wm)
+ {
+ if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10004120) {
+ for (i=0;i<2;i++) ((char*)0x1003f9f7)[i]=0x90;
+ for (i=0;i<2;i++) ((char*)0x1003fa04)[i]=0x90;
+ 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;
+ }
+ }
+ if (strstr(libname,"vp4vfw.dll") && wm)
+ {
+ for (i=0;i<2;i++) ((char*)0x10036147)[i]=0x90;
+ for (i=0;i<2;i++) ((char*)0x10036154)[i]=0x90;
+ }

if ( wm )
{

if ( !MODULE_DllProcessAttach( wm, NULL ) )

@@ -436,7 +451,7 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR lib

}

}


  • if (strstr(libname,"vp6vfw.dll") && wm)

+/* if (strstr(libname,"vp6vfw.dll") && wm)

{

int i;
if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10003ef0) {

Change History (2)

comment:1 by r_togni@…, 20 years ago

Can you explain exactly what this parch is supposed to do?
VP6 6.2.0.10 is already supported (and patched) by current loader, and VP4 never
required any patching.

What's the purpose of the instructions removed by those lines for vp6
+ for (i=0;i<2;i++) ((char*)0x1003f9f7)[i]=0x90;
+ for (i=0;i<2;i++) ((char*)0x1003fa04)[i]=0x90;

and what's the purpose of the ones removed from vp4? it's not required on other
systems.

comment:2 by reimar, 20 years ago

Resolution: worksforme
Status: newclosed

As I am unable to see which problem this patch should fix and I don't have any
problems with these two dlls, this is resolved WORKSFORME.
Feel free to provide more explanation and reopen.

Note: See TracTickets for help on using tickets.