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.

help please
#1
[img][Image: 03596.png] [Image: 03597.png] [Image: 03598.png][/img]

Backing up up my Simpsons dvd collection.  I did  tivtc with qtgmc fast, VInverse2, KNLMeansCL, YAHR, Santiag followed by a NNEDi3 resize to convert to square pixels at 640x480. The result is great except for about 100 frames around the 2:30 mark. It seems to be imbedded in the source as it occurs even when i play the  untouched vob ripped from the disc. Any idea's of how to fix this? Can i just fix the 100 or so problem frames without messing  with the rest of the episode?
Reply
#2
Simpsons, Futurama, Family Guy and some other DVD collections are known for kind of messed up authored content.
You can't set different TIVTC setting inside Hybrid for different sections.
You could always choose to manually replace single frames with interpolations.
Tuning the TIVTC setting might also help.
Would need a short (unporcessed) sample of the problematic section to give direct advice.

Cu Selur

Ps.: will move this to the 'Small Talk'-section.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#3
ok, this script is a miss, i dont unerstand obviously, my  crop,resize, color space conversionia set to last step in filter order, wtf is it converting colot space 6 times for nothings? 
# 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/ResizeFilter/nnedi3/NNEDI3CL.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/DCTFilter.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeblockFilter/Deblock/Deblock.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeinterlaceFilter/TIVTC/libtivtc.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/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") # DeinterlaceFilter-Selector
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/Support/akarin.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/ZSmooth/zsmooth.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DerainbowFilter/BiFrost/libbifrost.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DerainbowFilter/DeCross/libdecross.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/vszip.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeinterlaceFilter/TDeintMod/TDeintMod.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")
# defining beforeDeCross-function - START
def beforeDeCross(clip):
clip = core.deblock.Deblock(clip, quant=25)
clip = core.std.SetFrameProps(clip, _FieldBased=1)
return [clip]
# defining beforeDeCross-function - END

