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.

 Doom9's Forum Avisynth+
 Register FAQ Calendar Search Today's Posts Mark Forums Read

 17th January 2017, 22:07 #2861  |  Link chummy Registered User   Join Date: Aug 2014 Posts: 39 Code: ```RemoveGrain(2,5) UUMblur3() return Last #### function UUMblur3(clip C, int "percentblur", int "speed") { Assert(C.IsYV12, "source must be YV12") percentblur = Min(Max(0, Default(percentblur, 30)), 80) speed = Default(speed, 0) super = MSuper(C) ## slow : medium : fast B = (speed<0) \ ? MFlowBlur(C, super, \ MAnalyse(super, search=3, searchparam=24, truemotion=true, isb=true), \ MAnalyse(super, search=3, searchparam=24, truemotion=true, isb=false), \ blur=Float(percentblur)) \ : (speed==0) \ ? MFlowBlur(C, super, \ MAnalyse(super, search=4, searchparam=16, truemotion=true, isb=true), \ MAnalyse(super, search=4, searchparam=16, truemotion=true, isb=false), \ blur=Float(percentblur)) \ : MFlowBlur(C, super, \ MAnalyse(super, search=4, searchparam= 2, truemotion=true, isb=true), \ MAnalyse(super, search=4, searchparam= 2, truemotion=true, isb=false), \ blur=Float(percentblur)) return (percentblur==0) ? C : B }```
17th January 2017, 22:21   #2862  |  Link
Groucho2004

Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
 Originally Posted by chummy Hello, so i have a script with MFlowBlur which works with SET Avisynth MT but cannot make avisynth+ MT work on it. SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("ffvideosource", 3) SetFilterMTMode("RGtools", 1)
Can you elaborate on "cannot make avisynth+ MT work on it"?
__________________
Groucho's Avisynth Stuff

 17th January 2017, 23:07 #2863  |  Link chummy Registered User   Join Date: Aug 2014 Posts: 39 With Set MT it's capable to use all threads from my CPU and speed up the processing by almost 3.5x, while without multithreading in Avisynth+ it stuck to slow speed. 1.60fps with avisynth+ single-thread process and 15% CPU usage, while with SET multithreading it achieving almost 6fps and 90% CPU usage. Avisynth+ MT works for some other scripts which i tried but not for this one. I hope that explain what i trying to say.
17th January 2017, 23:09   #2864  |  Link
Groucho2004

Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
 Originally Posted by chummy With Set MT it's capable to use all threads from my CPU and speed up the processing by almost 3.5x, while without multithreading in Avisynth+ it stuck to slow speed. 1.60fps with avisynth+ single-thread process and 15% CPU usage, while with SET multithreading it achieving almost 6fps and 90% CPU usage. Avisynth+ MT works for some other scripts which i tried but not for this one. I hope that explain what i trying to say.
Where did you put the "prefetch" statement?
__________________
Groucho's Avisynth Stuff

17th January 2017, 23:29   #2865  |  Link
chummy
Registered User

Join Date: Aug 2014
Posts: 39
Quote:
 Originally Posted by Groucho2004 Where did you put the "prefetch" statement?
At bottom like any other script.

17th January 2017, 23:32   #2866  |  Link
Groucho2004

Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
 Originally Posted by chummy At bottom like any other script.
If you put it at the bottom of the script you posted above it will of course not work, the unnecessary "return last" prevents it from being executed.
Post the entire script.
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 17th January 2017 at 23:35.

18th January 2017, 01:53   #2867  |  Link
chummy
Registered User

Join Date: Aug 2014
Posts: 39
Quote:
 Originally Posted by Groucho2004 If you put it at the bottom of the script you posted above it will of course not work, the unnecessary "return last" prevents it from being executed. Post the entire script.
