Log in

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

mawen1250
31st January 2015, 00:55
Try this one
SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=4., Sdamplo=5., Szp=16., bias=40.)
From what I know, when specify an int to a float argument for AviSynth function, the argument will become an int variable, and when this int variable is passed to a function argument that is of float type, the error occurs.
I remember from one version on, 2.6 MT has fixed this problem (maybe 2012.08.28), also I tried this condition on AviSynth+ and it has fixed it.
Maybe the new 2.6 MT doesn't include this fix?

StainlessS
31st January 2015, 05:21
From Official v2.6 RC-1 ChangeList
Force int call arguments to user script function float params to be explicit floats.

Ajvar
31st January 2015, 05:43
Does official version work or produce the same error? If error is still present - it's non-MT issue and should be reported to the official thread.

I've never thought that it's OK to ask about errors with script but IF it is... please help.
I have a script which is working fine with Avisynth 2.6 in ST mode only while in Avisynth 2.5 it works fine in ST and MT.
Whenever I set MT mode (SetMemoryMax(1024) SetMTMode(3, 3), souce, SetMTMode(2)) it shows me a white alpha text on the video "I don't know what "fix_clip" means ([ScriptClip], line 2)".
I understand that you may not understand the script itself but I have a feeling that problem is in general rules of scripting.

