This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[BUG] Script OutputFPS (59.94 fps) and expected fps (29.97) differ!
#7
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,... Sad)
Okay, I see the problem, the frame rate calculation reports:
adjusted due to interpolate frame rate to: frame rate:  29.97fps, frame count: 242325
whereas the Vapoursynth script does not contain and such adjustment:
# 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.
Reply


Messages In This Thread
RE: Script OutputFPS (59.94 fps) and expected fps (29.97) differ! - by Selur - 05.06.2024, 05:32

Forum Jump:


Users browsing this thread: 1 Guest(s)