Hi All,

I'm missing something about MRecalculate() and I hope you can set me straight. I read that mvtools2.html says
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.
but something prevents me from understanding what it means!

For instance, the example given by mvtools2.html is
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)
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)?