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] Resize Keeps Changing on its own when Starting a Batch Queue, Please fix this.
#45
What I did
  • Start Hybrid
  • Load a Source file
  • Enabled 'Filtering->Vapoursynth->Frame->Resize->Resizer', chose 'VSMLRT' and selected a model.
  • Enabled 'Filtering->Vapoursynth->Frame->Stabilize->Temporalfix' and set '[10 20]' as 'Exclude'.
  • Adjusted 'Filtering->Vapoursynth->Misc->Filter Order/Queue' by moving 'Temporalfix' behind 'Resize'
  • Checked the Vapoursynth Script View
    # Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import site import sys import os core = vs.core # Import scripts folder scriptPath = 'F:/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) os.environ["CUDA_MODULE_LOADING"] = "LAZY" # Loading Support Files Dllref = ctypes.windll.LoadLibrary("F:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # loading plugins core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libmotionmask.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/ColorFilter/Retinex/Retinex.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/CTMF/CTMF.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/TCanny.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libfillborders.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libtemporalmedian.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libmvtools.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vs-mlrt/vstrt.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll") # Import scripts import vs_temporalfix from importlib.machinery import SourceFileLoader vsmlrt = SourceFileLoader('vsmlrt', 'F:/Hybrid/64bit/vs-mlrt/vsmlrt.py').load_module() import validate # Source: 'G:\TestClips&Co\files\test.avi' # Current color space: YUV420P8, bit depth: 8, resolution: 640x352, frame rate: 25fps, scanorder: progressive, yuv luminance scale: limited, matrix: 470bg, format: MPEG-4 Visual # Loading G:\TestClips&Co\files\test.avi using LWLibavSource clip = core.lsmas.LWLibavSource(source="G:/TestClips&Co/files/test.avi", 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 25fps clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # making sure the detected scan type is set (detected: progressive) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive # 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 YUV420P8 to RGBH for vsVSMLRT clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="full") # resizing using VSMLRT from vsmlrt import Backend clip = vsmlrt.inference([clip],network_path="F:/Hybrid/64bit/onnx_models/2x_AnimeJaNai_Standard_V1_Compact_net_g_120000.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="J:/TRT")) # resizing 1280x704 to 640x352 # adjusting resizing clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, range_s="full") clip = core.fmtc.resample(clip=clip, w=640, h=352, 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") # changing range from limited to full range for vsTemporalfix clip = core.resize.Bicubic(clip, range_in_s="limited", range_s="full") # adjusting color space from RGBS to YUV444P16 for vsTemporalfix clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="full", dither_type="error_diffusion") # stabilizing using Temporalfix clip = vs_temporalfix.vs_temporalfix(clip=clip,exclude="[10 20]") # changing range from full to limited range for vsTemporalfix clip = core.resize.Bicubic(clip, range_in_s="full", range_s="limited") # setting color range to TV (limited) range. clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED) # adjusting output color from: YUV444P16 to YUV420P10 for NVEncModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited", dither_type="error_diffusion") # set output frame rate to 25fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # output clip.set_output()
    => Temporalfix is present.
  • Enabled "Stepped Resize" for the resizer.
    => Temporalfix is present.

=> Can't reproduce this here. (used latest dev Hybrid_dev_2024.10.16-54220)

Quote:(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)
Strange, did a quick test:
# Imports import vapoursynth as vs # getting Vapoursynth core import site import sys import os core = vs.core # Import scripts folder scriptPath = 'F:/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) os.environ["CUDA_MODULE_LOADING"] = "LAZY" # loading plugins core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SharpenFilter/CAS/CAS.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vs-mlrt/vstrt.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll") # Import scripts from importlib.machinery import SourceFileLoader vsmlrt = SourceFileLoader('vsmlrt', 'F:/Hybrid/64bit/vs-mlrt/vsmlrt.py').load_module() import validate # Source: 'G:\TestClips&Co\files\test.avi' # Current color space: YUV420P8, bit depth: 8, resolution: 640x352, frame rate: 25fps, scanorder: progressive, yuv luminance scale: limited, matrix: 470bg, format: MPEG-4 Visual # Loading G:\TestClips&Co\files\test.avi using LWLibavSource clip = core.lsmas.LWLibavSource(source="G:/TestClips&Co/files/test.avi", 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 25fps clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # making sure the detected scan type is set (detected: progressive) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive # 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 YUV420P8 to RGBH for vsVSMLRT clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="full") # Step 1: current: 640x352, target: 1280x704 # resizing using VSMLRT from vsmlrt import Backend clip = vsmlrt.inference([clip],network_path="F:/Hybrid/64bit/onnx_models/2x_CX_100k.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="J:/TRT")) # sharpening stepped resize using CAS # adjusting color space from RGBH to RGB48 for vsCAS clip = core.resize.Bicubic(clip=clip, format=vs.RGB48, range_s="full") # contrast sharpening using CAS clip = core.cas.CAS(clip=clip, sharpness=0.6) clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, range_s="full") # Step 2: current: 1280x704, target: 1920x1056 # resizing using VSMLRT clip = vsmlrt.inference([clip],network_path="F:/Hybrid/64bit/onnx_models/2x_CX_100k.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="J:/TRT")) # resizing 2560x1408 to 1920x1056 # adjusting resizing clip = core.resize.Bicubic(clip=clip, format=vs.RGBS, range_s="full") clip = core.fmtc.resample(clip=clip, w=1920, h=1056, 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 NVEncModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, matrix_s="470bg", range_s="limited", dither_type="error_diffusion") # set output frame rate to 25fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # output clip.set_output()
Preview looked fine.
Encoding also had no green flickering. (stepped VLSMRT/VSGAN really slow)


Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Offline between (including) 29th of June and 5th of July => RochHarz Festival
Reply


Messages In This Thread
RE: Resize Keeps Changing on its own when Starting a Batch Queue, Please fix this. - by Selur - 16.10.2024, 15:03

Forum Jump:


Users browsing this thread: 1 Guest(s)