Your debug output starts with version 2024.05.11.1, I assume the start is old. (so reading 2/3 of the log is a waste,... )
Okay, I see the problem, the frame rate calculation reports:
whereas the Vapoursynth script does not contain and such adjustment:
"adjusted due to interpolate frame rate to" should only be used if 'Speed Change->Speed Settings->Interpolate frame rate' is enabled.
=> Why did you enable this? (I will adjust Hybrid to better handle this, but are you sure this is what you wanted? This will slow down the playback speed to half-speed and turn everything to slow motion,...)
Cu Selur
Okay, I see the problem, the frame rate calculation reports:
adjusted due to interpolate frame rate to: frame rate: 29.97fps, frame count: 242325
# Import scripts
import edi_rpow2
import havsfunc
import validate
# Source: 'J:\Temp\Test.avi'
# Current color space: YUV422P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg
# Loading J:\Temp\Test.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="J:/Temp/Test.avi", format="YUV422P8", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# Setting detected color matrix (470bg).
clip = core.std.SetFrameProps(clip=clip, _Matrix=5)
# setting color transfer (170), if it is not set.
if validate.transferIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Transfer=6)
# setting color primaries info (to 470), if it is not set.
if validate.primariesIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Primaries=5)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=1)
# making sure frame rate is set to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# making sure the detected scan type is set (detected: top field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=2) # tff
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Slow", InputType=0, TFF=True, TR2=1, Sharpness=0.1, SourceMatch=3, Lossless=2, MatchPreset="Slow", MatchEnhance=0.00) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=0) # progressive
clip = core.std.CropRel(clip=clip, left=12, right=12, top=0, bottom=12)# cropping to 696x468
# resizing using NNEDI3CL
# current: 696x468 target: 1606x1080 -> pow: 4
clip = edi_rpow2.nnedi3cl_rpow2(clip=clip, rfactor=4, nsize=3, nns=4) # 2784x1872
# adjusting resizing
clip = core.fmtc.resample(clip=clip, w=1606, h=1080, kernel="lanczos", interlaced=False, interlacedd=False)# before YUV422P8 after YUV422P16
# adjusting output color from: YUV422P16 to YUV420P8 for x264Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited", dither_type="error_diffusion")
# set output frame rate to 59.94fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=60000, fpsden=1001)
# output
clip.set_output()
"adjusted due to interpolate frame rate to" should only be used if 'Speed Change->Speed Settings->Interpolate frame rate' is enabled.
=> Why did you enable this? (I will adjust Hybrid to better handle this, but are you sure this is what you wanted? This will slow down the playback speed to half-speed and turn everything to slow motion,...)
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.