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] Incorrect range signalling
#31
Sorry, I wouldn't call myself an advanced user( I can't find SetMemoryMax setting. It says " Sometimes reducing this value can allow you to increase X for a speedup" on avisynth wiki...
I see only Limit Cache option in Script settings
This is a typical .vpy script of my job:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
import ctypes
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
# loading plugins
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/Support/EEDI3m.dll")# vsQTGMC
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/fmtconv.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/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")
# Import scripts
import qtgmc
import validate
# Source: 'I:\RAW\VITALII\tape4_2.mkv'
# Current color space: YUV420P8, bit depth: 8, resolution: 720x576, frame rate: 25fps, scanorder: top field first, yuv luminance scale: full, matrix: 709, transfer: bt.709, primaries: bt.709, format: AVC
# Loading I:\RAW\VITALII\tape4_2.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="I:/RAW/VITALII/tape4_2.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# setting color matrix to 709.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT709)
# setting color transfer (vs.TRANSFER_BT709), if it is not set.
if validate.transferIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT709)
# 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 PC (full) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_FULL)
# 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: top field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # tff
# Deinterlacing using QTGMC
clip = qtgmc.QTGMC(Input=clip, Preset="Fast", TFF=True) # new fps: 50
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
# adjusting output color from: YUV420P8 to YUV422P8 for FFV1Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV422P8, range_s="full")
# set output frame rate to 50fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1)
# output
clip.set_output()
Reply
#32
You are using Vapoursynth not Avisynth. Smile
And yes, the "Limit Cache"-option is basically the same. (but rarely needed)
You might want to try limiting the thread count.
Since your video is AVC, and LWLibavSource using hardware decoding ('Libav hardware decoding mode') might also help (or hurt the performance and handling of the source. (You could also try whether using DGDecNV or FFmpegSource2 does change things for you.)
En-/Disabling OpenCL and/or DFTTest2 might also change things.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#33
Yes, I know that I use vapoursynth. I thought QTGMC library is identical for them Huh
Thank you for the tips, will try! Unfortunately I have to wait like 30 or 40 minutes to notice a difference Sad
UPD: I can't enable DFTTest2 (always greyed out)
UPD2: I tried enabling DGDecNV + OpenCL and it seems to partly fix the problem (I really hope). Unfortunately my software RAID0 on chinese SSDs (cringe, I know) isn't working well for this. Now, on 50%+ it starts oscillating between encoding and writing to disk...
[Image: _7fc644ce82b71becfb2191844876dce0.jpg.html]


Attached Files Thumbnail(s)
   
Reply
#34
Deinterlacing SD content, I get a constant ~660-667fps/s with 60% CPU and 70-80% GPU. (No speed drop on 2 1/2 hour source.)
clip = qtgmc.QTGMC(Input=clip, Preset="Fast", TFF=True, opencl=True) # new fps: 50
with OpenCL and Neo enabled.
[Image: grafik.png]
DFTTest2 should be available when an NVIDIA card is detected, which should be the case. (for SD content, using DFTTest2 is a bit slower for me, speed is ~656-660fps)

During my tests, the source was located on a normal hdd and the temp folder lied on a m2s drive and I used NVEncC as encoder.


Using software encoding and:
  • Bestsource in cpu mode I only get ~140fps. (speed starts at 400 and quickly goes down)
  • Bestsource in cuda mode I get ~585fps. (speed starts slow and increases)
  • LWLibavSource in cpu mode I get ~580fps. (speed quickly hits 580fps)
  • LWLibavSource in gpu mode I get ~580fps. (speed quickly hits 580fps)
  • FFMpegSource2 I get ~590fps (speed quickly hits 590fps)
so on my setup the decoder doesn't matter much.

While using software decoding with LWLibavSource and encoding, I get 73%CPU usage (no GPU usage) and ~580fps.
[Image: grafik.png]
Speed does start up at 600fps, but the quickly settles around 580fps.

The only setup could see a slowdown was when using Bestsource in cpu mode, but even then the speed dropped quickly (after a few seconds).

=> I suspect anti virus or similar interfering on your system, did you check your taskmgr what else was running in the background?
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#35
(10 hours ago)Selur Wrote: => I suspect anti virus or similar interfering on your system, did you check your taskmgr what else was running in the background?

I run all my jobs parallel with regular activities like watching videos or using browser

You get how much fps!? 😲

Though, yoг use Zen 4 16 core processor, while I have 8 core Zen 2(
Nevertheless, these are some crazy differences, I will try other settings
Reply
#36
Finger crossed.
Funny thing about the speed is, that I usually get ~1-5fps when I encode, due to filtering. Smile

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#37
Well, I discovered something strange: I no longer have NVENC and other GPU accelerated options...
Recently I swapped my GTX1050ti for RTX3060m (yes, m) and that can potentially be the issue, although GPU accelerated sources like DGDecNV use it just fine
Reply
#38
Starting with NVEncC 8.00 beta1, driver 452.39 or later are required, maybe your drivers are too old.
try calling "NVEncC --check-features"

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#39
Well, I have 572.16, though, it a modified Nvidia driver. This is an m index chip on a pci-e card and all regular programs like OBS, Davinci Resolve are treating it as a regular 3060/3060m with full NVENC support

This is how Nvidia control panel reports this GPU & driver version:
   

UPD: latest dev doesn't start at all. Moreover, it somehow prevents process from being killed! After Initializing tabs sign, Hybrid.exe precess enters suspended state
Reply
#40
Hybrid will do two things:
  1. check if it detects an NVIDIA card (when it's detected, DGDecNV&Co are available)
  2. call 'NVEncC --check-features' to see what options NVEncC supports for that card. So if that call fails, NVEnc will be removed.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)