View Single Post
Old 2nd June 2011, 06:07   #2  |  Link
burfadel
Registered User
 
Join Date: Aug 2006
Posts: 2,229
Settting SetMTMode before the source filter can cause big problems, so the first thing you should do is move it after the sources! Also, SetMTmode (5,12) is a bad idea, the mode 5 of SetMTMode is so slow that even if it is multithreaded it will probably run slower than its single thread counterpart! Ideally you use SetMTMode 1 for the filters where it works, then progressively try 2 and 3 for the others. Anything below 3 is really not worth it. The other thing is setting it to 12 threads may be an issue, remember this is a complete hack method! Running it at 6 threads would be safer, and remember hyperthreading so 2 threads run on 1 core doesn't mean twice the speed, its really not worth it in this case!

Instead of using Mpegsource2, which is actually a really old decoder, try using FFmpegsource2. Its under current development.
See the thread here: http://forum.doom9.org/showthread.php?t=127037&page=59
Current version (direct link): http://warpsharp.voodoo-powered.net/...ms2-mt-r469.7z

It is already multithreaded, DO NOT specify SetMTMode before using it! Then try SetmtMode (3,6) (as I said before, setting the threads to 12 won't be faster and just leaves you open to potentially more crashes) directly after the source filter, then see if it works. Then, if it does, try setmtmode (2,6), which will also hopefully work with all the filters. If that doesn't work, put setmtmode (2,6) before the first filter, then setmtmode (3,6) after it. You can set setmtmode as many times as you like, so you can have:
Setmtmode (3,6)
filter 1
Setmtmode (1,6)
filter 2
Setmtmode (2,6)
filter 3
Setmtmode (1,6
filter 4
filter 6
etc...


Basically find the combination of lowest Setmtmodes that each filter supports. Probably the best way to do it is set the ffmpegsource2 filter up, then just add ONE of the avisynth filters in the script, with Setmtmode before it. Then, starting from (1,6) find the most stable mode with the lowest number first. When you work that out, make note, remove that filter from the list, then do that for the second one, and progress through until all are done. Then collate that information in the final script like I have 'exampled' above (in the order that you want the filters to take place). When you try it out, also try moving the slider back and forth in preview, as sometimes the filters may not be completely stable.
burfadel is offline   Reply With Quote