View Single Post
Old 8th December 2011, 17:26   #3  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,352
ah, yes. I was thinking source was originally 29.97, hence assuming that type of interlacing where you discard half the dups. But seems it originally was 60fps, so 2 frames to add. It didn't look so a big gap to fill.

In this case Interframe doesn't work because it tries to even the temporal difference touching correct frames: A,B,E,F etc

So I used mflowfps, I ended up with this script, just left bob to be replaced. I added the variable "b" because the source is composed of numerous trims, so it was going to be a pain to manual edit each of those, I just wonder if I'm gonna have a problem if I go out of range like selectevery(2,1,2)

Code:
### Deblock
SeparateFields()
Deblock_QED(quant1=20, quant2=30)


### Averaging repeated fields
b=0
e=mt_average(selectevery(4,b),selectevery(4,b+2),u=3,v=3)
o=mt_average(selectevery(4,b+1),selectevery(4,b+3),u=3,v=3)


### Remove Dups
interleave(e,o) # fields...
weave           # 15fps (interlaced)
bob             # back to 30fps. Working in frames now.
assumefps(30)


### Frame interpolation
super = MSuper(pel=2)
backward_vec = MAnalyse(super, overlap=4, isb = true, search=3)
forward_vec = MAnalyse(super, overlap=4, isb = false, search=3)
MFlowFps(super, backward_vec, forward_vec, num=90,den=1)


### Back to source framerate
SelectEvery(6,b,b+3,b+4,b+5)
AssumeFPS(60000,1001)
I also discovered FillDropsI() while searching, I thought it was going to work as per description, but it didn't : /

Last edited by Dogway; 8th December 2011 at 17:33.
Dogway is offline   Reply With Quote