Selur's Little Message Board
[BUG] Filter: Line/Darken (GLSL-A4K) = defective - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html)
+--- Forum: Problems & Questions (https://forum.selur.net/forum-3.html)
+--- Thread: [BUG] Filter: Line/Darken (GLSL-A4K) = defective (/thread-4472.html)

Pages: 1 2


Filter: Line/Darken (GLSL-A4K) = defective - tailland - 22.08.2026

version 21.8.2026

load source
activate filter
vaporsynth does not open, no error popup, nothing (therefor, no screenshot)

other darkening filters work.


RE: Filter: Line/Darken (GLSL-A4K) = defective - Selur - 22.08.2026

According to the debug output, FastLineDarkenMOD was used,...
# Imports import ctypes import sys import os import vapoursynth as vs # using Vapoursynth R79 # 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 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/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/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/bwdif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/fmtconv.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/znedi3.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/sneedif/libsneedif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/eedi3m.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/vszip/vszip.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/addnoise.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/mvutensils/mvutensils.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/akarin/libakarin.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/zsmooth/zsmooth.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/d2vSource/DGDecode.dll") # Import scripts import linedarken import qtgmc import validate # Source: 'S:\youtube_temp\KHG-Abi-1996_Teil-2-Kurioses.mpg' # clip current meta; color space: YUV420P8, bit depth: 8, resolution: 720x576, fps: 25, color matrix: 470bg, color primaries: Unspecific, color transfer: BT.601, yuv luminance scale: limited, scanorder: top field first, full height: true (Source) # Loading 'S:\youtube_temp\KHG-Abi-1996_Teil-2-Kurioses.mpg' using DGDecode clip = core.dgdecode.MPEG2Source("D:/temp_hybrid/mpg_89c1c02461a1f11c770077d6e8011af2_853323747.d2v",info=3)# 25 fps, scanorder: top field first 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. prop_name = '_Range' if core.core_version.release_major >= 74 else '_ColorRange' clip = core.std.SetFrameProps(clip=clip, **{prop_name: 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: top field first) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first # Deinterlacing using QTGMC clip = qtgmc.QTGMC(clip, Preset="Fast", TFF=True) # new fps: 50 # Making sure content is perceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive clip = clip[::2] # selecting previously even frames, new fps: 25 # Using FastLineDarkenMOD for line darkening clip = linedarken.FastLineDarkenMOD(clip) # adjusting output color from YUV420P8 to YUV420P10 for NVEncModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10) # adjusted resizing to achieve PAR 1:1 for preview # resizing for preview to square pixel to 768x576 clip = core.resize.Bicubic(clip=clip, width=768, height=576) # set output frame rate to 25fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # output clip.set_output() # clip current meta; color space: YUV420P10, bit depth: 10, resolution: 768x576, fps: 25, color matrix: 470bg, color primaries: Unspecific, color transfer: BT.601, yuv luminance scale: limited, scanorder: progressive, full height: true (Meta) # script was created by Hybrid 2026.08.21.1
Both FastLineDarkenMOD and "Darken (GLSL-A4K)" work fine here.

Cu Selur


RE: Filter: Line/Darken (GLSL-A4K) = defective - tailland - 22.08.2026

   
i tried 3 different line darkening filters to make sure it's the one that fails.. this output file is only for glsla4k


RE: Filter: Line/Darken (GLSL-A4K) = defective - Selur - 22.08.2026

Now the debug output shows ' Anime4k Darken GLSL ':
# Imports import ctypes import sys import os import vapoursynth as vs # using Vapoursynth R79 # 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 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/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/libvs_placebo.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/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/bwdif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/fmtconv.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/znedi3.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/sneedif/libsneedif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/eedi3m.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/vszip/vszip.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/addnoise.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/mvutensils/mvutensils.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/akarin/libakarin.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/zsmooth/zsmooth.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/d2vSource/DGDecode.dll") # Import scripts import qtgmc import validate # Source: 'S:\youtube_temp\KHG-Abi-1996_Teil-2-Kurioses.mpg' # clip current meta; color space: YUV420P8, bit depth: 8, resolution: 720x576, fps: 25, color matrix: 470bg, color primaries: Unspecific, color transfer: BT.601, yuv luminance scale: limited, scanorder: top field first, full height: true (Source) # Loading 'S:\youtube_temp\KHG-Abi-1996_Teil-2-Kurioses.mpg' using DGDecode clip = core.dgdecode.MPEG2Source("D:/temp_hybrid/mpg_89c1c02461a1f11c770077d6e8011af2_853323747.d2v",info=3)# 25 fps, scanorder: top field first 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. prop_name = '_Range' if core.core_version.release_major >= 74 else '_ColorRange' clip = core.std.SetFrameProps(clip=clip, **{prop_name: 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: top field first) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first # Deinterlacing using QTGMC clip = qtgmc.QTGMC(clip, Preset="Fast", TFF=True) # new fps: 50 # Making sure content is perceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive clip = clip[::2] # selecting previously even frames, new fps: 25 # adjusting color space from YUV420P8 to YUV444P16 for vsGLSLDarken clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16) # Using Anime4k Darken GLSL filter for line darkening with open("C:/Program Files/Hybrid/64bit/vsfilters/GLSL/parameterized/Anime4K_Darken_HQ.glsl") as glslf: glsl = glslf.read() glsl = glsl.replace('#define STRENGTH 1.5', '#define STRENGTH 1.5') clip = core.placebo.Shader(clip, shader_s=glsl, width=clip.width, height=clip.height) # adjusting output color from YUV444P16 to YUV420P10 for NVEncModel clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, dither_type="error_diffusion") # adjusted resizing to achieve PAR 1:1 for preview # resizing for preview to square pixel to 768x576 clip = core.resize.Bicubic(clip=clip, width=768, height=576) # set output frame rate to 25fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # output clip.set_output() # clip current meta; color space: YUV420P10, bit depth: 10, resolution: 768x576, fps: 25, color matrix: 470bg, color primaries: Unspecific, color transfer: BT.601, yuv luminance scale: limited, scanorder: progressive, full height: true (Meta) # script was created by Hybrid 2026.08.21.1
Do other GLSL filters work?


2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: Files to index for VAPOURSYNTHPREVIEW: S:\youtube_temp\KHG-Abi-1996_Teil-2-Kurioses.mpg 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: Indexer createIndexFiles disable GUI(1),.. 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: enableGui 0 + -1 = -1 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: startIndex: S:\youtube_temp\KHG-Abi-1996_Teil-2-Kurioses.mpg 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: skipping indexing, D:\temp_hybrid\mpg_89c1c02461a1f11c770077d6e8011af2_853323747.d2v already exists,... 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: VsScriptGenerator indexerFinished(4612,0): VAPOURSYNTHPREVIEW 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: VsScriptGenerator indexerFinished enable GUI(5),.. 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: enableGui -1 + 1 = 0 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: indexing finished,.. 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: VapoursynthPreview enabling updating to True(1),.. 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: send changeTo to vsviewer,.. 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: Sending to viewer: changeTo ### D:\temp_hybrid\tempPreviewVapoursynthFile21_18_53_968.vpy ### 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: set messeage to: changeTo ### D:\temp_hybrid\tempPreviewVapoursynthFile21_18_53_968.vpy ### 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: [Hybrid Client]: connected, sending to server: changeTo ### D:\temp_hybrid\tempPreviewVapoursynthFile21_18_53_968.vpy ### 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: [Hybrid Client]: connected, nothing to send,.. 2026.08.22 - 21:18:53_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: Preview::indexingIsFinished 'VAPOURSYNTHPREVIEW' ignored,.. 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: player finished,... 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: ExitCode: -1073741819, status: 1 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: setting updatingScript to: false 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: VapoursynthPreview disable show(4),.. 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: kill process,... 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: VapoursynthPreview disable show(3),.. 2026.08.22 - 21:18:57_Windows 11 Version 25H2 (64bit)_2026.08.21.1 - level 9: VapoursynthPreview disable updating(3),..
"ExitCode: -1073741819" normally is some kind of access violation.

I uploaded a new dev version (Hybrid_dev_2026.08.22-212034), uninstall the old Hybrid dev, install the new and re-save your defaults after the first start.
In case you have some media player or game open, try closing that, sometimes those can interfere with GLSL filters.

Cu Selur


RE: Filter: Line/Darken (GLSL-A4K) = defective - tailland - 22.08.2026

will do, be back in a few

hm nothing new, still opens the preview window and immediately closes it again

the other glsl filters also don't work, same behaviour
   


RE: Filter: Line/Darken (GLSL-A4K) = defective - Selur - 22.08.2026

Okay, so it's a glsl issue.
Does Deband->vsPlacebo work? (vs-placebo is also offering the GLSL filter)
I suspect Deband will work and something is interfering with the glsl filtering.

What other tools are running?

Cu Selur

Ps.: side note: since you have an NVIDIA gpu, you could use DGDecNV for decoding.


RE: Filter: Line/Darken (GLSL-A4K) = defective - tailland - 22.08.2026

nope, deband/vsplacebo also fails like the glsl stuff above

Quote:DGDecNV
will try(switched it for future use)


RE: Filter: Line/Darken (GLSL-A4K) = defective - Selur - 22.08.2026

Okay, that is unexpected, but seems like vs-placebo isn't working on your system.
Strange,..


RE: Filter: Line/Darken (GLSL-A4K) = defective - Selur - 22.08.2026

What other programs are running?
Anything that potentially could use GLSL ? (browser, games,...)

What gpu drivers are you using?

When using:
https://www.dependencywalker.com/ (x64 version)
and loading "C:/Program Files/Hybrid/64bit/Vapoursynth/Lib/site-packages/vapoursynth/plugins2/libvs_placebo.dll" does it show any errors?


RE: Filter: Line/Darken (GLSL-A4K) = defective - Selur - 22.08.2026

Going to bed now.


Cu Selur