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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 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
}
chummy is offline  
Old 17th January 2017, 22:21   #2862  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
Originally Posted by chummy View Post
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
Groucho2004 is offline  
Old 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.
chummy is offline  
Old 17th January 2017, 23:09   #2864  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
Originally Posted by chummy View Post
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
Groucho2004 is offline  
Old 17th January 2017, 23:29   #2865  |  Link
chummy
Registered User
 
Join Date: Aug 2014
Posts: 39
Quote:
Originally Posted by Groucho2004 View Post
Where did you put the "prefetch" statement?
At bottom like any other script.
chummy is offline  
Old 17th January 2017, 23:32   #2866  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
Originally Posted by chummy View Post
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.
Groucho2004 is offline  
Old 18th January 2017, 01:53   #2867  |  Link
chummy
Registered User
 
Join Date: Aug 2014
Posts: 39
Quote:
Originally Posted by Groucho2004 View Post
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.
chummy is offline  
Old 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.
gaak is offline  
Old 18th January 2017, 19:04   #2869  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
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.
wonkey_monkey is offline  
Old 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.
JoeyMonco is offline  
Old 18th January 2017, 19:46   #2871  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,033
Quote:
Originally Posted by davidhorman View Post
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 View Post
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 View Post
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.
Groucho2004 is offline  
Old 18th January 2017, 20:16   #2872  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
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.
wonkey_monkey is offline  
Old 18th January 2017, 20:46   #2873  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,659
This version could be the old v1576?
pinterf is offline  
Old 18th January 2017, 20:48   #2874  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
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
wonkey_monkey is offline  
Old 18th January 2017, 20:53   #2875  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,212
Quote:
Originally Posted by davidhorman View Post
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.
qyot27 is online now  
Old 18th January 2017, 21:09   #2876  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
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.
wonkey_monkey is offline  
Old 18th January 2017, 23:12   #2877  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,208
Quote:
Originally Posted by davidhorman View Post
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
LigH is offline  
Old 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 View Post
It's such a pity that the official website is so outdated. You'll find recent MT versions by scanning this thread backwards carefully.
or here http://avisynth.nl/index.php/AviSynth%2B#Downloads
__________________
See My Avisynth Stuff
real.finder is offline  
Old 19th January 2017, 02:45   #2879  |  Link
Bexley
Registered User
 
Join Date: Mar 2005
Posts: 64
Quote:
Originally Posted by gaak View Post
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?
Bexley is offline  
Old 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 View Post
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.
Reel.Deel is offline  
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.