logo Sign In

Post #982071

Author
Chewtobacca
Parent topic
Motion Compensated Frame Rate Conversion -- free/cheap alternative?
Link to post in topic
https://originaltrilogy.com/post/id/982071/action/topic#982071
Date created
11-Aug-2016, 6:32 PM

For the second option in my post above, I deinterlaced the clip with QTGMC and then used SmoothFPS2, which uses MVTools.

function SmoothFPS2(clip source, int num, int den) { 
super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
backward_1 = MAnalyse(super, chroma=false, isb=true, \
blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
forward_1 = MAnalyse(super, chroma=false, isb=false, \
blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, \
blksize=8, searchparam=1, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, \
blksize=8, searchparam=1, search=3)
backward_3 = MRecalculate(super, chroma=false, backward_2, \
blksize=4, searchparam=0, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, \
blksize=4, searchparam=0, search=3)
MBlockFps(source, super, backward_3, forward_3, num, den, mode=0)
}

MPEG2Source("25i Thomas.d2v")
QTGMC()
SmoothFPS2(60000,1001)

EDIT: Here’s an improvement. Replace the second part (that is, after the function) with what follows.

MPEG2Source("25i Thomas.d2v")
QTGMC()
SmoothFPS2(60,1)
ChangeFPS(60000,1001)

This is better (as far as I’m concerned) because the video goes from 50p to 60p before being brought down to 59.94fps, resulting in fewer interpolated frames. Using ChangeFPS() results in one frame in every 1001 being discarded, but with so many interpolated frames, it hardly matters. And it’s better than calling AssumeFPS() and having to adjust the audio (at least to me).