Selur's Little Message Board
help with weird interlacing - Printable Version

+- Selur's Little Message Board (https://forum.selur.net)
+-- Forum: Talk, Talk, Talk (https://forum.selur.net/forum-5.html)
+--- Forum: Small Talk (https://forum.selur.net/forum-7.html)
+--- Thread: help with weird interlacing (/thread-4118.html)



help with weird interlacing - KitsuHitsuyy - 18.05.2025

Hello, how could I fix this unusual interlacing in these two sources using VapourSynth? (I don't have access to the original transfers or tapes, only these remuxes)

https://we.tl/t-XeI1caE356


RE: help with weird interlacing - Selur - 18.05.2025

vlc-record-2025-05-18-12h09m00s-Rede Manchete Especial de Natal Incompleto - 1993.mp4-.mp4
Video is encoded progressively, so not interlaced.
Video was resized during capture and the chroma is also messed up.
=> Whoever captured it messed up.
If possible recapture.
If not, you can handle the combing artifacts using QTGMC (Filter) with Gimmick->Resize->702x240 to throw away roughly half of the vertical resolution and end up with ghosting instead of those artifacts.

vlc-record-2025-05-18-12h05m51s-Merged_videos-.mp4
Video is encoded progressively, so not interlaced.
Since it wasn't resized, simply overwriting the input scan type to 'top field first' and deinterlacing does seem to work.

Cu Selur

Ps.: moved thread to 'Small Talk'


RE: help with weird interlacing - KitsuHitsuyy - 18.05.2025

Thanks a lot! I’ll attempt both


RE: help with weird interlacing - Selur - 18.05.2025

Found a problem with the Vapoursynth scripts, will upload a new 2025.05.18.2 which should fix these. (~30min)
So you might want to use that version.

Cu Selur


RE: help with weird interlacing - KitsuHitsuyy - 19.05.2025

VapourSynth is simply not working for me in this new version  Sad
# 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/DenoiseFilter/ZSmooth/zsmooth.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/FFT3DFilter/fft3dfilter.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/DeinterlaceFilter/Bwdif/Bwdif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/akarin.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll") # Import scripts import qtgmc import validate # Source: 'C:\~~~~.mp4' # Current color space: YUV420P8, bit depth: 8, resolution: 704x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, format: AVC # Loading C:\~~~~.mp4") 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 = qtgmc.QTGMC(Input=clip, Preset="Fast", TFF=True) # new fps: 59.94 # Making sure content is preceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive # output clip.set_output()

"Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to evaluate the script."


RE: help with weird interlacing - Selur - 19.05.2025

Quote:Failed to initialize VapourSynth environment!
Normally only happens, if something with the Python environment is messed up.

Have you tried de-installing Hybrid before re-installing it?
Do you have a globally installed Vapoursnyth an/or Python environment on your system?

Cu Selur


RE: help with weird interlacing - KitsuHitsuyy - 23.05.2025

Re-installed Python and now it's working properly, thank you