View Full Version : I try to make my own script but I need help with function :MVRecalculate
dadix
3rd February 2012, 00:15
My script for remove noise: backward_vectors = source.MVAnalyse(isb = true,truemotion=true,delta = 1,idx = 1,pel=2)
forward_vectors = source.MVAnalyse(isb = false,truemotion=true,delta = 1,idx = 1,pel=2)
forward_compensation = source.MVFlow(forward_vectors, idx=1)
backward_compensation = source.MVFlow(backward_vectors, idx=1)
backward_re = MVRecalculate(source,backward_vectors, idx=2,blksize=4, thSAD=48)
forward_re=MVRecalculate(source,forward_vectors, idx=2,blksize=4, thSAD=48)
interleave(backward_re, source,forward_re)
selectevery(3,1)
dfttest(dither=1,tbsize=3)
Error: Interleave:videos must be of the same size.
What is wrong and why?
Asmodian
3rd February 2012, 01:21
MVRecalculate() gives a vector clip, like MVAnalyse(), not a normal video clip. Don't try to interleave its results with the source video.
edit: maybe you wanted this?
backward_vectors = source.MVAnalyse(isb = true,truemotion=true,delta = 1,idx = 1,pel=2)
forward_vectors = source.MVAnalyse(isb = false,truemotion=true,delta = 1,idx = 1,pel=2)
backward_re = MVRecalculate(source,backward_vectors, idx=2,blksize=4, thSAD=48)
forward_re = MVRecalculate(source,forward_vectors, idx=2,blksize=4, thSAD=48)
forward_compensation = source.MVFlow(forward_re, idx=1)
backward_compensation = source.MVFlow(backward_re, idx=1)
interleave(backward_compensation, source, forward_compensation )
selectevery(3,1)
dfttest(dither=1,tbsize=3)
dadix
3rd February 2012, 10:57
i whant to recalculate the result of function MVFlow ,but for grup of pixel (4x4, in this case) if this is possible ...
From what i understand, MVCompensate only give a motion compensation by the "thSAD" not by block size, which means that it is not precise enough.
So I think this backward_vectors = source.MVAnalyse(isb = true,truemotion=true,delta = 1,idx = 1,pel=2)
forward_vectors = source.MVAnalyse(isb = false,truemotion=true,delta = 1,idx = 1,pel=2)
forward_compensation = source.MVFlow(forward_vectors, idx=1)
backward_compensation = source.MVFlow(backward_vectors, idx=1)
backward_re = MVRecalculate(source,backward_vectors, idx=2,blksize=4, thSAD=48)
forward_re=MVRecalculate(source,forward_vectors, idx=2,blksize=4, thSAD=48)
selectevery(3,1)
dfttest(dither=1,tbsize=3)
will decrease the effect of ghost.But do not know how to derive a clip from this script.
# I think MVFlow,MVCompensate and other function from MvTools must have "SAD" and "blksize".
#I do not know if what I said is 100% true, I pulled this conclusion in light of what I read so far, please do not throw with stones. :)
Asmodian
3rd February 2012, 22:26
So I think you don't understand something, not that I am an expert with MVTools.
You do not want to "recalculate the result of function MVFlow". The result of MVFlow is a clip. You want to recalculate the motion vectors found by MVAnalyse(), which is what MVRecalculate is for. You then use these optimized vectors in MVFlow.
dadix
4th February 2012, 09:47
Asmodian, now I understand, thank you for your patience. :)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.