JohnFPS

From Avisynth wiki
Jump to: navigation, search
Abstract
Author johnmeyer, StainlessS
Version
Download Script
Category Frame Rate Converters
License GPLv2
Discussion

Contents

Description

Frame Rate Converter based on the example from the MVTools documentation with some modifications. This script is also known as "jm_fps".

Requirements

Required Plugins

Latest versions of the following filters are recommended unless stated otherwise.


Syntax and Parameters

JohnFPS (clip c, val "num", int "den", int "Sharp", int "rFilter", int "BlkSize", int "Search", int "dct", float "ml", int "Mask", bool "Blend")


clip   =
Input clip.


val  num =
int  den =
Specify FrameRate using num (Numerator) and den (Denominator):
num only,  eg num=25.0:            FrameRate = 25.0  FPS
num & den, eg num=24000, den=1001: FrameRate = 23.976 FPS (Both should be type Int).
neither parameter specified:       FrameRate = Double input framerate.


int  Sharp = 1
MSuper parameter; sub-pixel interpolation method.
  • 0 : soft interpolation (bilinear).
  • 1 : bicubic interpolation (4 tap Catmull-Rom)
  • 2 : sharper Wiener interpolation (6 tap, similar to Lanczos).


int  rFilter = 4
MSuper parameter; hierarchical levels smoothing and reducing (halving) filter.
  • 0 : simple 4 pixels averaging like unfiltered SimpleResize (old method)
  • 1 : triangle (shifted) filter like ReduceBy2 for more smoothing (decrease aliasing)
  • 2 : triangle filter like BilinearResize for even more smoothing
  • 3 : quadratic filter for even more smoothing
  • 4 : cubic filter like BicubicResize(b=1,c=0) for even more smoothing


int  BlkSize = 16
Block size for MAnalyze and MRecalculate. Some suggestions:
  • 8 - for 320x240 (WEB)
  • 16 - for 720x576 (SD)
  • 32 - for 1280x720 (720p HD)
  • 32 - for 1920x1080 (1080p HD)


int  Search = 3
MAnalyse parameter; search decides the type of search at every level.
  • search = 0 : 'OneTimeSearch'.
  • search = 1 : 'NStepSearch'. It's the most well known of the MV search algorithm.
  • search = 2 : Logarithmic search, also named Diamond Search.
  • search = 3 : Exhaustive search. It is slow, but it gives the best results, SAD-wise.
  • search = 4 : Hexagon search (similar to x264).
  • search = 5 : Uneven Multi Hexagon (UMH) search.
  • search = 6 : pure Horizontal exhaustive search.
  • search = 7 : pure Vertical exhaustive search.


int  dct = 0
MAnalyse parameter; using of block DCT (frequency spectrum) for blocks difference (SAD) calculation. In particular it can improve motion vector estimation at luma flicker and fades.
  • 0 - usual spatial blocks, do not use DCT;
  • 1 - use block DCT instead of spatial data (slow for block size 8x8 and very slow for other sizes);
  • 2 - mixed spatial and DCT data; weight is dependent on mean frame luma difference;
  • 3 - adaptive per-block switching from spatial to equal-weighted mixed mode (experimental, a little faster).
  • 4 - adaptive per-block switching from spatial to mixed mode with more weight of DCT (experimental, a little faster).
  • 5 - SATD instead of SAD for luma
  • 6 - same as 2 only use SATD
  • 7 - same as 3 only use SATD
  • 8 - same as 4 only use SATD
  • 9 - similar to 2, use SATD and weight ranges from SAD only to equal SAD & SATD
  • 10 - similar to 3/4,use SATD weight is on SAD, only on strong luma changes


float  ml = 200.0
MFlowFps parameter; mask scale parameter. The greater values are corresponded to more weak occlusion mask.


int  Mask = 2
MFlowFps parameter; processing mask mode:
  • mask=0 is simple backward and forward occlusion masks (fastest);
  • mask=1 is similar masks with additional switching to static zero vectors at occlusion area;
  • mask=2 is for using extra vectors from adjacent frames for decreasing objects halo at occlusion areas (slowest).


bool  Blend = false
MFlowFps parameter; blend frames at scane change like ConvertFps if true, or repeat last frame like ChangeFps if false.


Examples

JohnFPS with default settings:

AviSource("blah.avi")
JohnFPS() # doubles the frame rate


Changelog

Version                 Date            Changes
TODO


External Links




Back to External Filters

Personal tools