C0rn3j wrote:Had a quick look, doesn't seem to handle 144FPS
EDIT: Or it does.. how exactly would I need to edit the script for that?
This is the snippet code in my avs script
displayRefreshRate = 60.000
speedup = displayRefreshRate / last.FrameRate
(abs (speedup - 1.00) <= 0.05) ? eval ("""
num = 1
den = 1
""") : eval ("""
num = ContinuedNumerator(speedup)
den = ContinuedDenominator(speedup)
""")
This is in python script for vapoursynth
...
from fractions import Fraction
...
target_fps = 60.000
speedup = target_fps / container_fps
if (abs (speedup - 1.00) <= 0.05):
num = 1
den = 1
else:
denum = Fraction(speedup).limit_denominator()
num = denum.numerator
den = denum.denominator
Change the displayRefreshRate (or target_fps) to your target display.
After that you should edit the global smoothfps_params to be able to be supplied the calculated num and den
In example, I do it like this (in avisynth) :
maskArea = 0
algo = "13"
global smoothfps_params = """
{
rate: {
num: """ + string(num) + """,
den: """ + string(den) + """
},
algo: """ + algo + """,
mask: {
cover: 100,
area: """ + string(maskArea) + """,
area_sharp: 1.0
},
cubic: 1,
linear: true,
scene: {
mode: 3,
limits: {
m1: 1600,
m2: 2800,
scene: 4000,
zero: 200,
blocks: 20
},
luma: 1.5
}
}"""
Below in vapoursynth
...
algo = '13'
maskArea = 0
smooth = core.svp2.SmoothFps(clip, superarg['clip'], superarg['data'],
vectors['clip'], vectors['data'], """
{
rate: {
num: """ + str(num) + """,
den: """ + str(den) + """
},
algo: """ + algo + """,
mask: {
cover: 100,
area: """ + str(maskArea) + """,
area_sharp: 1.0
},
cubic: 1,
linear: false,
scene: {
mode: 3,
limits: {
m1: 1600,
m2: 2800,
scene: 4000,
zero: 200,
blocks: 20
},
luma: 1.5
}
}""", fps=container_fps)
...
Of course I use the script not for encode but only for watching.