I really need to speed up the QTGMC process by using multithreading. I've followed all the instructions here, and the instructions in the packages I downloaded, but for some reason it still doesn't work. Here is the script I've been trying:
I'm going to be using x264 to re-encode to a lower bitrate, but after loading the script in MeGUI, it gives me the error "Script error: there is no function named "SetMTMode" (line 4)." What am I doing wrong here?Code:LoadPlugin("C:\program files (x86)\DGMPGDec\DGDecode.dll") LoadCPlugin("C:\Program Files (x86)\Avisynth 2.5\plugins\yadif.dll") SetMemoryMax(1200) SetMTMode(3,8) video=MPEG2Source("S:\Video\Example.d2v") video=video.AssumeTFF() video=video.QTGMC(Preset="Slow", TR2=3, EdiThreads=1) Distributer() video=video.Lanczos4Resize(1280,720) return(video)
+ Reply to Thread
Results 1 to 4 of 4
Thread: Using Avisynth MT with QTGMC
my two cents:
1. you probably haven't installed the MT Version of Avisynth. -> http://forum.doom9.org/showthread.php?t=148782
2. you should call a SetMode(2) after the loading the source
3. you should move the distributor to the bottom
4. make sure your content is really interlaced, because if it's telecine using QTGMC would be wrong.
5. use a faster QTGMC preset, 'Preset="Slow", TR2=3, EdiThreads=1' looks like overkill to me,..
6. if you are downsizing use bicubic resize since, when downsizing it should not really make a difference to lanczos, and bicubic is faster
(7. if you downsize, FineSharp might be interesting)
here's a small example how I would probably
#loadPlugins personally I use way more subfolders an don't put everything directly in the plugins folder for autoloading LoadPlugin("C:\program files (x86)\DGMPGDec\DGDecode.dll") LoadCPlugin("C:\Program Files (x86)\Avisynth 2.5\plugins\yadif.dll") #load scripts; not necesarry for you since you probably autoload everything #initialize MT SetMemoryMax(1200) SetMTMode(3,8) #load source MPEG2Source("S:\Video\Example.d2v") #switch MT mode for filtering SetMTMode(2) AssumeTFF() QTGMC(Preset="Faster") SelectEven() BicubicResize(1280,720) #output the content distributor() # <- not always needed and recommend depending on the method the script is opened this will square the number of threads used return(last)
Thanks for your help!
If I set the SetMTMode to 3,8 earlier, I don't understand why I would change it to 2 later. As for distributor(), I'll test it with and without to check encoding speed.mode: There are 6 modes 1 to 6. Default value 2.
- Mode 1 is the fastest but only works with a few filter.
- Mode 2 should work with most filters but uses more memory.
- Mode 3 should work with some of the filters that doesn't work with mode 2 but is slower.
- Mode 4 is a combination of mode 2 and 3 and should work with even more filter but is both slower and uses more memory
- Mode 5 is slowest but should work with all filters that don't require linear frameserving (that is the frames come in order (frame 0,1,2 ... last).
- Mode 6 is a modified mode 5 that might be slightly faster.