I assume that it is because there is nothing before that ScriptClip("...
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")

SetMemoryMax(1024)
SetMTMode(3, 3)

DirectShowSource("E:\Documents\Desktop\EXAMPLE.mp4", fps=25.000, convertfps=true)

SetMTMode(2)

ConvertToYV12()

###[FILTERING]###
global svp_scheduler=true
global threads=5
global svp_cache_fwd=threads+10
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\svpflow1.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\svpflow2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\MVtools2mod.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\masktools2.dll")

src=last
super_params_mini="{scale:{up:0},gpu:1}"
analyse_params_mini="{block:{w:8,h:8}}"
miniW = int(width/64)*32
miniW = (miniW<320) ? 320 : miniW
miniH = int(height/64)*32
miniH = (miniH<160) ? 160 : miniH
mini=BicubicResize(miniW,miniH).TemporalSoften(1, 1, 0, scenechange=1, mode=2)
super_mini=mini.SVSuper(super_params_mini)
vectors_mini=SVAnalyse(super_mini, analyse_params_mini)
vectors_Forward=SVConvert(vectors_mini, false)
HorizontalSpeed_luma=mini.MMask(vectors_Forward, kind=3).convertToRGB32().PointResize(miniW/8, miniH/8).PointResize(miniW/4, miniH/4).ConvertToYV12().mt_lut(y=2, u=128, v=128)
VerticalSpeed_luma=mini.MMask(vectors_Forward, kind=4).convertToRGB32().PointResize(miniW/8, miniH/8).PointResize(miniW/4, miniH/4).ConvertToYV12().mt_lut(y=2, u=128, v=128)

size=16
luma_lft=HorizontalSpeed_luma.crop(0,0,miniW/16,0).BicubicResize(size,size)
luma_rgh=HorizontalSpeed_luma.crop(miniW/16+miniW/8,0,0,0).BicubicResize(size,size)
luma_top=VerticalSpeed_luma.crop(0,0,0,miniH/16).BicubicResize(size,size)
luma_btm=VerticalSpeed_luma.crop(0,miniH/16+miniH/8,0,0).BicubicResize(size,size)
luma_drop=luma_lft.mt_lut(y=-1, u=128, v=128)

move_idx=5
y_idx=3
min_move=0.2
max_stop=0.5
drop_clip=luma_drop.ScriptClip("
AvgLuma_lft=128-luma_lft.AverageLuma
AvgLuma_rgh=128-luma_rgh.AverageLuma
AvgLuma_lft_prev=128-(luma_lft.trim(1,1)+luma_lft).AverageLuma
AvgLuma_rgh_prev=128-(luma_rgh.trim(1,1)+luma_rgh).AverageLuma
AvgLuma_lft_next=128-luma_lft.trim(1,0).AverageLuma
AvgLuma_rgh_next=128-luma_rgh.trim(1,0).AverageLuma

AvgLuma_top=128-luma_top.AverageLuma
AvgLuma_btm=128-luma_btm.AverageLuma
AvgLuma_top_prev=128-(luma_top.trim(1,1)+luma_top).AverageLuma
AvgLuma_btm_prev=128-(luma_btm.trim(1,1)+luma_btm).AverageLuma
AvgLuma_top_next=128-luma_top.trim(1,0).AverageLuma
AvgLuma_btm_next=128-luma_btm.trim(1,0).AverageLuma

Max_lft=max(abs(AvgLuma_lft_prev),abs(AvgLuma_lft),abs(AvgLuma_lft_next))
Max_rgh=max(abs(AvgLuma_rgh_prev),abs(AvgLuma_rgh),abs(AvgLuma_rgh_next))
Max_top=max(abs(AvgLuma_top_prev),abs(AvgLuma_top),abs(AvgLuma_top_next))
Max_btm=max(abs(AvgLuma_btm_prev),abs(AvgLuma_btm),abs(AvgLuma_btm_next))
Max_all=max(Max_lft,Max_rgh,Max_top,Max_btm)

MaxLuma=max(abs(AvgLuma_lft),abs(AvgLuma_rgh),abs(AvgLuma_top),abs(AvgLuma_btm))
MaxLuma_prev=max(abs(AvgLuma_lft_prev),abs(AvgLuma_rgh_prev),abs(AvgLuma_top_prev),abs(AvgLuma_btm_prev))
MaxLuma_next=max(abs(AvgLuma_lft_next),abs(AvgLuma_rgh_next),abs(AvgLuma_top_next),abs(AvgLuma_btm_next))
dif=mini.YDifferenceFromPrevious
dif_next=mini.trim(1,0).YDifferenceFromPrevious
dif_prev=(mini.trim(1,1)+mini).YDifferenceFromPrevious

GoodContrast = (max(mini.YPlaneMinMaxDifference,mini.trim(1,0).YPlaneMinMaxDifference)>20) ? 1 : 0

drop = (MaxLuma<0.1 && MaxLuma*2<Max(MaxLuma_prev,MaxLuma_next) && dif*y_idx<max(dif_prev,dif_next)) ? 1 : 0

drop_lft = (AvgLuma_lft_prev*AvgLuma_lft_next>0 && abs(AvgLuma_lft*move_idx)<Max_lft && abs(AvgLuma_lft)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 2 : 0
drop_rgh = (AvgLuma_rgh_prev*AvgLuma_rgh_next>0 && abs(AvgLuma_rgh*move_idx)<Max_rgh && abs(AvgLuma_rgh)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 3 : 0
drop_top = (AvgLuma_top_prev*AvgLuma_top_next>0 && abs(AvgLuma_top*move_idx)<Max_top && abs(AvgLuma_top)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 4 : 0
drop_btm = (AvgLuma_btm_prev*AvgLuma_btm_next>0 && abs(AvgLuma_btm*move_idx)<Max_btm && abs(AvgLuma_btm)<=min_move && dif*y_idx<max(dif_prev,dif_next)) ? 5 : 0

drop = (drop==0 && MaxLuma<Max_stop && Max_lft==Max_all) ? drop_lft : drop
drop = (drop==0 && MaxLuma<Max_stop && Max_rgh==Max_all) ? drop_rgh : drop
drop = (drop==0 && MaxLuma<Max_stop && Max_top==Max_all) ? drop_top : drop
drop = (drop==0 && MaxLuma<Max_stop && Max_btm==Max_all) ? drop_btm : drop
drop_dif = (dif<0.4 && MaxLuma<min_move) ? 6 : 0
drop = (drop==0 && drop_dif>0) ? drop_dif : drop
drop = (drop>0 && Max_all<0.2) ? 0 : drop
drop = (drop>0 && GoodContrast==0) ? 0 : drop

luma=mini.AverageLuma
luma_next=mini.trim(1,0).AverageLuma
max_luma=max(luma,luma_next)

drop = (drop>0 && max_luma<16.5) ? 0 : drop

(drop>0) ? luma_drop : \
(Max_lft==Max_all) ? luma_lft : \
(Max_rgh==Max_all) ? luma_rgh : \
(Max_top==Max_all) ? luma_top : luma_btm
")

fix_r50=luma_lft.mt_lut(y=-1, u=128, v=128)
fix_lr33=luma_lft.mt_lut(y=-2, u=128, v=128)
fix_l50=luma_lft.mt_lut(y=-3, u=128, v=128)
fix_r133=luma_lft.mt_lut(y=-4, u=128, v=128)
fix_r66=luma_lft.mt_lut(y=-5, u=128, v=128)

AvgDrop=127
MaxMulty=10
dblMulti=1.3
fix_clip=luma_drop.ScriptClip("
drop=drop_clip.AverageLuma
AvgLuma=abs(128-drop_clip.AverageLuma)
AvgLuma_prev=abs(128-(drop_clip.trim(1,1)+drop_clip).AverageLuma)
AvgLuma_prev_= (AvgLuma_prev==AvgDrop) ? 0 : AvgLuma_prev
AvgLuma_prev2=abs(128-(drop_clip.trim(1,2)+drop_clip).AverageLuma)
AvgLuma_next=abs(128-drop_clip.trim(1,0).AverageLuma)
AvgLuma_next_= (AvgLuma_next==AvgDrop) ? 0 : AvgLuma_next
AvgLuma_next2=abs(128-drop_clip.trim(2,0).AverageLuma)

RightZero = (AvgLuma_prev_*MaxMulty<AvgLuma_next_) ? (AvgLuma_prev_>max_stop || AvgLuma_next_>max_stop) ? 1 : 0 : 0
LeftZero = (AvgLuma_next_*MaxMulty<AvgLuma_prev_) ? (AvgLuma_prev_>max_stop || AvgLuma_next_>max_stop) ? 1 : 0 : 0

drop = (AvgLuma==AvgDrop && AvgLuma_next==AvgDrop) ? -50 : 0
drop = (AvgLuma==AvgDrop && AvgLuma_prev==AvgDrop) ? 50 : drop

drop = (drop==0 && AvgLuma==AvgDrop && LeftZero==0 && RightZero==0) ? \
AvgLuma_prev_>AvgLuma_next_*dblMulti ? -50 : \
AvgLuma_prev_*dblMulti>=AvgLuma_next_ ? AvgLuma_next2==AvgDrop ? 50 : 33 : 50 : drop

drop = (drop==0 && AvgLuma==AvgDrop && RightZero==0 && AvgLuma_next2==AvgDrop) ? -50 : drop
drop = (drop==0 && AvgLuma==AvgDrop && LeftZero==0 && AvgLuma_prev2==AvgDrop) ? 66 : drop

(drop==50) ? fix_r50 : \
(drop==33) ? fix_lr33 : \
(drop==-50) ? fix_l50 : \
(drop==133) ? fix_r133 : \
(drop==66) ? fix_r66 : drop_clip
")

r50=1
lr33=2
l50=3
r133=4
r66=5

super_params="{scale:{up:0},gpu:1}"
analyse_params="{main:{search:{coarse:{distance:4,bad:{sad:2000}},type:2,distance:4},penalty:{lambda:1,pglobal:10000}},refine:[{thsad:65000}]}"
smoothfps_params="{rate:{num:12,den:1},algo:13,scene:{blend:true}}"

super=SVSuper(super_params)
vectors=SVAnalyse(super, analyse_params)
fix_all = SVSmoothFps(super, vectors, smoothfps_params, mt=threads, url="www.svp-team.com")
fix50 = fix_all.SelectEvery(12,6).Subtitle("fix50", align=3, size=120)
fix33 = fix_all.SelectEvery(12,4).Subtitle("fix33", align=3, size=120)
fix66 = fix_all.SelectEvery(12,8).Subtitle("-fix33", align=3, size=120)
fix66p = fix_all.SelectEvery(12,8).Subtitle("fix66", align=3, size=120)
fix75 = fix_all.SelectEvery(12,9).Subtitle("-fix25", align=3, size=120)
fix50n = fix_all.SelectEvery(12,6).Subtitle("-fix50", align=3, size=120)
fix133 = fix_all.SelectEvery(12,4).Subtitle("fix133", align=3, size=120)
fix125 = fix_all.SelectEvery(12,3).Subtitle("fix125", align=3, size=120)

ScriptClip("
AvgFix=fix_clip.AverageLuma
AvgFix_next=fix_clip.trim(1,0).AverageLuma
AvgFix_next2=fix_clip.trim(2,0).AverageLuma
AvgFix_next3=fix_clip.trim(3,0).AverageLuma
AvgFix_prev=(fix_clip.trim(1,1)+fix_clip).AverageLuma

(AvgFix==r50) \
? (AvgFix_next2==lr33 || AvgFix_next2==l50) ? fix33 : fix50 : \
(AvgFix==lr33) ? fix33 : \
(AvgFix_next==lr33) \
? (AvgFix_prev==r66) ? fix75.trim(1,1)+fix75 : fix66.trim(1,1)+fix66 : \
(AvgFix_next==l50) \
? (AvgFix_prev==lr33 || AvgFix_prev==r50) ? fix66.trim(1,1)+fix66 \
: (AvgFix_prev==r66) ? fix75.trim(1,1)+fix75 : fix50n.trim(1,1)+fix50n : \
(AvgFix==r66) \
? (AvgFix_next2==lr33 || AvgFix_next2==l50) ? fix50 : fix66p : \
(AvgFix_next==r66) \
? (AvgFix_next3==lr33 || AvgFix_next3==l50) ? fix125.trim(1,0) : fix133.trim(1,0) : \
last
")

trim(0,framecount-10)
###[FILTERING]###

Thank you if you look at it.

StainlessS
31st January 2015, 06:22
This is the problem line in final scriptclip that results in error message

ScriptClip("
AvgFix=fix_clip.AverageLuma


Can you add this in blue after fix_clip.Scriptclip EDIT: Actually after fix_clip=luma_drop.ScriptClip("

#return luma_drop # EDIT: And also try with this line uncommented
fix_clip=luma_drop.ScriptClip("
drop=drop_clip.AverageLuma
AvgLuma=abs(128-drop_clip.AverageLuma)
AvgLuma_prev=abs(128-(drop_clip.trim(1,1)+drop_clip).AverageLuma)
AvgLuma_prev_= (AvgLuma_prev==AvgDrop) ? 0 : AvgLuma_prev
AvgLuma_prev2=abs(128-(drop_clip.trim(1,2)+drop_clip).AverageLuma)
AvgLuma_next=abs(128-drop_clip.trim(1,0).AverageLuma)
AvgLuma_next_= (AvgLuma_next==AvgDrop) ? 0 : AvgLuma_next
AvgLuma_next2=abs(128-drop_clip.trim(2,0).AverageLuma)

RightZero = (AvgLuma_prev_*MaxMulty<AvgLuma_next_) ? (AvgLuma_prev_>max_stop || AvgLuma_next_>max_stop) ? 1 : 0 : 0
LeftZero = (AvgLuma_next_*MaxMulty<AvgLuma_prev_) ? (AvgLuma_prev_>max_stop || AvgLuma_next_>max_stop) ? 1 : 0 : 0

drop = (AvgLuma==AvgDrop && AvgLuma_next==AvgDrop) ? -50 : 0
drop = (AvgLuma==AvgDrop && AvgLuma_prev==AvgDrop) ? 50 : drop

drop = (drop==0 && AvgLuma==AvgDrop && LeftZero==0 && RightZero==0) ? \
AvgLuma_prev_>AvgLuma_next_*dblMulti ? -50 : \
AvgLuma_prev_*dblMulti>=AvgLuma_next_ ? AvgLuma_next2==AvgDrop ? 50 : 33 : 50 : drop

drop = (drop==0 && AvgLuma==AvgDrop && RightZero==0 && AvgLuma_next2==AvgDrop) ? -50 : drop
drop = (drop==0 && AvgLuma==AvgDrop && LeftZero==0 && AvgLuma_prev2==AvgDrop) ? 66 : drop

(drop==50) ? fix_r50 : \
(drop==33) ? fix_lr33 : \
(drop==-50) ? fix_l50 : \
(drop==133) ? fix_r133 : \
(drop==66) ? fix_r66 : drop_clip
")
Return fix_clip

It may get you one step closer to figuring out what the problem is, may perhaps give another cryptic message from that Scriptclip instance.

Ajvar
31st January 2015, 07:56
This is the problem line in final scriptclip that results in error message

It may get you one step closer to figuring out what the problem is, may perhaps give another cryptic message from that Scriptclip instance.

The problem is that everything from the last ScriptClip is the problem. Just out of curiosity I put luma_drop instead of fix_clip and result is it doesn't know what's luma_drop.

The only difference with last ScriptClip is that there is nothing before it like XXX=YYY.Scriptclip. And this error comes only when I turn on MT. MT version of 2.6 doesn't like ScripClips without header?

With return fix_clip all gets blurred and with return luma_drop all is black. But thanks for trying.

StainlessS
31st January 2015, 09:18
The problem is that everything from the last ScriptClip is the problem. Just out of curiosity I put luma_drop instead of fix_clip and result is it doesn't know what's luma_drop.

Nope, the problem is before that as your Luma_drop (and my suggested edit) shows.


With return fix_clip all gets blurred and with return luma_drop all is black.

Yep, the point was to try to ascertain (or get nearer to) the cause of the problem, not to make your script work.
I'll leave it to you.

Pat357
31st January 2015, 14:27
Try this one
SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=4., Sdamplo=5., Szp=16., bias=40.)
From what I know, when specify an int to a float argument for AviSynth function, the argument will become an int variable, and when this int variable is passed to a function argument that is of float type, the error occurs.
I remember from one version on, 2.6 MT has fixed this problem (maybe 2012.08.28), also I tried this condition on AviSynth+ and it has fixed it.
Maybe the new 2.6 MT doesn't include this fix?

Thanks, I've tested this, but no avail :
SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=4., Sdamplo=5., Szp=16., bias=40.)
still gives the same error.

However, just omitting the Spower=4 like this :
SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5 , Sdamplo=5, Szp=16, bias=40)
is just fine.
It looks like this Spower parameter causes the problem
Spower=4. or Spower=4 or Spower=4.0 all give the same error.

It seems like float versus ints is not the problem..
Any other ideas ?

Pat357
31st January 2015, 15:07
I've Seesaw working now with the official latest non MT 2.6.0.5 version (2.6_RC1).
Here's what I did : in the Seesaw.avsi, I replaced the parameter "power" from type ""int" to "float" (line 95, "function Sharpen2()" ).

The script now properly works with Avisynth 2.6 RC1.

After this I retested the latest MT version, and got an error.
I didn't use any SetMTMode() in the script.

The error I have now is :
AVSMeter 1.9.4.0 (x86) by Groucho2004
AviSynth 2.60, build:Jan 25 2015 [17:03:53] (2.6.0.5) (MT)

Cache: Filter returned invalid response to CACHE_GETCHILD_CACHE_MODE. 2697464
(k:\programs\AviSynth 2.5\special filters\SeeSaw_2006.01.02\SeeSaw_.avs, line 72)
(K:\film\Safe_10a.avs, line 42)
Line 72 from the Seesaw.avsi looks like :
NRdiff = mt_makediff(clp,denoised,chroma="process")

Is this an MT related error ?

SEt
31st January 2015, 18:05
Pat357, the buggy script is obviously at fault for first error:

function SeeSaw(..., float "Spower", ...) # here Spower is declared as float and passed values would be treated as floats
{
...
Spower = default( Spower, 4 ) # and here if Spower is not defined it will be re-assigned value 4, so it'll become int
...
sharpen2(Sstr,Spower,Szp,SdampLo,SdampHi,Smode) # faulting call
}
function sharpen2(clip clp, float strength, int power, float zp, float lodmp, float hidmp, int rgmode)
{
PWR = string( 1.0/float(power) ) # awful writing: parameter power is declared as int, but used only as float -> should replace declaration to float and remove conversion here
}


The second your error
AVSMeter 1.9.4.0 (x86) by Groucho2004
AviSynth 2.60, build:Jan 25 2015 [17:03:53] (2.6.0.5) (MT)

Cache: Filter returned invalid response to CACHE_GETCHILD_CACHE_MODE. 2697464
(k:\programs\AviSynth 2.5\special filters\SeeSaw_2006.01.02\SeeSaw_.avs, line 72)
(K:\film\Safe_10a.avs, line 42)
Line 72 from the Seesaw.avsi looks like :
NRdiff = mt_makediff(clp,denoised,chroma="process")
looks like you are using wrong version of masktools2.dll. You should use (any version 2.5) or (2.6 build exactly for this Avisynth interface version).

kuchikirukia
2nd February 2015, 19:29
I get the error:

nnedi3: arg 0 must be a clip!
(QTGMC-3.32.avsi, line 721)
(QTGMC-3.32.avsi, line 510)

When i use Avisynth 2.6 later then 2012.05.16 i think.

Tried searching on it, but i can´t find anyone else who got it, atleast not in english.

Crap, same error, using nothing but presets using a script that's worked before. I wonder if it's the MBAFF interlacing of the source?

E got it working. Used all the dll's in the "Plugin Package for multithreading" package on the wiki, which then threw a different error, tracked down to mt_masktools-26.dll. Changed to a different version and it's up.
Now I wonder if there's any hope of getting this working multithreaded...

e2: I figured out the nnedi3 bug. The 0.9.4.0 version on the nnedi3 wiki is not the 0.9.4.0 in the qtgmc wiki plugins download. If you use the one on the nnedi3 wiki (13,746,176 bytes) (Sunday, April 01, 2012, 6:30:50 PM) you get the error. Use the one in the QTGMC package (13,737,984 bytes) (Friday, September 09, 2011, 12:54:34 PM) and it's fine.

VideoFanatic
2nd February 2015, 21:50
What are the new features/bug fixes of Avisynth 2.6 MT 2015.01.25 compared to 2013.09.28?

Xebika
2nd February 2015, 22:27
What are the new features/bug fixes of Avisynth 2.6 MT 2015.01.25 compared to 2013.09.28?

You got your answer here: http://forum.doom9.org/showpost.php?p=1707122&postcount=910

VideoFanatic
2nd February 2015, 22:32
You got your answer here: http://forum.doom9.org/showpost.php?p=1707122&postcount=910

I don't see any changes mentioned there.

Groucho2004
2nd February 2015, 22:35
I don't see any changes mentioned there.
I suppose this (http://forum.doom9.org/showthread.php?t=171668) is what you're looking for.

VideoFanatic
2nd February 2015, 22:40
I suppose this (http://forum.doom9.org/showthread.php?t=171668) is what you're looking for.

That's Avisynth changes. I'm looking for Avisynth MT changes.

StainlessS
2nd February 2015, 22:53
Groucho already gave you changes, MT v2.6 is MT version of v2.6, what is so difficult to grasp ?

VideoFanatic
2nd February 2015, 22:58
Groucho already gave you changes, MT v2.6 is MT version of v2.6, what is so difficult to grasp ?

I realise the changes of Avisynth also apply to MT but I want to know what specific MT changes there have been.

Groucho2004
2nd February 2015, 23:27
I want to know what specific MT changes there have been.

------->

I don't see any changes mentioned there.

:rolleyes:

VideoFanatic
3rd February 2015, 00:15
I don't get the joke. Where are the MT specific changes mentioned?

StainlessS
3rd February 2015, 00:32
http://forum.doom9.org/showthread.php?p=1707122#post1707122

Groucho2004
3rd February 2015, 01:09
I don't get the joke. Where are the MT specific changes mentioned?
There are no MT specific changes. Ligh asked the same question. SEt's answer clearly indicates that there are no MT specific changes. There is nothing ambiguous about it.

LigH
3rd February 2015, 08:37
Or in different words:

The difference between AviSynth 2.60 alpha 4 and AviSynth MT 2.60 alpha 4 is about the same as the difference between AviSynth 2.60 RC1 and AviSynth MT 2.60 RC1.

I remember only one specific difference between alpha 3 and alpha 4 regarding the interface and caching modes, which made some elaborate plugins like MaskTools crash and required a new set of DLLs compatible to MT alpha 4 and newer. But nothing similar since which I would be aware of.

Ghostlamer
19th February 2015, 13:32
SEt, looks like in your latest version (2015.01.25) assumefps partially broken, when i change the frame rate (with sound) using the assumefps, the sound is distorted, begins to crack ...
In original non-mt version (Jan 14th, 2015), all fine.

SEt
19th February 2015, 20:42
I can't reproduce it. Can you provide a sample and script?

Ghostlamer
19th February 2015, 23:05
Of course, here : http://www.mediafire.com/download/2p55hqfnreo869b/sample.zip

SEt
20th February 2015, 01:24
Indeed some part of audio was built broken. See the updated version.

tobindac
23rd February 2015, 12:07
Wow. This appears to have fixed hangs I've been having with SVP when seeking. Great thanks.

PS. It's probably about the fixes and not the mt support per se since the version I had had mt commands already.

thread in svp's forum: http://www.svp-team.com/forum/viewtopic.php?pid=46950#p46950

Ajvar
24th February 2015, 18:03
Wow. This appears to have fixed hangs I've been having with SVP when seeking. Great thanks.

PS. It's probably about the fixes and not the mt support per se since the version I had had mt commands already.

thread in svp's forum: http://www.svp-team.com/forum/viewtopic.php?pid=46950#p46950

I believe it has nothing to do with this if you use old 2.5 Avisynth which comes with SVP.

Boulder
24th February 2015, 19:03
Lately I've been getting weird crashes pointing to kernelbase.dll in VirtualDub. They appear when for example seeking forward, then backwards beyond the initial starting point, or when using F2 to reload the script. If I close the script and open it, the crash does not occur.

I asked about this issue at the VDub support forum but apparently the problem is Avisynth-related. In the seeking case, the reason for the crash is "Unhandled Microsoft C++ exception" and with F2 it's "A privileged instruction or unaligned SSE/SSE2 access occurred in module 'VirtualDub'." I can get you the crashinfo.txt files if needed. The crash can be reproduced with just MPEG2Source or DGSource in the script.

Can anyone point me to the right direction in what to try next? I have tried reverting back to the Sept 2013 Avisynth MT build but it also shows this issue.

Groucho2004
24th February 2015, 19:08
Lately I've been getting weird crashes pointing to kernelbase.dll in VirtualDub. They appear when for example seeking forward, then backwards beyond the initial starting point, or when using F2 to reload the script. If I close the script and open it, the crash does not occur.

I asked about this issue at the VDub support forum but apparently the problem is Avisynth-related. In the seeking case, the reason for the crash is "Unhandled Microsoft C++ exception" and with F2 it's "A privileged instruction or unaligned SSE/SSE2 access occurred in module 'VirtualDub'." I can get you the crashinfo.txt files if needed. The crash can be reproduced with just MPEG2Source or DGSource in the script.

Can anyone point me to the right direction in what to try next? I have tried reverting back to the Sept 2013 Avisynth MT build but it also shows this issue.
The first thing to check is obviously if the same happens with the "official" Avisynth.
Secondly, does it happen when you remove SetMTMode statements from the script?

Boulder
24th February 2015, 19:45
Yes, the same thing occurs with the official Avisynth :( The weird thing is that this is not an old issue, I'd say it's been like this for some months now.

chainik_svp
24th February 2015, 20:35
Indeed some part of audio was built broken. See the updated version.

so, what was that? :) diff.7z is unchanged

Groucho2004
24th February 2015, 22:12
Yes, the same thing occurs with the official Avisynth :( The weird thing is that this is not an old issue, I'd say it's been like this for some months now.
More thoughts -
Does it happen with every script?
Maybe a plugin mis-behaving?
Have you tried AVSPMod instead of VDub?

foxyshadis
25th February 2015, 06:22
I'd clear the autoload plugins folder first. I bet it's a misbehaving plugin scribbling over memory it shouldn't.

LigH
25th February 2015, 09:00
There is an ongoing discussion about issues with QTGMC filtering video from an uncompressed YUY2-in-AVI video. Depending on the number of threads, reproducably a different frame is messed up, e.g. skewed (horizontally shifted and wrapped around) by about a third of the width (like the frame data was read with an offset), or completely exchanged by the content of a frame about 20 frames off.

I wonder if this may be related to competitive frame requests. Neither MT mode 3 nor 5 for AviSource seem to make a difference. What would you recommend to try? Should a rather large Preroll help to avoid it?

No more details here yet, the discussion in the german forum is still a bit nested...

Boulder
25th February 2015, 09:04
@foxyshadis: Thanks, I'll try that first as soon as my current encode finishes.

@LigH: All the problems I've had with "weird behaviour" have been solved with PreRoll so it's definitely something to test. My DGSource issues disappeared after using PreRoll(video=25), smaller values were sometimes not enough.

LigH
25th February 2015, 09:30
Thank you; apparently, the frame mess happens in VirtualDub previews but not during a conversion with x264 ... more to investigate ... I don't have that material, only reading reports from another user. We are probably on an interesting track. AviSynth MT may not be the only participant to blame.

SEt
25th February 2015, 12:58
In the seeking case, the reason for the crash is "Unhandled Microsoft C++ exception" and with F2 it's "A privileged instruction or unaligned SSE/SSE2 access occurred in module 'VirtualDub'." I can get you the crashinfo.txt files if needed. The crash can be reproduced with just MPEG2Source or DGSource in the script.
You should post crash logs and the most of other information you can provide – way better chances that someone would be able to figure out the issue.

so, what was that? :) diff.7z is unchanged
Like I said, "was built broken" – there were issues with my compiler tweaks when moved to VS2013.

chainik_svp
25th February 2015, 13:15
Like I said, "was built broken" – there were issues with my compiler tweaks when moved to VS2013.

and if someone'd like to build it on his own he should pay attention to ... what? :)

tobindac
25th February 2015, 13:34
I believe it has nothing to do with this if you use old 2.5 Avisynth which comes with SVP.

SVP was hanging with a 2.5 mt build. This latest 2015 build fixed it.

SEt
25th February 2015, 14:07
and if someone'd like to build it on his own he should pay attention to ... what? :)
Uhm... nothing? If you don't want to link with msvcrt.dll instead of standard runtime like I do.

Boulder
25th February 2015, 15:04
I'd clear the autoload plugins folder first. I bet it's a misbehaving plugin scribbling over memory it shouldn't.I think I nailed it, cleared the folder and then added all the necessary plugins one-by-one until all my regular stuff works. Let's hope the issue won't reappear any time soon, not having the quick reload in VDub can be a real pain..

Thanks again to everyone!

speedyrazor
28th February 2015, 15:55
Hi, I would like to enquire if this version of MT has the latest SoundTouch library included, as Wilber informed me over in this thread, http://forum.doom9.org/showthread.php?p=1711591#post1711591, about a year ago they fixed SoundTouch to be multichannel aware, which I need.
So just wondered if MT includes this?

Kind regards.

LigH
28th February 2015, 16:48
If the normal AviSynth variant of the same version includes it, then the MT variant includes it too.

bxyhxyh
2nd March 2015, 07:05
Hi, I'm using two sources, is it correct to call SetMTMode(3,2) this way?

SetMTMode(3,2)
source1=lwlibavvideosource("D:\EFG\BDMV\Stream\00000.m2ts")
SetMTMode(3,2)
source2=lwlibavvideosource("00000.m2ts")

SetMTMode(2)
source1.ConvertToY8()
crop(1,0,-1,0)
t=last
mt_lut("x 128 > x 1.1 * x 1.25 * ?")
Overlay(t.crop(1,0,-1,0),1)
addborders(1,0,1,0)
Overlay(last,source2.converttoy8().crop(3,0,-3,0),3)
ConvertToYV12().mergechroma(source2)

Boulder
2nd March 2015, 07:10
You don't need the second SetMTMode(3,2) line, the first one is already applied.

l33tmeatwad
3rd March 2015, 06:30
Updated full installer (http://www.mediafire.com/download/kofmx4apcw0qccz/AviSynthMT_2.6_RC1.exe).

Kein
7th March 2015, 11:08
Is there somewhere a list of known and tested plugins that have issues with MT version? 64 pages is a paint to read.

Selur
7th March 2015, 14:59
Is there somewhere a list of known and tested plugins that have issues with MT version?
No, but if you write one put it into a spreadsheet or something where others can access it. :)

Xor
14th March 2015, 01:00
Updated full installer (http://www.mediafire.com/download/kofmx4apcw0qccz/AviSynthMT_2.6_RC1.exe).

This include last MT dll (2015) directly in setup for X64 Os ?

If use Win2012 X64 just install and finish (without overwriting libraries) ?

Thanks