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. |
|
|
Thread Tools | Search this Thread | Display Modes |
5th July 2005, 19:05 | #44 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
new version ready. It just contains the avisynth.dll because it's the only place the changes are. It is based on the current avisynth 2.56 CVS plus some custom changes to allow multithreading. The way it works is that when a frame is requested the following frames are generated by the idle cpu(s) so that they are ready when needed.
usage: SetMTmode(int mode,int threads) place this at the first line in the avs file to enable temporal multithreading. There are 5 modes 1 to 5 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 doesn't requere linear frameserving (that is the frames come in order(frame 0,1,2 ... last) it is posible to change mode inside the script by calling SetMTMode again. Default 2 threads. Number of threads to use. Set to 0 to set it to the number of processors available. It is not posible to change the number of threads other than in the first SetMTMode. Default 0 example script: Code:
SetMTMode(4) import("limitedsharpen.avs") function test(clip c) { c.blur(1) subtitle("12") } src=AVIsource("e:\sim.avi") SetMTMode(2) src=src.assumefps(100).converttoyv12().trim(0,10000)#.separatefields().selecteven#PixieDust SetMTMode(1) src.test() SetMTMode(2) LimitedSharpen() It is still very beta so please report all the bugs you find Last edited by tsp; 8th July 2005 at 22:18. |
6th July 2005, 03:58 | #45 | Link | |
Registered User
Join Date: Nov 2003
Posts: 324
|
Quote:
It should be SHOUTED that this is YOUR version of Avisynth. Just my opinion. I'll try it when I can. |
|
8th July 2005, 22:23 | #46 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
well if you don't use SetMTMode it functions like the current CVS version but it does of course includes some changes made by me. I'm sorry if the post was a little unclear but I had to catch a train because I have a lot of out town work this summer and I wanted to release this version before I left (for the impatient people like myself).
I updated the file in the last post so that SetMTMode and GetMTMode accepts default values. |
16th July 2005, 04:00 | #47 | Link |
Registered User
Join Date: Nov 2003
Posts: 324
|
I wish to apologize for my previous post. I'm just a jerk. Your efforts are appreciated by me, but, again, at times, what I type in reply is just stupid.
Avisynth 2.5.7 results (same script and avi as previously): 451 seconds |
16th July 2005, 21:55 | #48 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
eh did you script look like this:
Code:
SetMTMode(2) lloadplugin("d:\plugins\DeComb521.dll") #loadplugin("d:\plugins\MT_0.41.dll") loadplugin("d:\plugins\TBilateral-096.dll") Avisource("d:\test-mt.avi").ConvertToYV12 Telecide(order=1,Post=0,Guide=1) Decimate(Cycle=5,Mode=0,Quality=3) TBilateral(diameterL=3,diameterC=3,sDevL=2.0,sDevC=2.0,iDevL=6.0,iDevC=7.0,d2=true,gui=false) #mt("TBilateral(diameterL=3,diameterC=3,sDevL=2.0,sDevC=2.0,iDevL=6.0,iDevC=7.0,d2=true,gui=false)") Code:
loadplugin("d:\plugins\DeComb521.dll") loadplugin("d:\plugins\MT_0.41.dll") loadplugin("d:\plugins\TBilateral-096.dll") Avisource("d:\test-mt.avi").ConvertToYV12 Telecide(order=1,Post=0,Guide=1) Decimate(Cycle=5,Mode=0,Quality=3) #TBilateral(diameterL=3,diameterC=3,sDevL=2.0,sDevC=2.0,iDevL=6.0,iDevC=7.0,d2=true,gui=false) mt("TBilateral(diameterL=3,diameterC=3,sDevL=2.0,sDevC=2.0,iDevL=6.0,iDevC=7.0,d2=true,gui=false)") |
19th July 2005, 01:44 | #50 | Link |
Registered User
Join Date: Nov 2003
Posts: 324
|
Like this:
Code:
loadplugin("d:\plugins\DeComb521.dll") loadplugin("d:\plugins\MT_0.41.dll") loadplugin("d:\plugins\TBilateral-096.dll") Avisource("d:\test-mt.avi").ConvertToYV12 Telecide(order=1,Post=0,Guide=1) Decimate(Cycle=5,Mode=0,Quality=3) mt("TBilateral(diameterL=3,diameterC=3,sDevL=2.0,sDevC=2.0,iDevL=6.0,iDevC=7.0,d2=true,gui=false)",avisynthTS=true) Last edited by hartford; 19th July 2005 at 01:46. |
19th July 2005, 16:12 | #52 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
you mean 19Jul05 right
Strange it just gets slower and slower. Is the memory usage steady climping while the script is played? Could you try this script(with the latest avisynth.dll) and report back the speed: Code:
SetMTMode(2) loadplugin("d:\plugins\DeComb521.dll") loadplugin("d:\plugins\TBilateral-096.dll") Avisource("d:\test-mt.avi").ConvertToYV12 Telecide(order=1,Post=0,Guide=1) Decimate(Cycle=5,Mode=0,Quality=3) TBilateral(diameterL=3,diameterC=3,sDevL=2.0,sDevC=2.0,iDevL=6.0,iDevC=7.0,d2=true,gui=false) |
21st July 2005, 03:32 | #53 | Link | |||
Registered User
Join Date: Nov 2003
Posts: 324
|
Quote:
Quote:
Quote:
|
|||
21st July 2005, 04:49 | #54 | Link |
Registered User
Join Date: Nov 2003
Posts: 324
|
A bit sheepish about this:
My motherboard doesn't always boot to 2 cpus. Seems that the last test was done with only one. Sorry about that. This test is using both cpus and your latest "code" and Avisynth-MT256: IT CRASHED. [edit] Just tried same a second time and it completed (no reboot). 373 Seconds. AviSyth-MT256. Why the crash the first time? Beats me. [edit2] Did not see any any memory usage climbing. [edit3] To be clear: previous report of some "6xx" seconds was due to the use of one CPU. This test was a reboot to 2 CPU's and then I did your "code" using VirtualDub which ended in the "crash." I then restarted VirtualDub and loaded your "code.avs" from which I got the above "373 Seconds." Is that clear? Last edited by hartford; 21st July 2005 at 05:17. |
21st July 2005, 22:32 | #55 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
yes I got it. So it is faster to use the SetMTmode than using MT when both cpu are recognised but the first test did crash. It's proberly because there are still some bugs left but how many frames was processed before the crash happend and was there any error message?
|
26th July 2005, 22:52 | #57 | Link |
Registered User
Join Date: Oct 2003
Location: Germany
Posts: 377
|
Hi,
i tried also your "Multi-Threaded" avisynth. However... i have some strange behaivor which i want to report. I used the following Script and the dll-File from above: Code:
SetMTMode(2) mpeg2source("E:\VTS\Test\menue\d2v\sw4.d2v") LeakKernelDeInt(order=1, threshold=5) ConvertToYUY2 PixieDust(4) VagueDenoiser(threshold=2,method=1,nsteps=6,chromaT=0.8, wiener=true, wratio=2) After this i started CCE-Encoder and tried to encode this little Part of the Movie. I got Speed about 1.4 . This is simply to much for this script. I stopped the thing and looked at the result.. The result was nonsense (black screen with wired red things at the bottom). Then i looked closely at the data CCE shown to me: CCE shows me, that the clip was 244 Frames long (10 Seconds), real length was 799 frames. I want just report this thing. Have a Prescott 3.0 GHz. |
27th July 2005, 14:15 | #58 | Link |
Registered User
Join Date: Aug 2004
Location: Denmark
Posts: 807
|
thanks forthe report. It might be caused by Pixiedust. That filter does not behave very well when more than one instance is used(and mode=2 creates two instances). Try without pixiedust or with SerMTMode(3) and if that works try this version:
Code:
SetMTMode(2) mpeg2source("E:\VTS\Test\menue\d2v\sw4.d2v") LeakKernelDeInt(order=1, threshold=5) ConvertToYUY2 SetMTMode(3) PixieDust(4) SetMTMode(2) VagueDenoiser(threshold=2,method=1,nsteps=6,chromaT=0.8, wiener=true, wratio=2) |
30th July 2005, 03:18 | #59 | Link |
Registered User
Join Date: Nov 2003
Posts: 324
|
A small update:
I've tried to reporduce the error that I had before at least 10 times. It must be something weird because it hasn't happened since the first time. I don't know what to say at this point. Is it my particular motherboard, or cards, or operating system, or something else? I don't know. I'd not like you to waste your time trying to track "gremlins." |
7th August 2005, 22:04 | #60 | Link |
Registered User
Join Date: Oct 2003
Location: Germany
Posts: 377
|
Hallo and thanks for your advice. I tried to start "PixieDust" in MTMode(4) and 3 but it does not help... However, MTMode(5) work with PixieDust.
But i see a different strange thing: I started to convert a movie with the avisynth DLL of you from above. I wonder when i see, that VirtualDubMod processed 81000 Frames of 107500 Frames but show a process of 37%? A simple calc turns it out: 81000/(2*107500) is about 37%. But why "2*X"? I don't know what the problem is but i see such a thing the first time. Maybe it is also not your dll. I will search for the problem. But maybe someone can reproduce this thing. But still the same problem when starting an avs-Script with "Media Player Classic". After close of Media Player a player is still available as process (but without a window). Maybe this is something similar, why "VD-Mod" show me only 37%...? |
Thread Tools | Search this Thread |
Display Modes | |
|
|