16.10.2024, 11:53
(16.10.2024, 09:11)Selur Wrote: Images do not help,...
What does the Vapoursynth Script look like? (is it vs_colorfix called?)
Does it work in the Vapoursynth Preview?
In case it's called and does not work in the Vapoursynth Preview, did you try adjusting the parameters?
I actually don't see it in the script it is not being called,, i am using same parameters as the other example, On a fresh Hybrid Launch i can find it in the script what could be causing this, Script below if you have an idea. Thanks. (Side note irrelevant, but doing vsmlrt with stepped resize 2 and CAS as sharpening in the same section results in half green video sections on encode but not in preview, already found alternative to for this, LSFMod Works)
# Imports
import vapoursynth as vs
# getting Vapoursynth core
import site
import ctypes
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = 'I:/AI_Upscale/Tools/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
os.environ["CUDA_MODULE_LOADING"] = "LAZY"
# loading plugins
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/SharpenFilter/CAS/CAS.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/Support/libvs_placebo.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/DenoiseFilter/DGDenoise/DGDenoise.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vs-mlrt/vstrt.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/DenoiseFilter/FluxSmooth/libfluxsmooth.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/DerainbowFilter/SmoothUV/libsmoothuv.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/Support/EEDI3m.dll")# vsQTGMC
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/Support/scenechange.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")
# Import scripts
from importlib.machinery import SourceFileLoader
vsmlrt = SourceFileLoader('vsmlrt', 'I:/AI_Upscale/Tools/Hybrid/64bit/vs-mlrt/vsmlrt.py').load_module()
import RainbowSmooth
import lostfunc
import havsfunc
import validate
# Source: 'I:\AI_Upscale\.Upscale Projects\03. DVD To Deinterlace\16x9 NTCS\TV Series 01.mkv'
# Current color space: YUV420P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, format: mpeg-2
# Loading I:\AI_Upscale\.Upscale Projects\03. DVD To Deinterlace\16x9 NTCS\TV Series 01.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="I:/AI_Upscale/.Upscale Projects/03. DVD To Deinterlace/16x9 NTCS/TV Series 01.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
# setting color transfer (vs.TRANSFER_BT601), if it is not set.
if validate.transferIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601)
# setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
if validate.primariesIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# 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=vs.FIELD_TOP) # tff
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Slower", TFF=True) # new fps: 29.97
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = clip[::2] # selecting previously even frames
clip = lostfunc.DeSpot(o=clip)
# rainbow removal using RainbowSmooth
clip = RainbowSmooth.RainbowSmooth(clip=clip)
# removing grain using STPresso
clip = havsfunc.STPresso(clp=clip)
from vsmlrt import Backend
# changing range from limited to full range for vsSCUNetmlrt
clip = core.resize.Bicubic(clip, range_in_s="limited", range_s="full")
# setting color range to PC (full) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_FULL)
# adjusting color space from YUV420P8 to RGBH for vsSCUNetmlrt
clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="full")
# denosing using SCUNet (mlrt)
clip = vsmlrt.SCUNet(clip, model=4, overlap=16, backend=Backend.TRT(fp16=True,device_id=0,verbose=True,use_cuda_graph=False, num_streams=1,builder_optimization_level=3,engine_folder="I:/AI_Upscale/.Upscale Projects/Engines"))
# changing range from full to limited range for vsSCUNetmlrt
clip = core.resize.Bicubic(clip, range_in_s="full", range_s="limited")
# adjusting color space from RGBH to YUV444P16 for vsDGDenoise
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="limited")
# denoising using DGDenoise
clip = core.dgdenoise.DGDenoise(clip=clip, strength=0.13, blend=0.00, cblend=0.00, searchw=5)
with open("I:/AI_Upscale/Tools/Hybrid/64bit/vsfilters/GLSL/parameterized/CAS.glsl") as glslf:
glsl = glslf.read()
glsl = glsl.replace('#define SHARPENING 0.0', '#define SHARPENING 0')
glsl = glsl.replace('#define CAS_BETTER_DIAGONALS 1', '#define CAS_BETTER_DIAGONALS 1')
glsl = glsl.replace('#define CAS_GO_SLOWER 0', '#define CAS_GO_SLOWER 0')
glsl = glsl.replace('#define SOURCE_TRC 0', '#define SOURCE_TRC 0')
glsl = glsl.replace('#define TARGET_TRC 0', '#define TARGET_TRC 0')
clip = core.placebo.Shader(clip=clip, shader_s=glsl, width=clip.width, height=clip.height)
# Using FastLineDarkenMOD for line darkening
clip = havsfunc.FastLineDarkenMOD(c=clip)
# changing range from limited to full range for vsVSMLRT
clip = core.resize.Bicubic(clip, range_in_s="limited", range_s="full")
# setting color range to PC (full) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_FULL)
# adjusting color space from YUV444P16 to RGBH for vsVSMLRT
clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="full")
# Step 1: current: 720x480, target: 788x480
# resizing using VSMLRT
clip = vsmlrt.inference([clip],network_path="I:/AI_Upscale/Tools/Hybrid/64bit/onnx_models/2x_Pooh_V4_Candidate_2_422k.onnx", backend=Backend.TRT(fp16=True,device_id=0,num_streams=1,verbose=True,use_cuda_graph=False,workspace=1073741824,builder_optimization_level=3,engine_folder="I:/AI_Upscale/.Upscale Projects/Engines"))
# resizing 1440x960 to 788x480
# adjusting resizing
clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, range_s="full")
clip = core.fmtc.resample(clip=clip, w=788, h=480, kernel="spline64", interlaced=False, interlacedd=False)
# sharpening stepped resize using LSFMod
# adjusting color space from RGBS to YUV444P16 for vsLSFMod
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="full", dither_type="error_diffusion")
clip = havsfunc.LSFmod(input=clip)
# adjusting color space from YUV444P16 to RGBH for vsVSMLRT
clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="full")
# Step 2: current: 788x480, target: 852x480
# resizing using VSMLRT
clip = vsmlrt.inference([clip],network_path="I:/AI_Upscale/Tools/Hybrid/64bit/onnx_models/2x_Pooh_V4_Candidate_2_422k.onnx", backend=Backend.TRT(fp16=True,device_id=0,num_streams=1,verbose=True,use_cuda_graph=False,workspace=1073741824,builder_optimization_level=3,engine_folder="I:/AI_Upscale/.Upscale Projects/Engines"))
# resizing 1576x960 to 852x480
# adjusting resizing
clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, range_s="full")
clip = core.fmtc.resample(clip=clip, w=852, h=480, kernel="spline64", interlaced=False, interlacedd=False)
# changing range from full to limited range for vsVSMLRT
clip = core.resize.Bicubic(clip, range_in_s="full", range_s="limited")
# adjusting output color from: RGBS to YUV420P10 for x265Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, matrix_s="470bg", range_s="limited", dither_type="error_diffusion")
# set output frame rate to 29.97fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# output
clip.set_output()