I'm missing something about MRecalculate() and I hope you can set me straight. I read that mvtools2.html says
but something prevents me from understanding what it means!Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors with different super clip or new parameters set (e.g. lesser block size), after divide, etc. The two-stage method may be also useful for more stable (robust) motion estimation.
For instance, the example given by mvtools2.html is
I understand that motion vectors from a prefiltered clip should generally be stabler and that afterwards you'd use those with your actual input clip, but what's the benefit in the example of doing MAnalyse(blksize=16) followed by MRecalculate(blksize=8), compared to just MAnalyse(blksize=8)?Code:AVISource("c:\test.avi") # or MPEG2Source, DirectShowSource, some previous filter, etc prefiltered = DeGrainMedian() # some smoothing super = MSuper(hpad=16, vpad=16, levels=1) # one level is enough for MRecalculate superfilt = MSuper(prefiltered, hpad=16, vpad=16) # all levels for MAnalyse backward = MAnalyse(superfilt, isb = true, blksize=16) forward = MAnalyse(superfilt, isb = false, blksize=16) # recalculate for original source clip and other block size forward_re = MRecalculate(super, forward, blksize=8, thSAD=100) backward_re = MRecalculate(super, backward, blksize=8, thSAD=100) MFlowFps(super, backward_re, forward_re, num=50, den=1)
+ Reply to Thread
Results 1 to 1 of 1
Thread: When to use MRecalculate()