Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
3rd June 2017, 18:41 | #10 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
I'm on the XP problem, so far no success.
EDIT: Arggh. It was a compiler setting problem: /Zc:threadSafeInit- was missing. But now I see what happens. During autoload, these DLLs called GetCPUFlags in their Init, after AddFunction and caused Avisynth+ to crash. VerticalCleanerSSE2.dll RepairSSE2.dll RemoveGrainSSE2.dll RemoveDirtSSE2.dll SSE2Tools.dll e.g. in old RemoveGrain source Code:
extern "C" __declspec(dllexport) const char* __stdcall AvisynthPluginInit2(IScriptEnvironment* env) { #ifdef MODIFYPLUGIN env->AddFunction("Repair", "cc[mode]i[modeU]i[modeV]i[planar]b", CreateRemoveGrain, 0); env->AddFunction("TemporalRepair", "cc[smooth]i[grey]b[planar]b", CreateTemporalRepair, 0); #else // MODIFYPLUGIN env->AddFunction("RemoveGrain", "c[mode]i[modeU]i[modeV]i[planar]b", CreateRemoveGrain, 0); env->AddFunction("Clense", "c[grey]b[reduceflicker]b[planar]b[cache]i", CreateClense, 0); env->AddFunction("MCClense", "ccc[grey]b[planar]b", CreateMCClense, 0); env->AddFunction("BackwardClense", clenseargs, CreateBackwardClense, 0); env->AddFunction("ForwardClense", clenseargs, CreateForwardClense, 0); #endif // MODIFYPLUGIN AVSenvironment = env; if( (CPUFLAGS & env->GetCPUFlags()) != CPUFLAGS ) #if ISSE > 1 env->ThrowError("RemoveGrain needs an SSE2 capable cpu!\n"); #else env->ThrowError("RemoveGrain needs an SSE capable cpu!\n"); #endif #if 0 debug_printf(LOGO); #endif return "RemoveGrain: remove grain from film"; } From the two debug lines in GetCPUFlags, only the first one was displayed, seems that calling CPUCheckForExtensions gave an instant crash. In cpuid.cpp Code:
static int CPUCheckForExtensions() { ... } int GetCPUFlags() { _RPT0(0, "GetCPUFlags() called\n"); static int lCPUExtensionsAvailable = CPUCheckForExtensions(); _RPT0(0, "GetCPUFlags() called 2\n"); return lCPUExtensionsAvailable; } Rebuild later, it's already dark here, and I have get home w/o police affairs (forgot to put front lamp on my bike) Last edited by pinterf; 3rd June 2017 at 20:06. |
|
|