function salFPS( \ clip input, float FPS, \ int "mode", int "protection", int "protection2", \ int "iterate", int "reset", int "initialise") { mode = default(mode, warpfast) protection = default(protection, 80) protection2 = default(protection2, 32) iterate = default(iterate, 2) reset = default(reset, 50) initialise = default(initialise, 6) originalFPS = input.framerate() input mp = FindMotion(iterate = iterate, reset = reset, \ initialise = initialise) p = MotionFPS(FPS,mode,Motion = mp) maskp = mp.SumStretchFPSMask(FPS, protection) mn = FindMotion(iterate = iterate, reset = reset, \ initialise = initialise, from = next) n = MotionFPS(FPS,mode,Motion = mn, source = next) maskn = mn.SumStretchFPSMask(FPS, protection, source = next) maskp assumeFPS(originalFPS) tehmask=last.CombineFPS(FPS, maskp, maskn) last.CombineFPS(FPS, maskp, maskn.Invert()) bilinearresize(width*8, height*8) crop(0, 0, input.width(), input.height()) fity2uv() mpro=last tehmask mt_binarize(protection2,false) mt_expand() mt_inflate() bicubicresize(width*8, height*8,1,0) crop(0, 0, input.width(), input.height()) fity2uv() tehmask=last mt_merge(p, n, mpro, u=3, v=3) mt_merge(last,input.blendfps(FPS),tehmask, u=3,v=3) #merge(last,tehmask.greyscale(),.5) }