zorr
2nd May 2018, 23:26
Greetings,
While trying some frame reconstruction ideas I stumbled upon a weird phenomena: seems like in some cases the clip length is divided by 2 after MCompensate (using MVTools2 pfmod v2.7.30).
Here's a script which demonstrates this:
AVISource("D:\optimizer\test\Motion Estimation Torture Clip part 3.avi")
orig = last
#return orig # 24 frames
super = MSuper()
#return super # 24 frames
fv = MAnalyse(super, isb = false, delta=2)
bv = MAnalyse(super, isb = true, delta=2)
inter = MFlowInter(super, bv, fv, time=50)
interleaved = Interleave(inter, orig)
#return interleaved # 48 frames
super2 = MSuper(interleaved)
#return super2 # 48 frames
fv2 = MAnalyse(super2, isb = false)
bv2 = MAnalyse(super2, isb = true)
showfv = MShow(super2, fv2)
#return showfv # 48 frames
showbv = MShow(super2, bv2)
#return showbv # 48 frames
f = MCompensate(super2, fv2)
#return f # 24 frames (WHY ?)
b = MCompensate(super2, bv2)
return b # 24 frames (WHY ?)
So first I have a clip with 24 frames. I create another version of it with MFlowInter and then Interleave that with the original, having a total of 48 frames. If I do another pass of MSuper, MAnalyze and MCompensate on that the result only has 24 frames. Both the super clip and the vectors clip given to MCompensate have 48 frames but the output has 24 frames.
So is this the way it's supposed to work or did I encounter a bug?
Thanks.
While trying some frame reconstruction ideas I stumbled upon a weird phenomena: seems like in some cases the clip length is divided by 2 after MCompensate (using MVTools2 pfmod v2.7.30).
Here's a script which demonstrates this:
AVISource("D:\optimizer\test\Motion Estimation Torture Clip part 3.avi")
orig = last
#return orig # 24 frames
super = MSuper()
#return super # 24 frames
fv = MAnalyse(super, isb = false, delta=2)
bv = MAnalyse(super, isb = true, delta=2)
inter = MFlowInter(super, bv, fv, time=50)
interleaved = Interleave(inter, orig)
#return interleaved # 48 frames
super2 = MSuper(interleaved)
#return super2 # 48 frames
fv2 = MAnalyse(super2, isb = false)
bv2 = MAnalyse(super2, isb = true)
showfv = MShow(super2, fv2)
#return showfv # 48 frames
showbv = MShow(super2, bv2)
#return showbv # 48 frames
f = MCompensate(super2, fv2)
#return f # 24 frames (WHY ?)
b = MCompensate(super2, bv2)
return b # 24 frames (WHY ?)
So first I have a clip with 24 frames. I create another version of it with MFlowInter and then Interleave that with the original, having a total of 48 frames. If I do another pass of MSuper, MAnalyze and MCompensate on that the result only has 24 frames. Both the super clip and the vectors clip given to MCompensate have 48 frames but the output has 24 frames.
So is this the way it's supposed to work or did I encounter a bug?
Thanks.