Thanks for the information, so i put prefetch before return last and multithreading is working fine.

 18th January 2017, 12:01 #2868  |  Link gaak Registered User   Join Date: Apr 2016 Posts: 27 Just started using 64 bit Avisynth+ for my project and it's working out fine. I was wondering if there is a formal way to request a 64 bit version to be made from a 32 bit source? I can't find a 64 bit version of RoboCrop. I asked the author and he is unable to do it because he only has a 32 bit system. I know AutoCrop is available and have been using it, but I find RoboCrop to be more reliable. Thanks.
 18th January 2017, 19:04 #2869  |  Link wonkey_monkey Formerly davidh*****     Join Date: Jan 2004 Posts: 2,010 This may be a stupid question but I've just migrated to Avisynth+. I installed the FilterSDK, but where is, or what is the name of, the header file I should be including in my plugin development projects from now on? And is there an avisynth+.lib I should be linking too? I usually get these things working by trial-and-error... --- Also, should I have an avisynth+.dll somewhere? It's all installed and working, but I can't find a file called that, and any avisynth.dlls I can find (x86 and x64) are 2.6.0.5. __________________ My AviSynth filters / I'm the Doctor Last edited by wonkey_monkey; 18th January 2017 at 19:21.
 18th January 2017, 19:27 #2870  |  Link JoeyMonco Registered User   Join Date: Jan 2017 Posts: 24 You either include avisynth.h or avisynth_c.h (depending on whether you want the C or C++ API) just like normal avisynth. The DLL and lib are still also just called avisynth, not avisynth+, as well. If the DLL were renamed it would no longer be a drop-in replacement for classic Avisynth... Last edited by JoeyMonco; 18th January 2017 at 19:40.
18th January 2017, 19:46   #2871  |  Link
Groucho2004

Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
 Originally Posted by davidhorman I installed the FilterSDK, but where is, or what is the name of, the header file I should be including in my plugin development projects from now on?
Use the AVS+ headers from here.
Quote:
 Originally Posted by davidhorman And is there an avisynth+.lib I should be linking too?
