crOOk
2nd November 2003, 23:49
Hello everyone!
I was bored so I created an avs filter named DoubleFramerate. It is supposed to give you a smoother playback (e.g. used with ffvfw when playing back avs files). I simply created frames between each pair of frames by averaging the two surrounding frames.
So basically this filter works like DoubleWeave(), but instead of combining two fields, it uses the average of each frame.
I don't know if it does any good, yet. Maybe some of you (the ones with good eyes, which I lack) would like to try it and tell me if it really creates a smoother vision. I hope I'll get some feedback.
# DoubleFramerate by crOOk
#
# Tries to create smooth vision for the purpose of playback by
# inserting blended frames between each pair of frames, resulting
# in a clip with twice the framecount and framerate.
#
Function DoubleFramerate( clip input) {
Even=input.SelectEven()
Odd=input.SelectOdd()
DoubleEven=ChangeFPS(Even,25.000)
DoubleOdd=ChangeFPS(Odd,25.000).DuplicateFrame(0)
Mixed=Layer(DoubleOdd,DoubleEven,"fast",255,0,0)
Interleaved=Interleave(input,Mixed)
Return Interleaved.DeleteFrame(Framecount(Interleaved)).DeleteFrame(Framecount(Interleaved))
}
crOOk
I was bored so I created an avs filter named DoubleFramerate. It is supposed to give you a smoother playback (e.g. used with ffvfw when playing back avs files). I simply created frames between each pair of frames by averaging the two surrounding frames.
So basically this filter works like DoubleWeave(), but instead of combining two fields, it uses the average of each frame.
I don't know if it does any good, yet. Maybe some of you (the ones with good eyes, which I lack) would like to try it and tell me if it really creates a smoother vision. I hope I'll get some feedback.
# DoubleFramerate by crOOk
#
# Tries to create smooth vision for the purpose of playback by
# inserting blended frames between each pair of frames, resulting
# in a clip with twice the framecount and framerate.
#
Function DoubleFramerate( clip input) {
Even=input.SelectEven()
Odd=input.SelectOdd()
DoubleEven=ChangeFPS(Even,25.000)
DoubleOdd=ChangeFPS(Odd,25.000).DuplicateFrame(0)
Mixed=Layer(DoubleOdd,DoubleEven,"fast",255,0,0)
Interleaved=Interleave(input,Mixed)
Return Interleaved.DeleteFrame(Framecount(Interleaved)).DeleteFrame(Framecount(Interleaved))
}
crOOk