View Single Post
Old 11th January 2006, 17:34   #209  |  Link
tsp
Registered User
 
tsp's Avatar
 
Join Date: Aug 2004
Location: Denmark
Posts: 807
good news.
first both tivtc,tdeint and eedi2 works fine on my non-isse celeron processor. Must have been undot that confused me(sorry for that),
next I discovered one of the causes that lead to the crach with SetMTMode.
In the function PVideoFrame __stdcall TFMPP::GetFrame(int n, IScriptEnvironment *env)
the destination frame is sometimes just assigned from child2->GetFrame. This causes an acces error when calling dst->GetWritePointer in PutHint because env->MakeWritable is not called before. And because TDecimate has its own cache(that is usually cleared on a single processor machine before TFMPP::GetFrame is called) that contains the destination frame the crach occours. A simple solution is to add
this to end of the function TFMPP::GetFrame
Code:
	if (display) writeDisplay(dst, np, n, fieldSrc);
	env->MakeWritable(&dst);
	putHint(dst, fieldSrc, hint);
	return dst;
}
tritical how much of a problem is it that each instance of TDecimate only process every other frame with SetMTMode(2)?

TIVTC v1.0 Beta 7 for Avisynth 2.5.x with the above change(only thing different) is available here
__________________
Get my avisynth filters @ http://www.avisynth.org/tsp/
tsp is offline   Reply With Quote