If you need it (only when you're writing c-plugins), you have to build it yourself with the AVS+ sources.
Quote:
 Originally Posted by davidhorman Also, should I have an avisynth+.dll somewhere? It's all installed and working, but I can't find a file called that, and any avisynth.dlls I can find (x86 and x64) are 2.6.0.5.
It's avisynth.dll, also for AVS+. If you have 2.6.0.5 versions you probably did something wrong, I recommend uninstalling all traces of previous versions and cleaning the registry and plugin directories before installing AVS+.
By the way, there is no 2.6.0.5 64 bit version as far as I know.
Edit: I stand corrected. There is a 2.6.0.5 64 bit version, I forgot about AVS+ r1576.
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 18th January 2017 at 22:02.

18th January 2017, 20:16   #2872  |  Link
wonkey_monkey
Formerly davidh*****

Join Date: Jan 2004
Posts: 2,010
Quote:
 It's avisynth.dll, also for AVS+. If you have 2.6.0.5 versions you probably did something wrong
Here's the properties of the DLL in System32:

It says Avisynth+ 2.6...

Quote:
 If you need it (only when you're writing c-plugins)
I guess I'm doing something wrong, then, since I can't compile without linking to it, and also need to define AVS_LINKAGE_DLLIMPORT... these are unfortunately all the things I've never tried to understand, because I just did them and they made it so I could write filters to monkey around with pixels (which I do understand).

Otherwise I get this:

Code:
`error LNK2001: unresolved external symbol "__declspec(dllimport) struct AVS_Linkage const * const AVS_linkage" (__imp_?AVS_linkage@@3QBUAVS_Linkage@@B)`
__________________
My AviSynth filters / I'm the Doctor

Last edited by wonkey_monkey; 18th January 2017 at 20:19.

 18th January 2017, 20:46 #2873  |  Link pinterf Registered User   Join Date: Jan 2014 Posts: 1,659 This version could be the old v1576?
 18th January 2017, 20:48 #2874  |  Link wonkey_monkey Formerly davidh*****     Join Date: Jan 2004 Posts: 2,010 It's what you get when click the big "Installer" button at www.avs-plus.net. __________________ My AviSynth filters / I'm the Doctor
18th January 2017, 20:53   #2875  |  Link
qyot27
...?

Join Date: Nov 2005
Location: Florida
Posts: 1,212
Quote:
 Originally Posted by davidhorman Here's the properties of the DLL in System32: It says Avisynth+ 2.6...
Then you definitely need to upgrade, because that version of AviSynth+ (I'm guessing you just installed 0.1/r1576 from the project page, or possibly one of the really early builds from the MT branch, given the 2014 modified date) has been outdated for a long time; it was released three years ago. On a partially separate tangent, a 'stable' 0.2 release has been right on the cusp of being released for over a year but stuff just keeps sidetracking it, which is why simply using the periodic builds from git is the normal thing here.

The latest build by ultim (I can't remember what the revision number was...r2173?) or the latest one by pinterf (r2380) is the one you should be using.

 18th January 2017, 21:09 #2876  |  Link wonkey_monkey Formerly davidh*****     Join Date: Jan 2004 Posts: 2,010 Eh... well I get why things are the way they are, but it's this kind of situation that could easily put someone off ever trying to use Avisynth in the first place. The original 2.6 is outdated, or so advice I've seen hereabouts says, but the most prominent link to install the modernised fork is also out-of-date with no obvious instructions on how to get an up-to-date version, even if it is a beta... So I got r2380, copied the x86 DLL to SYSWOW64 and the x64 DLL to System32, and copied the plugins+ and plugins64+ folders over their counterparts that were previously installed... and now I get "AVI Import Filter error: (Unknown) (80040154)" from just a "version" script. Should I just go back to 2.6? My plugins seem to work okay with Avisynth+ anyway. --- Edit: I finally figured out how to use AvisynthPluginInit3 instead of AvisynthPluginInit2 and now I don't need to link to avisynth.lib any more ¯\_(ツ)_/¯ I shall just stick to r1576 since it was good enough to have an installer at some point in history, and I've not had any problems with it so far. __________________ My AviSynth filters / I'm the Doctor Last edited by wonkey_monkey; 18th January 2017 at 22:07.
18th January 2017, 23:12   #2877  |  Link
LigH
German doom9/Gleitz SuMo

Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,208
Quote:
 Originally Posted by davidhorman It's what you get when click the big "Installer" button at www.avs-plus.net.
It's such a pity that the official website is so outdated. You'll find recent MT versions by scanning this thread backwards carefully.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

18th January 2017, 23:14   #2878  |  Link
real.finder
Registered User

Join Date: Jan 2012
Location: Mesopotamia
Posts: 1,837
Quote:
 Originally Posted by LigH It's such a pity that the official website is so outdated. You'll find recent MT versions by scanning this thread backwards carefully.
__________________
See My Avisynth Stuff

19th January 2017, 02:45   #2879  |  Link
Bexley
Registered User

Join Date: Mar 2005
Posts: 64
Quote:
 Originally Posted by gaak Just started using 64 bit Avisynth+ for my project and it's working out fine. I was wondering if there is a formal way to request a 64 bit version to be made from a 32 bit source? I can't find a 64 bit version of RoboCrop. I asked the author and he is unable to do it because he only has a 32 bit system. I know AutoCrop is available and have been using it, but I find RoboCrop to be more reliable. Thanks.
There is a 64-bit version here but I haven't tried it.

I also have just made the move over to AVS+ because I am finding x64 is able to do things that x32 can't, like TemporalDegrain MT on 1080p source. I'm still trying to work a lot of things out with plugins, and I'm having problems with RemoveDirtMC_SE. I have mvtools, masktools, rgtools, and fluxsmooth from the link above. I also have avsrecursion from Kassandro's RemoveDirt_x64 package. I can't find anything for NLmeansCL in x64, BUT I didn't have them on my x32 system either and it worked.

When I try to load RemoveDirtMC_SE, I get the following error.
Quote:
 Script error: Clense does not have a named argument "cache"
If I edit the function script and remove the cache argument, I get the same error with RestoreMotionBlocks. I know this is an RGTools/RemoveGrain/RemoveDirt error somehow because I've seen it before a long time ago, but I can't remember or figure it out.

Anyone have suggestions?

19th January 2017, 02:57   #2880  |  Link
Reel.Deel
Registered User

Join Date: Mar 2012
Location: Texas
Posts: 1,177
@Bexley

RemoveDirtMC_SE uses a lot of older plugins that can probably be replaced by more modern ones. For example, modify the script to use KNLMeansCL instead of NLMeansCL. Regarding the cache parameter, RGTools does not have this parameter so remove all instances in the script. Onto 64-bit RemoveDirt, this version was claimed to be incompatible with the old AviSynth64 so it's a possibility that it also might not work in AviSynth+. See the note that I added at the bottom of the RemoveDirt wiki page:
Quote:
 Note: This version is incompatible with AviSynth, it's only here for reference! For more information on incompatibility read post 5 through 14 here.
Edit:
Quote:
 Originally Posted by LigH It's such a pity that the official website is so outdated. You'll find recent MT versions by scanning this thread backwards carefully.
As real.finder already stated, the AviSynth+ wiki page is the easiest way to keep up with all of the changes. I haven't been as active on the forums as of late but I still try to keep the wiki page up-to-date.

Last edited by Reel.Deel; 19th January 2017 at 03:41.