02.10.2025, 19:31
(02.10.2025, 15:43)Selur Wrote: Gibt einen Button "Reset 'Filter Queue' to 'Filter Order'", wenn man den drückt, werden die aktuellen Einstellungen in die FilterQueue übernommen.
Danke! Leider scheint es bei dieser Übernahme einen kleinen Bug zu geben:
![[Image: grafik.png]](https://i.ibb.co/zhrNLTqT/grafik.png)
Da der Bug wohl mit GrainFactory zusammenhängt hänge ich dir nochmal meine entsprechenden Einstellungen an.
![[Image: grafik.png]](https://i.ibb.co/QvTbWbdk/grafik.png)
Und hier nochmal das ganze Script:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
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 plugins
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SharpenFilter/AWarpSharp2/libawarpsharp2.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/Support/libvs_placebo.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeblockFilter/DeblockPP7/DeblockPP7.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/Support/RemapFramesVapoursynth.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libfillborders.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/akarin.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/SourceFilter/d2vSource/DGDecode.dll")
# defining beforeGrainFactory-function - START
def beforeGrainFactory(clip):
from rekt import rektlvls
fix = rektlvls(clip, rownum=[803, 802, 801, 800], rowval=[-100, -100, -100, -100])
return clip
# defining beforeGrainFactory-function - END
# Import scripts
import addGrain
import dehalo
import sharpen
import edge
import validate
# Source: 'C:\Users\jopro\Downloads\vid_1029837442356038.ts'
# Current color space: YUV420P8, bit depth: 8, resolution: 1920x1080, frame rate: 25fps, scanorder: progressive, yuv luminance scale: limited, matrix: 709, format: mpeg-2
# Loading C:\Users\jopro\Downloads\vid_1029837442356038.ts using DGDecode
clip = core.dgdecode.MPEG2Source("C:/Users/jopro/AppData/Local/Temp/ts_bee59dd3f81fcda54f6dedccf966712b_853323747.d2v",info=3)# 25 fps, scanorder: progressive
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_BT709), if it is not set.
if validate.primariesIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT709)
# 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
clip = core.tivtc.TFM(clip=clip, mode=5, slow=2)
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
# Fix bright and dark line artifacts near the border of an image using BalanceBorders
clip = edge.bbmod(c=clip,cLeft=7,cTop=4,cRight=2,cBottom=0,thresh=100,blur=1400)
# Fill borders using FillBorders
clip = core.remap.Rfs(baseclip=clip, sourceclip=core.fb.FillBorders(clip=clip,mode="fillmargins",top=8), mappings="[0 500]")
# applying delocking using Deblock
clip = core.deblock.Deblock(clip=clip, quant=10)
# applying deblocking using DeblockPP7
clip = core.pp7.DeblockPP7(clip=clip, mode=2)
clip = core.std.Crop(clip=clip, left=2, right=2, top=4, bottom=8)# cropping to 1916x1068
# applying debanding using vs-placebo.Deband
clip = core.placebo.Deband(clip=clip, radius=8.00, iterations=2, grain=2.00, planes=1)
# sharpening using FineSharp
clip = sharpen.FineSharp(clip=clip, sstr=3.50)
clip = dehalo.EdgeCleaner(c=clip, strength=13, rmode=1)
clip = beforeGrainFactory(clip)
# adding grain using GrainFactory3
clip = addGrain.GrainFactory3(clp=clip, g1str=4.50, g1shrp=35, g1size=2.20, g2str=2.70, g2shrp=43, g2size=1.70, g3str=2.10, g3shrp=55, g3size=1.30, temp_avg=65, ontop_grain=1.70)
# set output frame rate to 25fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# output
clip.set_output()
Ich bin übrigens die selbe Person die dir auf den Doom9 Foren eine PN geschickt hat bezöglich eines Bugs beim dem Temporal Average Parameter von GrainFactory. Vielleicht ist der Fix nicht kompatibel mit der Übernahme der Einstellungen von Filter Order zu Filter Queue?
LG