View Full Version : Avisynth 2.6 MT
Pages :
1
2
3
4
5
6
7
8
9
10
[
11]
12
13
14
15
16
17
18
19
20
21
22
SEt
24th August 2012, 15:09
lol, I give up on VS2012 for now – it's unable to build Avisynth in release:
LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage
So, expect usual VS2010 build in some time.
mastrboy
24th August 2012, 17:37
That's too bad...
Btw, have you ever tried compiling it with intel's compiler?
hajj_3
24th August 2012, 17:47
Microsoft support for XP ends in April 8th 2014 so there will be no security fixes etc past then, so there's not much point in supporting XP anymore.
pbristow
24th August 2012, 18:29
lol, I give up on VS2012 for now – it's unable to build Avisynth in release
OK, I feel better about myself now... and the fact that I couldn't get anything bigger than "Hello world" to compile in VS2012 either! ;)
detmek
24th August 2012, 19:17
Microsoft support for XP ends in may 2014 so there will be no security fixes etc past then, so there's not much point in supporting XP anymore.
Well, certenly not after may 2014. Untill then...
Wilbert
24th August 2012, 21:26
Wilbert, those tools are definitely unnecessary: all you need is to wipe 1 (2 for x64) registry key – and DirectShow will behave the same as on NT5.
Great news! Which keys?
Sparktank
24th August 2012, 22:59
Microsoft support for XP ends in may 2014 so there will be no security fixes etc past then, so there's not much point in supporting XP anymore.
^this.
Well, certenly not after may 2014. Untill then...
^this.
SEt
25th August 2012, 02:12
Wilbert, clean the contents of these keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectShow\Preferred
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectShow\Preferred (obviously, x64 OS only)
Though you will need to give yourself the rights to do so first (permissions->take ownership->give yourself full control rights).
Didée
25th August 2012, 10:06
Do I vaguely remember reports that the thumbnail generation for video files in Windows explorer is negatively affected by this?
Atak_Snajpera
25th August 2012, 11:06
Do I vaguely remember reports that the thumbnail generation for video files in Windows explorer is negatively affected by this?
nope...
SEt
28th August 2012, 16:01
Finally an update.
Changes:
1) Merged with CVS.
2) Correct passing of float parameters discussed here (http://forum.doom9.org/showthread.php?t=164974).
Boulder
28th August 2012, 16:21
Thanks a lot!
By the way, have you looked at the cache changes made by the SVP team?
mastrboy
28th August 2012, 17:46
Finally an update.
Changes:
1) Merged with CVS.
2) Correct passing of float parameters discussed here (http://forum.doom9.org/showthread.php?t=164974).
:thanks:
Do you keep a changelog you could post?
Reel.Deel
28th August 2012, 18:02
Here's what chainik_svp wrote about the modified SVP Avisynth.
Also, here's the source (http://www.svp-team.com/files/gpl/avisynth-2.5.8-svp.zip) for the modified SVP Avisynth.
-Vit-
a major problem with HD is that we cannot run enough threads to use up the CPU before running out of memory
It was the first real problem we faced with SVP :) The current solution (modified Avisynth version) is good for SVP, may be it can be good for you too.
There're two mods in it:
1. distributor code is sometimes more effective (= needs less threads for the same processing speed for FRC)
2. sizes of internal caches between filters are limited by exact number of frames, not by global SetMemoryMax value and it's working great with linear video processing. For example one can use pel=4 with 1080p clip in MVTools with this mod.
So the total memory consumed depends on <number of filters>*<size of each cache>.
In case you're interested:
- global script value "svp_scheduler=true" turns on both mods, cache size is something like <num of threads>*2
- "svp_cache_fwd=<num_of_frames>" - set the exact cache size
And don't forget about "4gb patch" :)
SEt
28th August 2012, 19:51
mastrboy, no change log as changes are pretty much only bugfixes and nothing important happened for a long time.
Reel.Deel, I'll look into it when I have time, but probably there isn't much point hacking current cache implementation.
the_weirdo
29th August 2012, 14:04
Finally an update.
Changes:
1) Merged with CVS.
2) Correct passing of float parameters discussed here (http://forum.doom9.org/showthread.php?t=164974).
Thank you very much for the new build.
However, could you please provide an additional build without the change #2? Because currently, that change seems to break some existing scripts (and maybe some plugins too, I'm not sure).
EDIT: Sorry, the error might not caused by that change. But I don't know why after update this build, I get a lot of "access violation" messages with various plugins in existing functions, for example mt_masktools_26.dll and RemoveGrainSSE2.dll. Those scripts were worked fine with build 2012.05.16. I'm using Windows 7 64-bit.
Boulder
29th August 2012, 15:52
I also have the same issues with RemoveGrain_SSE2.dll. Switching back to the previous build fixes the problem.
SEt
29th August 2012, 17:41
Give me exact dlls and script that reproduce the error – I'm building RemoveGrain myself and don't have problems.
Keiyakusha
29th August 2012, 17:46
I noticed few of my scripts stopped working too... I haven't investigated but it seems to be related to avarpsharp2.
Boulder
29th August 2012, 17:48
I use the dlls from this package: http://forum.doom9.org/showpost.php?p=1568142&postcount=1126
I can reproduce it by loading the source and using SPresso().
function SPresso(clip clp, int "limit", int "bias", int "RGmode", int "limitC", int "biasC", int "RGmodeC", string "tune")
{
limit = default( limit, 2 )
limitC = default( limitC, 4 )
bias = default( bias, 25 )
biasC = default( biasC, 33 )
tune = default( tune, "film")
RGmode = default( RGmode, (tune == "film") ? 4 : 1 )
RGmodeC = default( RGmodeC, (tune == "film") ? 4 : 2 )
yy = (RGmode ==0) ? 2 : 3
uv = (RGmodeC==0) ? 2 : 3
LIM1 = (limit>0) ? string( round(limit*100.0/bias-1.0) ) : string( round(100.0/bias) )
LIM2 = (limit<0) ? "1" : string(limit)
BIA = string(bias)
LIM1c = (limitC>0) ? string( round(limitC*100.0/biasC-1.0) ) : string( round(100.0/biasC) )
LIM2c = (limitC<0) ? "1" : string(limitC)
BIAc = string(biasC)
expr = (limit<0) ? "x y - abs "+LIM1+" < x x 1 x y - x y - abs / * - ?"
\ : "x y - abs 0 <= x x "+LIM1+" + y < x "+LIM2+" + x "+LIM1+" - y > x "+LIM2+" - " \
+ "x 100 "+BIA+" - * y "+BIA+" * + 100 / ? ? ?"
exprC = (limit<0) ? "x y - abs "+LIM1c+" < x x 1 x y - x y - abs / * - ?"
\ : "x y - abs 0 <= x x "+LIM1c+" + y < x "+LIM2c+" + x "+LIM1c+" - y > x "+LIM2c+" - " \
+ "x 100 "+BIAc+" - * y "+BIAc+" * + 100 / ? ? ?"
# For (old) MaskTools v1.5.8 :
# yv12lutxy( clp, clp.removegrain(RGmode,RGmodeC), expr,exprC,exprC, Y=yy,U=uv,V=uv)
# For (new) MaskTools v2.x :
mt_lutxy( clp, clp.removegrain(RGmode,RGmodeC), yexpr=expr,uexpr=exprC,vexpr=exprC, Y=yy,U=uv,V=uv)
return( last )
}
the_weirdo
30th August 2012, 03:51
Give me exact dlls and script that reproduce the error – I'm building RemoveGrain myself and don't have problems.
Here are some scripts and plugins that can reproduce the error:
https://dl.dropbox.com/u/18695757/Test_Avisynth_2.6_MT.7z
Like Boulder, I also get those plugins from this post:
http://forum.doom9.org/showthread.php?p=1568142#post1568142
After I replace those plugins with their original versions, the error doesn't occur any more. But they're worked fine with previous builds.
Tempter57
30th August 2012, 04:45
SEt
Error on SeeSaw.avsi (function sharpen2), GrainFactory3.avs, plugins with original versions
the_weirdo
30th August 2012, 05:55
SEt
Error on SeeSaw.avsi (function sharpen2), GrainFactory3.avs, plugins with original versions
With SeeSaw.avsi, you can open it in an editor like Notepad and change float "Spower" to int "Spower" (line #33). That means you cannot use a float value for "Spower" parameter. If you want to keep using float for "Spower" then you need to change int power to float power in function sharpen2 (line #95).
About GrainFactory3.avs, I don't know.
Tempter57
30th August 2012, 06:29
the_weirdo
Thank you, with GrainFactory3.avs all good
forclip
30th August 2012, 06:42
SEt
Thanks for the build :)
Like Boulder, I also get those plugins from this post:
http://forum.doom9.org/showthread.php?p=1568142#post1568142
These plugins must be recompiled (+small changes) to be compatible with the "new-new" AviSynth 2.6 interface.
-----
Attached DirectShowSource.dll for 2.6.
SEt
30th August 2012, 16:00
Plugins in that post (http://forum.doom9.org/showthread.php?p=1568142#post1568142), as forclip said, need to be recompiled for the "new-new" interface. Personally I suggest using classic interface if you don't need something from the "new-new" one.
In SeeSaw.avsi it's clearly the discussed situation of working bugged code due to ints masking as floats. The script should be changed this way:
function sharpen2(clip clp, float strength, float power, float zp, float lodmp, float hidmp, int rgmode)
{
STR = string( strength )
PWR = string( 1.0/power )
Keiyakusha
30th August 2012, 16:24
So everything that stopped working I have to modify by hands (in case of script) or get recompiled version (in case of plugin)? Why not just roll back changes that caused this?
Btw this is only MT build, or normal one affected too?
SEt
30th August 2012, 16:59
What "everything" is stopped working? I see only plugins built especially for that one build of Avisynth and one previously hidden bug in one script surfaced (what is a good thing).
No idea what "normal one" build you are referencing to.
Keiyakusha
30th August 2012, 18:08
Well this is my bad English. Perhaps "anything" suits better there? I have a bunch of scripts that stopped working in new build and that doesn't use any plugins from -Vit-. They return message that invalid arguments was passed, maybe some other messages too. But it works with previous build. I'm not going to investigate which scripts are problematic and where exactly these problems appear.
P.S.
There was build (official?) without MT capabilities. This is what i called "normal"
SEt
30th August 2012, 20:09
The int-float change just exposed the hidden problems that you can stumble upon anyway with different parameters for your scripts.
The last "official" build is from 25.05.2011 I think. You are free to use it, but personally I find nothing great there.
Keiyakusha
30th August 2012, 20:53
The last "official" build is from 25.05.2011 I think. You are free to use it, but personally I find nothing great there.
I have compiled version from 08.02.12. What I'm actually asking is if this change that "broke" some things is in the trunk or this is your custom upgrade? I said about "normal" version before because some time ago MT stuff wasn't part of the avisynth 2.6, not officially. maybe things changed I don't know. I don't follow actual avisynth development so I'm lost a bit. I don't really need MT stuff anyway. If I still can compile it without MT and this latest change - this is fine. But If everything affected by this change- it really should be rolled back.
06_taro
31st August 2012, 02:04
So if anything relying on a buggy behaviour stopped working after a new version fixed it, this bugfix should be rolled back?
the_weirdo
31st August 2012, 04:05
So if anything relying on a buggy behaviour stopped working after a new version fixed it, this bugfix should be rolled back?
This actually happen with VSFilter.
How about an additional build until those buggy scripts are fixed?
SEt
31st August 2012, 08:49
If you want previous behavior just rollback 1 build back.
Keiyakusha
31st August 2012, 09:35
So if anything relying on a buggy behaviour stopped working after a new version fixed it, this bugfix should be rolled back?
Yes. This is one of the cases that can can be called "don't fix what's not broken". I don't recall any problems with that behavior. Until now no one even noticed it! Buggy behavior was there long enough, we can call it feature now.
Edit: What will happen if google will fix buggy behaviour in vp8 bitstream? Or any of the old bugs in vsfilter will be fixed? It will lead to lost compatibility with something but will bring... I don't know what so good it will bring. To me situation with this latest avisynth change looks very similar.
And for example, I have tons of scripts and plugins that I don't even remember where I found and how many times modified. If any of these affected too, I don't see how they will be fixed unless I'll do this myself.
the_weirdo
31st August 2012, 11:54
To be honest, I use these builds because they're up-to-date with CVS (which contain some fixes that I may encounter), not because of MT feature. I'm still using a Wolfdale desktop CPU so MT doesn't have much benefit for me. But I don't want to wait for a new official build. I wish there were someone willing to compile "nightly" builds for Avisynth 2.6.
Actually I didn't intend to complain or anything, I just want an additional option for those who cannot wait for those buggy scripts are fixed (I doubt they'll be fixed by their author), like Mosu have done with feature "header compression" of Matroska for MKVtoolnix. I don't use many function scripts and it's trivial for me to fix them (because it's just int-float misplace).
P.S. My English is really poor so if there're offending words or sentences then it's not my intent.
zerowalker
2nd September 2012, 11:41
QTGMC() doesn´t work for me, something about NNEDI3 Arg 0, this is with the latest build, it work with 1 step earlier.
manolito
3rd September 2012, 15:57
xp users must extinct. i don't care whether you like it or not. the same happened with win9x users and your whinning won't prevent that!This is a childish statement.
Latest statistics about marketshare of different Windows versions:
http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=11&qpcustomb=0
42.52% of all users still use XP. It would be a very bad idea to drop XP support at this time already...
Cheers
manolito
Overdrive80
4th September 2012, 21:46
@Set After of updating avisynth with your current version, I got this error:
http://s12.postimage.org/nak51rvfx/Error.png
With version 2012.05.16, it didnt success.
Script used:
SetMemorymax(1024)
SetMtMode(5,4)
DGDecode_mpeg2source("D:\DBZ\DBZ1_12\071\Title_7.d2v", info=3)
ColorMatrix(hints=true, threads=0)
#NO deinterlace
#crop&resize (0,0,-0,-0)
#Opening
D0=Trim(0,2615).Crop(8,0,-6,-4).Spline64Resize(720,480)
#Resumen
D1=trim(2616,4077).Crop(2,0,-2,-0).Spline64Resize(720,480)
#Titulo
D2=trim(4078,4281).Crop(2,0,-2,-0).Spline64Resize(720,480)
#Capitulo - 1 parte
D3=trim(4282,18303).Crop(2,0,-2,-4).Spline64Resize(720,480)
#Cortinillas
D4=trim(18304,18595).Crop(2,0,-2,-0).Spline64Resize(720,480)
#Capitulo - 2 parte
D5=trim(18596,32431).Crop(2,0,-2,-4).Spline64Resize(720,480)
#Ending
D6=trim(32432,34735).Crop(2,0,-2,-0).Spline64Resize(720,480)
#Avance
D7=trim(34736,0).Crop(4,0,-2,-6).Spline64Resize(720,480)
UnalignedSplice(D0,D1,D2,D3,D4,D5,D6,D7)
###################################
# FILTRADO #
###################################
Setmtmode(2)
original=last
aa=spline64Resize(width(original)*2,height(original)*2).SangNom(aa=29).spline64Resize(width(original),height(original)).mergechroma(original)
prefiltrado= dfttest(sigma=4,tbsize=1,tmode=0,lsb=true).ditherpost(mode=2)
super=Msuper(prefiltrado)
backward_vec3 = MAnalyse(super, isb = true, delta = 3, overlap=4,search=4)
backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4,search=4)
backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4,search=4)
forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4,search=4)
forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4,search=4)
forward_vec3 = MAnalyse(super, isb = false, delta = 3, overlap=4,search=4)
prefiltrado.MDegrain3(super,backward_vec1,forward_vec1,backward_vec2,forward_vec2,backward_vec3,forward_vec3,
\thSAD=370,plane=4,lsb=true).ditherpost(mode=2)
contrasharpening(last,aa)
toon(0.10)
gradfun3()
SEt
5th September 2012, 06:35
Use the stable 2.5 API (i.e. mt_masktools-25.dll) if you don't want to rebuild the filters but want the latest Avisynth version.
People, these builds are not user-friendly: they are pretty stable and as bug free as possible, but API changes and breaking something old already broken are to be expected. Do not expect that everything will behave as in previous build, especially if you use 2.6 features.
Keiyakusha
5th September 2012, 10:29
so by latest api change what exactly we gained other than some broken plugins and scripts?
Atak_Snajpera
5th September 2012, 11:13
This is a childish statement.
Latest statistics about marketshare of different Windows versions:
http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=11&qpcustomb=0
42.52% of all users still use XP. It would be a very bad idea to drop XP support at this time already...
Cheers
manolito
http://www.w3schools.com/browsers/browsers_os.asp
the_weirdo
5th September 2012, 11:23
2) Correct passing of float parameters discussed here (http://forum.doom9.org/showthread.php?t=164974).
Those "buggy" scripts are broken by that change. IIUC, that "fix" isn't commited to CVS Repo yet. And here is IanB's opinion:
[...]
I am not say this should not be fixed, just that it will need banner headlines when we do.
I have had a quick look at doing this fix in ScriptFunction:: and although it is slightly more work it is still trivial and it will have less impact overall.
Like I've said before, I didn't complain at all. I discover that now a float value cannot pass to an int parameter like before, so just find those buggy functions and correct them. FYI, if f is a float, Float(f) is still valid even IsInt(f)=false.
manolito
5th September 2012, 17:15
From the w3schools website:
"There are three kinds of lies: lies, damn lies, and statistics."
Benjamin Disraeli
:):)
Groucho2004
5th September 2012, 17:30
http://www.w3schools.com/browsers/browsers_os.asp
I don't see how a statistic about the OS behind a browser is representative for the entire market share of an OS.
active1
8th September 2012, 13:48
People, these builds are not user-friendly: they are pretty stable and as bug free as possible, but API changes and breaking something old already broken are to be expected. Do not expect that everything will behave as in previous build, especially if you use 2.6 features.
any builds you mean?
SEt
9th September 2012, 18:52
Any 2.6 builds.
But if you are using only 2.5 features (not 2.5 bugs) you should be pretty safe.
pbristow
10th September 2012, 15:58
Please can we move the silly OS war somewhere else? It's hard enough to track the main discussion without that.
:(
Stealth5325
19th September 2012, 00:23
SEt, thank you for all your hard work. I, as well as many others are in your debt.
I was wondering if you'd be so kind as to help me with the basic install of this AviSynth. I'm running Windows 7, with nothing but FFDShow, InterFrame, and AviSynth, and I can't for the life of me use AVISynth with FFDShow without an instant crash.
I'm installing as so:
Downloading the 2.6 ST (x86) from here: http://avisynth.org/mediawiki/Main_Page#Official_builds
Taking your version and putting in c:\windows\syswow64
Then, I run my media player (Win7 media center, properly configured with Win7DSFilterTweaker to enable FFDShow), and run a movie. If AVISynth is checked, instant crash. If not, runs fine. This is with and without a script in the box at all, and with all the options checked/not checked.
I would, of course like to run the 64 bit version, if you have one. I have both 32bit and 64 bit ffdshow installed, from the ffdshow-tryouts website. Most recent official version.
Any suggestions?
Thank you in advance kind sir.
wOxxOm
19th September 2012, 00:36
Stealth5325, this might be caused by an incompatible plugin in avisynth\plugins folder, it could be either .dll or .avsi, and if I remember correctly I've used sysinternals' filemon to track which dll/avsi was causing the crash (options->filter = name of avisynth plugins folder). Just run a movie with ffdshow->avisynth enabled, and look in the end of filemon's log.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.