Log in

View Full Version : Avisynth installations


creaothceann
15th January 2012, 06:31
I'm about to install Avisynth again (got some problems with incompatible/outdated filters; uninstalled it after cleaning PC from codec packs), and of course there are some options.

Can I use 2.6 without problems? I.e. are there known bugs & incompatible scripts and filters?
Is it possible to have multiple Avisynth installations at once, should incompatible components require it? (crazy idea: several VirtualBox VMs communicating over the network)
2.5.8 also has 32-bit and 64-bit versions available; I guess the entire processing chain would have to be one or the other? Does 64-bit have a noticeable speed difference?
Is multithreading useful/worth the setup?
Is it a good idea to put all of one's filter and script collection into the plugins directory? If not, would it make sense to create a single .avsi file that contains just the function stubs and the LoadLibrary calls in them? (What happens if a .dll is loaded several times?)
Anything else I'd have to look out for?

Overdrive80
15th January 2012, 16:31
1. Is Alpha version, always will have any problem.
2. If you use virtual machines can have various installations of avisynth, but i think that will work independently.
3. My opinion is that difference isnt big.
4. MT has a lot of bugs, i prefer not use it.
5. Not is good idea, maybe some filters can have conflict themselves.
6. Is a very useful tool but sometimes it will hurt your head hehe.

MatLz
15th January 2012, 18:54
1.Use it only for testing
2.Maybe it is possible to switch between versions by changing the registry key or something like that ? Dunno
3.Speed difference is small. Number of 64bit plugins too.
4.MT does work flawlessly. If it doesn't for you, blame M$.
5.Do it in the rules and that should be fine.
6.Never use codecs packs.

creaothceann
15th January 2012, 19:49
I see, thanks.


Do it in the rules and that should be fine.

What rules?

Overdrive80
16th January 2012, 17:14
Some pack of plugins contain optimized versions for different cpus, for example removegrainSSE2 vs removegrain. If you put both, avisynth take one and i think that doesnt always it that you prefer.

Maybe is neccesary in these cases load plugins in your script

Loadplugin("Path\removegrainSSE2.dll")
....



Of this form force invoke of this plugin. I hope explain me good.

Other problem could is, put the same filter of two differents versions of avisynth. Example: mt_masktools25(for avisynth 2.5x)//mt_masktools26(for avisynth 2.6.x)

StainlessS
16th January 2012, 18:19
Once youve got to the installer exe, it takes only about 5 seconds to switch from 2.6<->2.5,
not a big deal. Also, have not really come across many errors in Alpha 3, there are bugs
in 2.58 (eg audio cache bug) that seem to have been known about for a couple of years
and are not fixed, not a problem in 2.6.
If you do intend to switch back and forth, use only the 2.5 dll's, less bother.

IanB
16th January 2012, 22:11
I would hope the latest 2.6 makes a very good and reliable 2.5.9.

Most (all?) of the reported problems with 2.5.8 have been fixed in 2.6. Of course any problems with the new 2.6 code are still waiting to be found and reported. But if you do not use the new code it will not bite you.

All of the MT versions use Cache code based on 2.5.6 which was notorious for and pathological about squandering memory which of course leads to crashes. Most of the MT versions do not handle and report system exceptions because some bright spark decided ages ago to comment out all the "mov FS:[0],esp" instructions and not replace them with equivalent functional code.

TheFluff
17th January 2012, 18:20
I would hope the latest 2.6 makes a very good and reliable 2.5.9.

Most (all?) of the reported problems with 2.5.8 have been fixed in 2.6. Of course any problems with the new 2.6 code are still waiting to be found and reported. But if you do not use the new code it will not bite you.

All of the MT versions use Cache code based on 2.5.6 which was notorious for and pathological about squandering memory which of course leads to crashes. Most of the MT versions do not handle and report system exceptions because some bright spark decided ages ago to comment out all the "mov FS:[0],esp" instructions and not replace them with equivalent functional code.

quoting this post so I can find it easily later when I need to yell at Avs-MT users

creaothceann
1st February 2012, 00:38
I forgot where exactly I read it, but IIRC the 2.60 MT version advertised in the QTGMC thread uses old caching code that doesn't handle function calls without ()s correctly. In normal single-threaded mode these are not cached, and in MT mode it can lead to crashs.

Gavino
1st February 2012, 01:08
I forgot where exactly I read it
http://forum.doom9.org/showthread.php?p=1526746#post1526746

creaothceann
1st February 2012, 08:48
Yep. :)

killervip0
3rd February 2012, 08:25
speed : 32 bit and 64 bit are similar

steptoe
3rd February 2012, 11:24
If you want all your plug-ins in one directory, I tried that in the past and ended up very confused and scripts/functions failing to work as some of they only work with very specific versions, so I tried something else which did work but does mean a little bit of effort and if you use a lot of filters can end up with multiple copies of the same file but does guarantee that a filter/function WILL work

I created a folder somewhere, say "avisynth/functions" and each filter/function had its own directory and then tell avisynth where to find each filter/function by using the 'loadplugin' and 'import' commands so avisynth knows excatly what filters its loading instead of relying on autoload, which I found was unreliable and didn't always load what you thought it was loading with the result that filters constantly failed with errors that was driving me mad. But if you tell avisynth exactly what its loading it works everytime

EG :

To use MCSpuds, which is complex and needs lots of external plugins and very specific versions that will then be guaranteed to work with that version of the function, I set this up as my avisynth script

LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\AddGrainC.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\aWarpSharp.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\DenoiseSharpen.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\despot.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\dfttest.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\FFT3DFilter.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\FFT3dGPU.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\hqdn3d.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\masktools.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\mt_masktools.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\mvtools.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\removedirt.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\removegrain.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\repair.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\rSharpen.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\UnFilter.dll")
LoadPlugin("L:\Video\AviSynth\functions\mc_spuds\warpsharp.dll")

Import("L:\Video\AviSynth\functions\mc_spuds\Deblock_QED.avs")
Import("L:\Video\AviSynth\functions\mc_spuds\LimitedSharpenFaster.avs")
Import("L:\Video\AviSynth\functions\mc_spuds\MC_Spuds.avs")

MC_Spuds(anime=false)


For other functions use the same method. Bit of effort editing the scripts and does mean duplicate files, but as the files are very small and hard drive space is very cheap to what it used to be then I found this works to keep all your functions and filters working