# Import scripts
import deblock
import dehalo
import antiAliasing
import denoise
import qtgmc
import validate
# Source: 'D:\Season 2 disk 1\A1_t00.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 'D:\Season 2 disk 1\A1_t00.mkvÄ using LWLibavSource
clip = core.lsmas.LWLibavSource(source="D:/Season 2 disk 1/A1_t00.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) # scan type: top field first
# converting interlaced to full-height progressive for filtering (vsCheckmate) (using: TDeint())
clip = core.tdm.TDeintMod(clip=clip, order=1, mode=1) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive
clip = core.vszip.Checkmate(clip, thr=5, tthr2=3)
# converting full-height progressive to interlaced (top field first)
clip = core.std.SelectEvery(clip=clip, cycle=2, offsets=[0])
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # scan type: top field first
[clip] = beforeDeCross(clip)
# clip current meta; color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: top field first, full height: true
# rainbow removal using DeCross
clip = core.decross.DeCross(clip, thresholdy=25)
# rainbow removal using BiFrost
clip = core.bifrost.Bifrost(clip, luma_thresh=2.00, interlaced=True)
clip2clip = clip
clip2clip = qtgmc.QTGMC(Input=clip2clip, Preset="fast", TFF=False, FPSDivisor=2)
# Deinterlacing using TIVTC
clip = core.tivtc.TFM(clip, metric=1, clip2=clip2clip)
clip = core.tivtc.TDecimate(clip, mode=1) # new fps: 23.976
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive
# denoising using MCTemporalDenoise
clip = denoise.MCTemporalDenoise(clip, settings="low", thSAD=200, thSAD2=300, thSCD1=300, thSCD2=90, truemotion=False, MVglobal=True, pel=2, pelsearch=4, search=5, searchparam=4, MVsharp=0, DCT=0, ncpu=1)
# Anti Aliasing using DAAMod
clip = antiAliasing.daamod(clip, nns=3, qual=2, pscrn=1, rep=6, opencl=True, device=0)
# applying dehalo using DeHalo_alpha
clip = dehalo.DeHalo_alpha(clip, rx=1.25, ry=1.25)
clip = core.std.Crop(clip, left=8, right=8, top=4, bottom=4) # cropping to 704x472
# Resizing using fmtconv - spline36
clip = core.fmtc.resample(clip, kernel="spline36", w=640, h=430, interlaced=False, interlacedd=False) # resolution 640x430 before YUV420P8 after YUV420P16
# applying deblocking using DeBlock QED
clip = deblock.Deblock_QED(clip)
# adjusting output color from YUV420P16 to YUV444P16 for PNGModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16)
# set output frame rate to 23.976fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# output
clip.set_output()
# script was created by Hybrid 2026.03.21.1

also please dumb down you anser/solutions  to gui specific settings, im not using a gui to code
Reply
#4
Strange script.
No, clue why the custom section is there, deblocking before deinterlacing seems wrong.
Also, you can change the order of filters in Hybrid (Filtering->Vapoursynth->Misc->Filter Order/Queue) and deblock does come with Hybrid.

Quote:, wtf is it converting colot space 6 times for nothings?
I see only two color space conversions, one by fmtconv (during the resizing) and one for the PNG output.

Cu Selur

Ps.: like I wrote, for a suggestion I would need an unprocessed sample of the source. (i.e. use mkvtoolnix to split the source mkv)
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#5
how can i post a small unprocessed clip when all the sites i can link to here (daily motion, vimeo, facbook etc) reencode uploaded video? Also my new script
# Source: 'D:\Season 2 disk 1\A1_t00.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 'D:\Season 2 disk 1\A1_t00.mkvÄ using LWLibavSource
clip = core.lsmas.LWLibavSource(source="D:/Season 2 disk 1/A1_t00.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) # scan type: top field first
# rainbow removal using DeCross
clip = core.decross.DeCross(clip, thresholdy=25)
# rainbow removal using BiFrost
clip = core.bifrost.Bifrost(clip, luma_thresh=2.00, conservative_mask=True, interlaced=True)
# Deinterlacing using TIVTC
clip = core.tivtc.TFM(clip)
clip = core.tivtc.TDecimate(clip, mode=1) # new fps: 23.976
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive
# denoising using MCTemporalDenoise
clip = denoise.MCTemporalDenoise(clip, settings="low", thSAD=200, thSAD2=300, thSCD1=300, thSCD2=90, truemotion=False, MVglobal=True, pel=1, pelsearch=4, search=5, searchparam=4, MVsharp=0, DCT=0, ncpu=1)
# applying deblocking using DeBlock QED
clip = deblock.Deblock_QED(clip)
# applying dehalo using DeHalo_alpha
clip = dehalo.DeHalo_alpha(clip, rx=1.50, ry=1.50, darkstr=0.80)
# Anti Aliasing using DAAMod
clip = antiAliasing.daamod(clip, nns=3, pscrn=1, rep=6, opencl=True, device=0)
clip = core.std.Crop(clip, left=8, right=8, top=4, bottom=4) # cropping to 704x472
# Resizing using fmtconv - spline64
clip = core.fmtc.resample(clip, kernel="spline64", w=640, h=480, interlaced=False, interlacedd=False) # resolution 640x480 before YUV420P8 after YUV420P16
# ColorMatrix: adjusting color matrix from 470bg to 709
# adjusting luma range to 'limited' due to post clipping
clip = core.resize.Bicubic(clip, matrix_in_s="470bg", matrix_s="709", range_in=0, range=0)
# adjusting output color from YUV420P16 to YUV420P8 for UTVideoModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8)
# set output frame rate to 23.976fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# output
clip.set_output()
# script was created by Hybrid 2026.03.21.1
Reply
#6
You could use GoogleDrive, MediaFire, Dropbox, file.io, wormhole, ... There are tons of was.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#7
https://drive.google.com/file/d/176xoM4a...sp=sharing
 

ALso my reworked script, 
# Source: 'D:\Season 2 disk 1\A1_t00.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 'D:\Season 2 disk 1\A1_t00.mkvÄ using LWLibavSource
clip = core.lsmas.LWLibavSource(source="D:/Season 2 disk 1/A1_t00.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) # scan type: top field first
# rainbow removal using DeCross
clip = core.decross.DeCross(clip, thresholdy=25)
# rainbow removal using BiFrost
clip = core.bifrost.Bifrost(clip, luma_thresh=2.00, conservative_mask=True, interlaced=True)
# Deinterlacing using TIVTC
clip = core.tivtc.TFM(clip)
clip = core.tivtc.TDecimate(clip, mode=1) # new fps: 23.976
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # scan type: progressive
# denoising using MCTemporalDenoise
clip = denoise.MCTemporalDenoise(clip, settings="low", thSAD=200, thSAD2=300, thSCD1=300, thSCD2=90, truemotion=False, MVglobal=True, pel=1, pelsearch=4, search=5, searchparam=4, MVsharp=0, DCT=0, ncpu=1)
# applying deblocking using DeBlock QED
clip = deblock.Deblock_QED(clip)
# applying dehalo using DeHalo_alpha
clip = dehalo.DeHalo_alpha(clip, rx=1.50, ry=1.50, darkstr=0.80)
# Anti Aliasing using DAAMod
clip = antiAliasing.daamod(clip, nns=3, pscrn=1, rep=6, opencl=True, device=0)
clip = core.std.Crop(clip, left=8, right=8, top=4, bottom=4) # cropping to 704x472
# Resizing using fmtconv - spline64
clip = core.fmtc.resample(clip, kernel="spline64", w=640, h=480, interlaced=False, interlacedd=False) # resolution 640x480 before YUV420P8 after YUV420P16
# ColorMatrix: adjusting color matrix from 470bg to 709
# adjusting luma range to 'limited' due to post clipping
clip = core.resize.Bicubic(clip, matrix_in_s="470bg", matrix_s="709", range_in=0, range=0)
# adjusting output color from YUV420P16 to YUV420P8 for UTVideoModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8)
# set output frame rate to 23.976fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# output
clip.set_output()
# script was created by Hybrid 2026.03.21.1
Reply
#8
Can't access the clip.(requires authentification)
Please use
[code][/code]
tags.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#9
https://drive.google.com/file/d/1gMzWnJ-BhUUDPfIz9NRzS6TBMt2qqcjI/view?usp=sharing
is this what you means? lol idk
Reply
#10
still requires authentification,..
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)