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.

[HELP] 25i to 29.97i with interpolation
seems like a missing dependency, will send you a link to a new dev version which should fix the issue.
Post a new script then and use 'code'-tags to make it more readable.

Cu Selur
Just installed Hybrid_dev_2022.06.30-53635.exe.

A new error message:

2022-06-30 13:47:09.587
Failed to evaluate the script:
Python exception: No module named 'vsutil'

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 2890, in vapoursynth._vpy_evaluate
File "src\cython\vapoursynth.pyx", line 2891, in vapoursynth._vpy_evaluate
File "S:\Ghostwatch\Ghostwatch-Temp\tempPreviewVapoursynthFile13_47_08_625.vpy", line 29, in
import G41Fun
File "C:\Program Files\Hybrid\64bit\vsscripts\", line 4, in
import havsfunc as haf
File "C:\Program Files\Hybrid\64bit\vsscripts\", line 70, in
from vsutil import Dither, depth, fallback, get_depth, get_y, join, plane, scale_value
ModuleNotFoundError: No module named 'vsutil'

From Script:

# Imports
import vapoursynth as vs
import os
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
import sys
# getting Vapoursynth core
core = vs.core
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SharpenFilter/CAS/CAS.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/Cnr2/libcnr2.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/HQDN3D/libhqdn3d.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/EEDI3m.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/scenechange.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import G41Fun
import mvsfunc
import havsfunc
# source: 'S:\Ghostwatch\Ghostwatch-In\Ghostwatch_LDPS505T_TX31-10-1992-Apple ProRes 422'
# current color space: YUV422P10, bit depth: 10, resolution: 720x576, fps: 25, color matrix: 170m, yuv luminance scale: limited, scanorder: top field first
# Loading S:\Ghostwatch\Ghostwatch-In\Ghostwatch_LDPS505T_TX31-10-1992-Apple ProRes 422 using LWLibavSource
clip = core.lsmas.LWLibavSource(source="S:/Ghostwatch/Ghostwatch-In/Ghostwatch_LDPS505T_TX31-10-1992-Apple ProRes 422", format="YUV422P10", cache=0, fpsnum=25, prefer_hw=0)
# Setting color matrix to 170m.
clip = core.std.SetFrameProps(clip, _Matrix=6)
clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=6)
clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=5)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# ColorMatrix: adjusting color matrix from 170m to 709
# adjusting luma range to 'limited' due to post clipping
clip = core.resize.Bicubic(clip=clip, matrix_in_s="170m", matrix_s="709", range_in=0, range=0)
# cropping the video to 720x572
clip = core.std.CropRel(clip=clip, left=0, right=0, top=2, bottom=2)
# converting interlaced to half-height progressive for filtering (vsMLDegrain) (QTGMC(preset="Fast"))
clip = havsfunc.QTGMC(Input=clip, Preset="Fast", Lossless=2, TFF=True) # new fps: 50
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0)
# adjusting color space from YUV422P10 to YUV444P8 for vsMLDegrain
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P8, range_s="limited", dither_type="error_diffusion")
# removing grain using MLDegrain
clip = G41Fun.MLDegrain(clip=clip, tr=1, soft=[0,0,0])
# denoising using HQDN3D
clip = core.hqdn3d.Hqdn3d(clip=clip, lum_spac=0.00, chrom_spac=7.00, chrom_tmp=10.50)
# adjusting color space from YUV444P8 to YUV422P8 for vsCnr2
clip = core.resize.Bicubic(clip=clip, format=vs.YUV422P8, range_s="limited")
# chroma denoising using VsCnr2
clip = core.cnr2.Cnr2(clip=clip, mode="oxx")
# contrast sharpening using CAS
clip = core.cas.CAS(clip=clip)
# adjusting color space from YUV422P8 to YUV420P8 for Interframe
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited")
# Not using InterFrame since input (50) is less or equal target (29.77) fps!
# Resizing using 10 - bicubic spline
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=1486, h=1080, interlaced=False, interlacedd=False) # resolution 1486x1080
# converting progressive to interlaced for 'progressive to interlaced'
clip = core.std.SeparateFields(clip=clip, tff=True)
clip = core.std.SelectEvery(clip=clip, cycle=4, offsets=[0, 3])
clip = core.std.DoubleWeave(clip=clip, tff=True) # resolution 1486x1080
clip = core.std.SelectEvery(clip=clip, cycle=2, offsets=0) # new fps: 25
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# adjusting output color from: YUV420P16 to YUV422P10 for ProResModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV422P10, range_s="limited", dither_type="error_diffusion")
# set output frame rate to 29.770fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=2977, fpsden=100)
# Output
Took me a bit, but I found the issue.
In side the "Hybrid/64bit/Vapoursynth"-folder there is a file named 'python310._pth', change it's content to:
# Uncomment to run site.main() automatically
#import site
this should fix the issue by allowing Vapoursynth to find the files in "Hybrid\64bit\Vapoursynth\Lib\site-packages\".

Cu Selur
I am unable to save ot - I tried notepad but I do not have the correct permission?
Okay, try:
1st copy the file to your desktop
2nd edit the file there
3rd copy it back
this way Windows should ask for permission to save it there.

Cu Selur
yeah, like I wrote before interlaced output is kind of broken. Smile

Not using InterFrame bevccause the current fps (50) is less or equal target (29.97)
No sure why that happens, I'm looking into it.
Why are you aiming for 50fps?
I'm not. Perhaps it's reading 25fps as 50 for some reason? I'm aiming for 29.97 outpit.
Can't reproduce this here.
Please take a screenshot of you Interframe settings and post it.

Cu Selur

Forum Jump:

Users browsing this thread: 1 Guest(s)