No problem.
Which contains the following.
#------------------------------------------------------------------------------#
# #
# InterFrame 1.12.1 by SubJunk #
# #
# A frame interpolation script that primarily uses MVTools2 for making #
# accurate estimations about the content of non-existent frames #
# Its main use is to give videos higher framerates like newer TVs do #
#------------------------------------------------------------------------------#
# For instructions and further information see the included InterFrame.html
# For news go to spirton.com
realpal=true
FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\"
GPU=true
NewNum=50
NewDen=1
Tuning="Film"
svp_scheduler=true
Setmemorymax(1024)
svp_cache_reduce=true
SetMTMode(1,16)
Input = ffdshow_source()
SetMTMode(2)
(Input.Framerate == 25 && realpal == true) ? Eval("""
Preset="Medium"
""") : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
Preset="Medium"
""") : (Input.Height <= 720) ? Eval ("""
Preset="Medium"
""") : Eval("""
Preset="Mark"
""")
# Create processed clip for slower presets
Preset == "Mark" || Preset == "Placebo" || Preset == "Medium" || Preset == "Fast" || Preset == "Faster" ? Eval("""
ProcessedSource = Input.RemoveGrain(mode=17)
""") : Eval("""
# Don't want ProcessedSource
""")
# Set variables controlled by Tuning
BlockSize = (Tuning == "Film" || Tuning == "Animation") ? 16 : \
(Tuning == "Weak") ? 32 : 16
Overlap1 = (Tuning == "Animation") ? 0 : 4
Overlap2 = (Tuning == "Animation") ? 0 : 2
Algo = (Tuning == "Smooth") ? 23 : 13
SadML = (Tuning == "Smooth") ? 150 : 0
# Create super clip/s
SuperRegular = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)
Preset == "Placebo" ? Eval("""
CustomLuma = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.25 )
CustomChroma = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.5 , src_top=0.5)
CustomPelClip = MergeChroma(CustomLuma, CustomChroma, 1)
Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4, pelclip=CustomPelClip)
""") : Preset == "Medium" ? Eval("""
Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
""") : Preset == "Mark" ? Eval("""
Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
""") : Eval("""
Super = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)
""")
# Make interpolation vector clip
Preset == "Ultra Fast" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
""") : Preset == "Super Fast" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
""") : Preset == "Very Fast" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2)
forward = MRecalculate(Super, forward, blksize=8, overlap=Overlap2)
""") : Preset == "Faster" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
forward = MRecalculate(Super, forward, blksize=8, overlap=Overlap2, search=3)
""") : Preset == "Fast" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
forward = MRecalculate(Super, forward, blksize=8, overlap=Overlap2, search=3)
""") : Preset == "Medium" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
forward = MRecalculate(Super, forward, blksize=8, overlap=Overlap2, search=3, dct=5)
""") : Preset == "Mark" ? Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
backward = MRecalculate(Super, backward, blksize=8, search=3,searchparam=1)
forward = MRecalculate(Super, forward, blksize=8, search=3,searchparam=1)
""") : Eval("""
backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
forward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
forward = MRecalculate(Super, forward, blksize=8, overlap=Overlap2, search=3, dct=5)
""")
# Determine new framerate
NewNum != 0 ? Eval("""
# Use user values
""") : Input.Framerate == 25 ? Eval("""
NewNum = 50
NewDen = 1
""") : Input.Framerate == 30 ? Eval("""
NewNum = 60
NewDen = 1
""") : Eval("""
NewNum = 60000
NewDen = 1001
""")
# See whether to use GPU-acceleration or not
svp_flow_lib = GPU == true ? FlowPath+"libflowgpu.dll" : FlowPath+"libflowsse.dll"
Finest = GPU == true ? SuperRegular : MFinest(Input, SuperRegular)
(Input.Framerate == 50 && realpal == false) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=5208333, den=100000, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)
""") : (Input.Framerate == 25 && realpal == true) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)
""") : (Input.Framerate <= 29) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=NewNum, den=NewDen, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)
""") : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)
""") : Eval ("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)
""")
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last