Posts: 5
Threads: 1
Joined: Oct 2025
Liebe Freunde der Videokompression,
ich würde gerne in meiner Filterchain dirty lines mittels rektlvls entfernen, ähnlich wie in diesem Guide.
In dem Ordner "C:\Program Files\Hybrid\64bit\vsscripts" befindet sich zwar ein script mit dem Namen rekt.py, jedoch fehlen rektaa.py, rekt_fast.py und rektlvls.py von dieser Repo.
Ich habe die entsprechenden Dateien in den "vsscripts" Ordner kopiert und versucht rektlvls vor meinem letzten Filter, GrainFactory, zu importieren, was in einem Error resultierte, als ich das Vapoursynth preview öffnen wollte.
![[Image: grafik.png]](https://i.ibb.co/DPQwDQWp/grafik.png)
Wahrscheinlich liegt hier ein fundamentales Missverständnis meinserseits vor, wie Vapoursynth und Python funktionieren, also sorry schonmal davon dass ich von nichts eine Ahnung habe. Kann das überhaupt klappen was ich hier versuche?
Beste Grüße!
Posts: 12.009
Threads: 64
Joined: May 2017
02.10.2025, 12:35
(This post was last modified: 02.10.2025, 12:36 by Selur.)
Kann es gerade nicht testen, aber aus dem Bauch heraus würde ich sagen, dass Du:
1. den kompletten 'rekt' Ordner (aus dem Projekt) importieren musst, d.h. entweder in vsscripts kopieren, oder explizit im Skript den Suchpfad entsprechend erweitern, wie Hybrid es für den vscripts Ordner macht.
2. anstatt 'import rektlvls' musst Du denke ich ein 'from rekt import rektlvls' verwenden
kann ich später aber mal testen und Genaueres zu sagen.
Falls Du Filter beschleunigen willst, dadurch dass Du das machst und der Filtercode nicht in der Custom Sektion ist wird das nicht klappen. 
Wenn Du eine Beschleunigung haben willst, dadruch, dass Du nur Teile des Bildes filterst solltest Du:
1. 'Filtering->Vapoursynth->Misc->UI->Show 'Only on region'-controls' aktivieren
2. bei dem entsprechenden Filter den Bereich im 'Only on region'-Bereich konfigurieren.
(dafür muss auch nichts Weiteres Importiert werden)
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 12.009
Threads: 64
Joined: May 2017
Sorry, voll übersehen was Du erreichen wolltest. 
a. Falls die Linien am Rand sind, würde ich vermutlich eher erst mal die Filter unter "Filtering->Vapoursynth->Frame->Edge" antesten.
b. Habe es gerade mal getestet:
Den rekt-Ordner in vsscripts kopieren und dann in einem Custom-Bereich:
from rekt import rektlvls
fix = rektlvls(clip, rownum=None, rowval=None, colnum=None, colval=None, prot_val=[16, 235])
aufrufen (Parameter musst Du an Deine Bedürfnisse anpassen), klappt hier ohne Probleme.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 5
Threads: 1
Joined: Oct 2025
(02.10.2025, 14:07)Selur Wrote: a. Falls die Linien am Rand sind, würde ich vermutlich eher erst mal die Filter unter "Filtering->Vapoursynth->Frame->Edge" antesten.
Danke für die Antwort!
Nachdem ich es ausgetestet habe bin ich da voll bei dir, Balance/fill Borders ist viel angemessener für dirty lines.
Ich bin auch sehr begeistert von der ApplyOnlyTo Funktion, da der Film an dem ich arbeite scheinbar auf irgendeinem Format aufgenommen wurde wo der obere Rand des Bildes sich am physischen oberem Rand vom Negativfenster befindet (also nicht Matte). Dementsprechend verändert sich der Bedarf für Fillmargins von Szene zu Szene leicht. Mit ApplyOnlyTo habe ich die Möglichkeit Fillmargins für bestimmte Szenen aus- oder einzuschalten, jedoch bleiben die Einstellungen immer gleich. Könnte man auch irgendwie verschiedene Werte für verschiedene Szenen einstellen?
Posts: 12.009
Threads: 64
Joined: May 2017
Quote:Könnte man auch irgendwie verschiedene Werte für verschiedene Szenen einstellen?
Du kannst einen Filter mehr als 1x in der Filter Queue haben (musst aber von FilterOrder zu FilterQueue wechseln, siehe: [INFO] About Vapoursynth Filter Order/Queue ). 
Sprich Du kannst z.B. einen Filter 1x mit Settings Y auf Szenen A, B, E anwenden und 1x mit Setting W auf Szenen C, D.
Gibt da einiges, was man machen kann und was nicht in den Standardeinstellungen möglich ist:
![[Image: grafik.png]](https://i.ibb.co/7NJ15h44/grafik.png)
Da aber die meisten Leute an sich schon Probleme mit der Oberfläche haben, gibt es 'Filtering->Vapoursynth->Misc->UI' und 'Filtering->Vapoursynth->Misc->Filter Order/Queue' und ein paar Optionen optional zu haben.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 5
Threads: 1
Joined: Oct 2025
(02.10.2025, 15:43)Selur Wrote: Da aber die meisten Leute an sich schon Probleme mit der Oberfläche haben, gibt es 'Filtering->Vapoursynth->Misc->UI' und 'Filtering->Vapoursynth->Misc->Filter Order/Queue' und ein paar Optionen optional zu haben.
Ich finde im standart "Filter Order" Modus ist Hybrid sehr übersichtlich wenn man bedenkt wie viele Funktionen es in sich vereint. Wem das zu viel ist ist zu raten zu Handbrake zu wechseln und sich mit den Fehlen von Filtern abzufinden.
Ich bin gerade nicht zuhause und kann das nicht checken, aber wenn ich von order zu queue wechsele, werden dann die Filter die ich bereits gesetzt habe bzw. die in meiner Config sind übernommen?
Beste Grüße
Posts: 12.009
Threads: 64
Joined: May 2017
Quote: Ich bin gerade nicht zuhause und kann das nicht checken, aber wenn ich von order zu queue wechsele, werden dann die Filter die ich bereits gesetzt habe bzw. die in meiner Config sind übernommen?
Gibt einen Button "Reset 'Filter Queue' to 'Filter Order'", wenn man den drückt, werden die aktuellen Einstellungen in die FilterQueue übernommen.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 5
Threads: 1
Joined: Oct 2025
(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:
Da der Bug wohl mit GrainFactory zusammenhängt hänge ich dir nochmal meine entsprechenden Einstellungen an.
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
Posts: 12.009
Threads: 64
Joined: May 2017
02.10.2025, 20:04
(This post was last modified: 02.10.2025, 20:06 by Selur.)
Bin verwirrt, in dem Skript steht:
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)
Kann das hier nicht nachstellen.
Versuch mal mit der aktuellen dev (Hybrid_dev_2025.10.02-1800) und erstell mal einen Debug output davon, vielleicht sieht man dann was da schief geht.
Bei mir wird auch mit aktivierter FilterQueue im Skript korrekt:
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)
generiert und der Preview geht.
Der zugehörige FilterQueue Eintrag sieht auch richtig aus.
AddGrain - GrainFactory:*,*:vsGrainFactoryDarkMidEnd;56:*,*:vsGrainFactoryDarkMidStart;24:*,*:vsGrainFactoryG1Sharpness;35:*,*:vsGrainFactoryG1Size;2.20:*,*:vsGrainFactoryG1Strength;4.50:*,*:vsGrainFactoryG2Sharpness;43:*,*:vsGrainFactoryG2Size;1.70:*,*:vsGrainFactoryG2Strength;2.70:*,*:vsGrainFactoryG3Sharpness;55:*,*:vsGrainFactoryG3Size;1.30:*,*:vsGrainFactoryG3Strength;2.10:*,*:vsGrainFactoryMidBrightEnd;160:*,*:vsGrainFactoryMidBrightStart;128:*,*:vsGrainFactoryOnTopGrain;1.70:*,*:vsGrainFactoryTempAverage;65:*,*:vsUseGrainFactory3;true:*,*:vsGrainFactoryUseMasked;false:*,*:vsGrainFactoryMaskName;LimitMask:*,*:vsGrainFactoryMaskStack;:*,*:vsGrainFactoryLimitMaskLimit;30:*,*:vsGrainFactoryLimitMaskFilterBelow;true:*,*:vsGrainFactoryLimitMaskShow;false:*,*:vsGrainFactoryMaskApplyCount;0:*,*:vsGrainFactoryRetinexEdgeMaskTCSigma;1.00:*,*:vsGrainFactoryCartoonEdgesLow;0:*,*:vsGrainFactoryCartoonEdgesHigh;255:*,*:vsGrainFactoryRobertsEdgesLow;0:*,*:vsGrainFactoryRobertsEdgesHigh;255:*,*:vsGrainFactoryRectangleMaskShow;false:*,*:vsGrainFactoryRectangleMaskInvert;false:*,*:vsGrainFactoryRectangleMaskCropLeft;0:*,*:vsGrainFactoryRectangleMaskCropTop;0:*,*:vsGrainFactoryRectangleMaskCropRight;0:*,*:vsGrainFactoryRectangleMaskCropBottom;0:*,*:vsGrainFactoryMotionMaskTh1;10:*,*:vsGrainFactoryMotionMaskTh2;10:*,*:vsGrainFactoryMotionMaskT;15:*,*:vsGrainFactoryFinegrainMaskFilterMode;RemoveGrain:*,*:vsGrainFactoryRetinexEdgeMaskInvert;false:*,*:vsGrainFactoryRetinexEdgeMaskShow;false:*,*:vsGrainFactoryRetinexEdgeMaskBinarize;false:*,*:vsGrainFactoryRetinexEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryRetinexEdgeMaskScaleF;false:*,*:vsGrainFactoryRetinexEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryKirschEdgeMaskInvert;false:*,*:vsGrainFactoryKirschEdgeMaskShow;false:*,*:vsGrainFactoryKirschEdgeMaskBinarize;false:*,*:vsGrainFactoryKirschEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryKirschEdgeMaskScaleF;false:*,*:vsGrainFactoryKirschEdgeMaskScaleFactor;1.00:*,*:vsGrainFactorySobelFastEdgeMaskInvert;false:*,*:vsGrainFactorySobelFastEdgeMaskShow;false:*,*:vsGrainFactorySobelFastEdgeMaskBinarize;false:*,*:vsGrainFactorySobelFastEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactorySobelFastEdgeMaskScaleF;false:*,*:vsGrainFactorySobelFastEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryBloatedEdgeMaskInvert;false:*,*:vsGrainFactoryBloatedEdgeMaskShow;false:*,*:vsGrainFactoryBloatedEdgeMaskBinarize;false:*,*:vsGrainFactoryBloatedEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryBloatedEdgeMaskScaleF;false:*,*:vsGrainFactoryBloatedEdgeMaskScaleFactor;1.00:*,*:vsGrainFactorySobelEdgeMaskInvert;false:*,*:vsGrainFactorySobelEdgeMaskShow;false:*,*:vsGrainFactorySobelEdgeMaskBinarize;false:*,*:vsGrainFactorySobelEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactorySobelEdgeMaskScaleF;false:*,*:vsGrainFactorySobelEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryPrewittEdgeMaskInvert;false:*,*:vsGrainFactoryPrewittEdgeMaskShow;false:*,*:vsGrainFactoryPrewittEdgeMaskBinarize;false:*,*:vsGrainFactoryPrewittEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryPrewittEdgeMaskScaleF;false:*,*:vsGrainFactoryPrewittEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryCartoonEdgesInvert;false:*,*:vsGrainFactoryCartoonEdgesShow;false:*,*:vsGrainFactoryCartoonEdgesBinarize;false:*,*:vsGrainFactoryCartoonEdgesBinarizeThreshold;0.500:*,*:vsGrainFactoryCartoonEdgesScaleF;false:*,*:vsGrainFactoryCartoonEdgesScaleFactor;1.00:*,*:vsGrainFactoryRobertsEdgesInvert;false:*,*:vsGrainFactoryRobertsEdgesShow;false:*,*:vsGrainFactoryRobertsEdgesBinarize;false:*,*:vsGrainFactoryRobertsEdgesBinarizeThreshold;0.500:*,*:vsGrainFactoryRobertsEdgesScaleF;false:*,*:vsGrainFactoryRobertsEdgesScaleFactor;1.00:*,*:vsGrainFactoryFinegrainMaskInvert;false:*,*:vsGrainFactoryFinegrainMaskShow;false:*,*:vsGrainFactoryFinegrainMaskBinarize;false:*,*:vsGrainFactoryFinegrainMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryFinegrainMaskScaleF;false:*,*:vsGrainFactoryFinegrainMaskScaleFactor;1.00:*,*:vsGrainFactoryMotionMaskInvert;false:*,*:vsGrainFactoryMotionMaskShow;false:*,*:vsGrainFactoryMotionMaskBinarize;false:*,*:vsGrainFactoryMotionMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryMotionMaskScaleF;false:*,*:vsGrainFactoryMotionMaskScaleFactor;1.00:*,*:vsGrainFactoryUseMerge;false:*,*:vsGrainFactoryMergeY;0.000:*,*:vsGrainFactoryMergeU;0.000:*,*:vsGrainFactoryMergeV;0.000:*,*:vsGrainFactoryMergeYUV;true:*,*:vsGrainFactoryMergeYUVValue;0.000:*,*:vsGrainFactoryApplyOnlyTo;false:*,*:vsGrainFactoryOnlyRange;false:*,*:vsGrainFactoryRanges;:*,*:vsGrainFactoryApplyOnlyToEvery;false:*,*:vsGrainFactoryApplyOnlyToEveryOffsets;:*,*:vsGrainFactoryApplyOnlyToEveryCycle;5:*,*:vsGrainFactoryOnRegion;false:*,*:vsGrainFactoryOnRegionX;0:*,*:vsGrainFactoryOnRegionY;0:*,*:vsGrainFactoryOnRegionWidth;0:*,*:vsGrainFactoryOnRegionHeight;0:*,*:vsGrainFactoryGimmick;false:*,*:vsGrainFactoryGimmickFlipVertical;false:*,*:vsGrainFactoryGimmickFlipHorizontal;false:*,*:vsGrainFactoryGimmickResize;false:*,*:vsGrainFactoryGimmickResizeX;48:*,*:vsGrainFactoryGimmickResizeY;48:*,*:vsGrainFactoryGimmickResizer;cubic:*,*:vsGrainFactoryGimmickResizerUndo;true:*,*:vsGrainFactoryGimmickRestrictBitdepth;do not:*,*:vsGrainFactoryGimmickPreColor;false:*,*:vsGrainFactoryGimmickPreColorValue;no change:*,*:vsGrainFactoryGimmickRotate;off:*,*:vsGrainFactoryGimmickCompareEffect;false
Etwas lesbarer formatiert:
Parameter | Wert |
AddGrain - GrainFactory | vsGrainFactory |
vsGrainFactoryDarkMidEnd | 56 |
vsGrainFactoryDarkMidStart | 24 |
vsGrainFactoryG1Sharpness | 35 |
vsGrainFactoryG1Size | 2.20 |
vsGrainFactoryG1Strength | 4.50 |
vsGrainFactoryG2Sharpness | 43 |
vsGrainFactoryG2Size | 1.70 |
vsGrainFactoryG2Strength | 2.70 |
vsGrainFactoryG3Sharpness | 55 |
vsGrainFactoryG3Size | 1.30 |
vsGrainFactoryG3Strength | 2.10 |
vsGrainFactoryMidBrightEnd | 160 |
vsGrainFactoryMidBrightStart | 128 |
vsGrainFactoryOnTopGrain | 1.70 |
vsGrainFactoryTempAverage | 65 |
vsUseGrainFactory3 | true |
vsGrainFactoryUseMasked | false |
vsGrainFactoryMaskName | LimitMask |
vsGrainFactoryMaskStack | *leer* |
vsGrainFactoryLimitMaskLimit | 30 |
vsGrainFactoryLimitMaskFilterBelow | true |
vsGrainFactoryLimitMaskShow | false |
vsGrainFactoryMaskApplyCount | 0 |
vsGrainFactoryRetinexEdgeMaskTCSigma | 1.00 |
vsGrainFactoryCartoonEdgesLow | 0 |
vsGrainFactoryCartoonEdgesHigh | 255 |
vsGrainFactoryRobertsEdgesLow | 0 |
vsGrainFactoryRobertsEdgesHigh | 255 |
vsGrainFactoryRectangleMaskShow | false |
vsGrainFactoryRectangleMaskInvert | false |
vsGrainFactoryRectangleMaskCropLeft | 0 |
vsGrainFactoryRectangleMaskCropTop | 0 |
vsGrainFactoryRectangleMaskCropRight | 0 |
vsGrainFactoryRectangleMaskCropBottom | 0 |
vsGrainFactoryMotionMaskTh1 | 10 |
vsGrainFactoryMotionMaskTh2 | 10 |
vsGrainFactoryMotionMaskT | 15 |
vsGrainFactoryFinegrainMaskFilterMode | RemoveGrain |
vsGrainFactoryRetinexEdgeMaskInvert | false |
vsGrainFactoryRetinexEdgeMaskShow | false |
vsGrainFactoryRetinexEdgeMaskBinarize | false |
vsGrainFactoryRetinexEdgeMaskBinarizeThreshold | 0.500 |
vsGrainFactoryRetinexEdgeMaskScaleF | false |
vsGrainFactoryRetinexEdgeMaskScaleFactor | 1.00 |
vsGrainFactoryKirschEdgeMaskInvert | false |
vsGrainFactoryKirschEdgeMaskShow | false |
vsGrainFactoryKirschEdgeMaskBinarize | false |
vsGrainFactoryKirschEdgeMaskBinarizeThreshold | 0.500 |
vsGrainFactoryKirschEdgeMaskScaleF | false |
vsGrainFactoryKirschEdgeMaskScaleFactor | 1.00 |
vsGrainFactorySobelFastEdgeMaskInvert | false |
vsGrainFactorySobelFastEdgeMaskShow | false |
vsGrainFactorySobelFastEdgeMaskBinarize | false |
vsGrainFactorySobelFastEdgeMaskBinarizeThreshold | 0.500 |
vsGrainFactorySobelFastEdgeMaskScaleF | false |
vsGrainFactorySobelFastEdgeMaskScaleFactor | 1.00 |
vsGrainFactoryBloatedEdgeMaskInvert | false |
vsGrainFactoryBloatedEdgeMaskShow | false |
vsGrainFactoryBloatedEdgeMaskBinarize | false |
vsGrainFactoryBloatedEdgeMaskBinarizeThreshold | 0.500 |
vsGrainFactoryBloatedEdgeMaskScaleF | false |
vsGrainFactoryBloatedEdgeMaskScaleFactor | 1.00 |
vsGrainFactorySobelEdgeMaskInvert | false |
vsGrainFactorySobelEdgeMaskShow | false |
vsGrainFactorySobelEdgeMaskBinarize | false |
vsGrainFactorySobelEdgeMaskBinarizeThreshold | 0.500 |
vsGrainFactorySobelEdgeMaskScaleF | false |
vsGrainFactorySobelEdgeMaskScaleFactor | 1.00 |
vsGrainFactoryPrewittEdgeMaskInvert | false |
vsGrainFactoryPrewittEdgeMaskShow | false |
vsGrainFactoryPrewittEdgeMaskBinarize | false |
vsGrainFactoryPrewittEdgeMaskBinarizeThreshold | 0.500 |
vsGrainFactoryPrewittEdgeMaskScaleF | false |
vsGrainFactoryPrewittEdgeMaskScaleFactor | 1.00 |
vsGrainFactoryCartoonEdgesInvert | false |
vsGrainFactoryCartoonEdgesShow | false |
vsGrainFactoryCartoonEdgesBinarize | false |
vsGrainFactoryCartoonEdgesBinarizeThreshold | 0.500 |
vsGrainFactoryCartoonEdgesScaleF | false |
vsGrainFactoryCartoonEdgesScaleFactor | 1.00 |
vsGrainFactoryRobertsEdgesInvert | false |
vsGrainFactoryRobertsEdgesShow | false |
vsGrainFactoryRobertsEdgesBinarize | false |
vsGrainFactoryRobertsEdgesBinarizeThreshold | 0.500 |
vsGrainFactoryRobertsEdgesScaleF | false |
vsGrainFactoryRobertsEdgesScaleFactor | 1.00 |
vsGrainFactoryFinegrainMaskInvert | false |
vsGrainFactoryFinegrainMaskShow | false |
vsGrainFactoryFinegrainMaskBinarize | false |
vsGrainFactoryFinegrainMaskBinarizeThreshold | 0.500 |
vsGrainFactoryFinegrainMaskScaleF | false |
vsGrainFactoryFinegrainMaskScaleFactor | 1.00 |
vsGrainFactoryMotionMaskInvert | false |
vsGrainFactoryMotionMaskShow | false |
vsGrainFactoryMotionMaskBinarize | false |
vsGrainFactoryMotionMaskBinarizeThreshold | 0.500 |
vsGrainFactoryMotionMaskScaleF | false |
vsGrainFactoryMotionMaskScaleFactor | 1.00 |
vsGrainFactoryUseMerge | false |
vsGrainFactoryMergeY | 0.000 |
vsGrainFactoryMergeU | 0.000 |
vsGrainFactoryMergeV | 0.000 |
vsGrainFactoryMergeYUV | true |
vsGrainFactoryMergeYUVValue | 0.000 |
vsGrainFactoryApplyOnlyTo | false |
vsGrainFactoryOnlyRange | false |
vsGrainFactoryRanges | *leer* |
vsGrainFactoryApplyOnlyToEvery | false |
vsGrainFactoryApplyOnlyToEveryOffsets | *leer* |
vsGrainFactoryApplyOnlyToEveryCycle | 5 |
vsGrainFactoryOnRegion | false |
vsGrainFactoryOnRegionX | 0 |
vsGrainFactoryOnRegionY | 0 |
vsGrainFactoryOnRegionWidth | 0 |
vsGrainFactoryOnRegionHeight | 0 |
vsGrainFactoryGimmick | false |
vsGrainFactoryGimmickFlipVertical | false |
vsGrainFactoryGimmickFlipHorizontal | false |
vsGrainFactoryGimmickResize | false |
vsGrainFactoryGimmickResizeX | 48 |
vsGrainFactoryGimmickResizeY | 48 |
vsGrainFactoryGimmickResizer | cubic |
vsGrainFactoryGimmickResizerUndo | true |
vsGrainFactoryGimmickRestrictBitdepth | do not |
vsGrainFactoryGimmickPreColor | false |
vsGrainFactoryGimmickPreColorValue | no change |
vsGrainFactoryGimmickRotate | off |
vsGrainFactoryGimmickCompareEffect | false |
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 5
Threads: 1
Joined: Oct 2025
(02.10.2025, 20:04)Selur Wrote: Versuch mal mit der aktuellen dev (Hybrid_dev_2025.10.02-1800) und erstell mal einen Debug output davon, vielleicht sieht man dann was da schief geht.
Jo, jetzt klappts.
Nochmal tausend Dank, du bist echt ein super Dev/Maintainer, aktiv und hilfsbereit
Beste Grüße!
|