View Single Post
Old 2nd June 2011, 04:02   #1  |  Link
Bexley
Registered User
 
Join Date: Mar 2005
Posts: 64
AviSynth MT keeps crashing

I do a lot of heavy AVISynth filtering (with MC denoisers largely) and my life is too short to spend it at 2-3fps, so I've just built myself a shiny new Intel 990x Extreme system with 12GB of Corsair Dominator GT, Radeon HD 6900.... the whole nine yards. The absolute best of everything. Only problem is, it is TOTALLY useless with AVISynth on this shiny new system because it keeps crashing every single time I use anything multithreaded.

So to start.... I have burned the system in thoroughly with lots of different tools, and everything appears to be rock solid. I have no reason to suspect hardware issues. AVISynth is the ONLY program that is misbehaving, and it only misbehaves when I use MT. (It sometimes crashed during MT on my old Q6600, but not EVERY time like it does now.)

I started with a clean install of Win7 Ultimate 64, followed by AVISynth 2.5.8. Then I installed the modified 2.5.8 MT dll into SysWOW64 and the MT plugin. Then I dropped in plugins as needed... dgdecode.dll, decomb.dll, nicac3audio.dll, and just a couple of others. So far so good:

SetMTMode(5,12)
video=MPEG2Source("movie.d2v")
audio=NicAC3Source("audio.ac3")
AudioDub(video,audio)
AssumeTFF().Telecide().Decimate()

Then I drop in my first moderately big function - RemoveDirtMC. I absolutely cannot load any version of removegrain.dll or removegraint.dll past version .9. 1.0 beta, 1.0 prerelease, the 1/24/08 unofficial binaries... nothing. Virtualdub just throws an error about "cannot load removegrint.dll" And I have both msvcr70.dll and msvcr71.dll installed, so I don't think that's it. So I stick to .9 SSE3 and it seems to work OK.

RemoveDirtMC(20)

Then I drop in my main workhorse - MCTemporalDenoise. Error right off the bat because removegrain .9 doesn't support Mode 20. So I drop in removegrain 1.0 beta but leave RepairSSE3.dll from the .9 package, and amazingly... it works with MCRemoveDirt!

RemoveDirtMC(20)
#MCTemporalDenoise(settings="medium")

When I try MCTemporalDenoise again, it just crashes as soon as VDub opens with "Microsoft Visual C++ Runtime Error! This application has requested the runtime to terminate in an unusual way." I have tried SetMTMode with every mode from 2-5 and every number of threads from 4-12, same result. I can comment out the SetMTMode line, and it works perfectly.

I've been wrestling with this for over a week now, and it's time to ask for help. I'm fairly well pissed off because the main reason I spent upwards of $2500 on this system was to run these functions at a reasonable speed, and what I have is an expensive pile of hardware that makes a LOT of noise and does nothing I need it to.

Does anybody know why AVISynthMT refuses to work on this box? TIA!
Bexley is offline   Reply With Quote