Selur's Little Message Board
Esxi running macos For selur - 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: Esxi running macos For selur (/thread-1495.html)



RE: Esxi running macos For selur - l33tmeatwad - 24.09.2020

You're right about dependencies making things a bit complicated, is there a list of plugins that have external dependencies?  I'll see what I can figure out to make it easier.


RE: Esxi running macos For selur - Selur - 26.09.2020

No clue whether color matrix handling is totally broken or works, but I uploaded my current dev version to GoogleDrive.
Mainly did some cosmetic changes.

Cu Selur


RE: Esxi running macos For selur - Adamcarter - 26.09.2020

Thanks selur!!!


RE: Esxi running macos For selur - Adamcarter - 26.09.2020

Ugh i made a dumb mistake, started encoding a file with just enough space for the .264 file, but not enough to mux the dang thing. Had to restart it because i accidentally hit the play button in jobs. And it began reencoding LOL

Lesson learned. Pick a drive with more space LOL


RE: Esxi running macos For selur - Selur - 27.09.2020

To make sure you still have XY MB free use "Config->Internals->Handling->Minimum size in MB which is required to start a job" Wink


RE: Esxi running macos For selur - Adamcarter - 27.09.2020

Next time it happens i will mux the .x264 with mkvtoolnix.

When people use qtgmc on avisynt  qtgmc for noise reduction and they say sigma 8.0
Is sigma the amount of noise reduction? Does it translate for qtgmc for vapoursynth?


RE: Esxi running macos For selur - Selur - 27.09.2020

Looking at the QTGMC interface in Avisynth:
function QTGMC( clip Input, string "Preset", int "TR0", int "TR1", int "TR2", int "Rep0", int "Rep1", int "Rep2", string "EdiMode", bool "RepChroma", \
                    int "NNSize", int "NNeurons", int "EdiQual", int "EdiMaxD", string "ChromaEdi", int "EdiThreads", clip "EdiExt", float "Sharpness", \
                    int "SMode", int "SLMode", int "SLRad", int "SOvs", float "SVThin", int "Sbb", int "SrchClipPP", int "SubPel", int "SubPelInterp", \
                    int "BlockSize", int "Overlap", int "Search", int "SearchParam", int "PelSearch", bool "ChromaMotion", bool "TrueMotion", int "Lambda", \
                    int "LSAD", int "PNew", int "PLevel", bool "GlobalMotion", int "DCT", int "ThSAD1", int "ThSAD2", int "ThSCD1", int "ThSCD2", \
                    int "SourceMatch", string "MatchPreset", string "MatchEdi", string "MatchPreset2", string "MatchEdi2", int "MatchTR2", \
                    float "MatchEnhance", int "Lossless", int "NoiseProcess", float "EZDenoise", float "EZKeepGrain", string "NoisePreset", string "Denoiser", \
                    int "FftThreads", bool "DenoiseMC", int "NoiseTR", float "Sigma", bool "ChromaNoise", val "ShowNoise", float "GrainRestore", \
                    float "NoiseRestore", string "NoiseDeint", bool "StabilizeNoise", int "InputType", float "ProgSADMask", int "FPSDivisor", \
                    int "ShutterBlur", float "ShutterAngleSrc", float "ShutterAngleOut", int "SBlurLimit", bool "Border", bool "Precise", string "Tuning", \
                    bool "ShowSettings", string "GlobalNames", string "PrevGlobals", int "ForceTR", \
                    val "BT", val "DetailRestore", val "MotionBlur", val "MBlurLimit", val "NoiseBypass", float "Str", float "Amp", bool "TV_range", bool "useEdiExt", int "DftDither", bool "lsbd", bool "lsb", bool "n16", bool "keep_tv_range", String "device_type", int "device_id" )
source: https://github.com/realfinder/AVS-Stuff/blob/Community/avs%202.6%20and%20up/QTGMC.avsi

and QTGMC in Vapoursynth:
def QTGMC(Input, Preset='Slower', TR0=None, TR1=None, TR2=None, Rep0=None, Rep1=0, Rep2=None, EdiMode=None, RepChroma=True, NNSize=None, NNeurons=None, EdiQual=1, EdiMaxD=None, ChromaEdi='',
          EdiExt=None, Sharpness=None, SMode=None, SLMode=None, SLRad=None, SOvs=0, SVThin=0.0, Sbb=None, SrchClipPP=None, SubPel=None, SubPelInterp=2, BlockSize=None, Overlap=None, Search=None,
          SearchParam=None, PelSearch=None, ChromaMotion=None, TrueMotion=False, Lambda=None, LSAD=None, PNew=None, PLevel=None, GlobalMotion=True, DCT=0, ThSAD1=640, ThSAD2=256, ThSCD1=180, ThSCD2=98,
          SourceMatch=0, MatchPreset=None, MatchEdi=None, MatchPreset2=None, MatchEdi2=None, MatchTR2=1, MatchEnhance=0.5, Lossless=0, NoiseProcess=None, EZDenoise=None, EZKeepGrain=None,
          NoisePreset='Fast', Denoiser=None, FftThreads=1, DenoiseMC=None, NoiseTR=None, Sigma=None, ChromaNoise=False, ShowNoise=0.0, GrainRestore=None, NoiseRestore=None, NoiseDeint=None,
          StabilizeNoise=None, InputType=0, ProgSADMask=None, FPSDivisor=1, ShutterBlur=0, ShutterAngleSrc=180, ShutterAngleOut=180, SBlurLimit=4, Border=False, Precise=None, Tuning='None',
          ShowSettings=False, ForceTR=0, TFF=None, pscrn=None, int16_prescreener=None, int16_predictor=None, exp=None, alpha=None, beta=None, gamma=None, nrad=None, vcheck=None, opencl=False, device=None):
source: https://github.com/Selur/VapoursynthScriptsInHybrid/blob/master/havsfunc.py

I would say: Yes, 'Sigma' in Avisynth and Vapoursynth should do the same thing and yes Sigma is basically used as denoising strengh (not the denoising threshold), note that depending on the denoiser used Sigma might get changed internally.
-> so without knowing the rest of the used parameters 'Sigma' on it's own doesn't really help.

And before you ask: No, Hybrid does not offer to overwrite the value of Sigma.
(Personally I don't use QTGMC for filtering, I prefer to use the filters separately.)

Cu Selur


RE: Esxi running macos For selur - Adamcarter - 27.09.2020

I am trying to implement something similar to an  aviscript for qtgmc and it looks like i need to do a sigma of 8.0 and a noiserestore of 0.3

On hybrid vapoursynth if i click on ezdenoise=8, which i am assuming is the sigma, i cant click on ezgrain which i am assuming is the noiserestore. 
(nevermind ezgrain is in another section) i don’t see noiserestore or grain restore customization on hybrid for qtgmc.
Am i missing something or is this going to require me to customize.

Just wondering.


RE: Esxi running macos For selur - Selur - 27.09.2020

Quote:On hybrid vapoursynth if i click on ezdenoise=8, which i am assuming is the sigma, i cant click on ezgrain which i am assuming is the noiserestore.
EZDenoise -> automatic setting to denoise source.
EZKeepGrain -> automatic setting to retain source grain/detail.

You can't use EZDenoise and EZKeepGrain together. Smile

If you try QTGMC will throw an error:
"QTGMC: EZDenoise and EZKeepGrain cannot be used together"

In QTGMC, if Sigma isn't set, it will be adjusted by:
if Sigma is None:
        if EZDenoise is not None and EZDenoise > 0:
            Sigma = EZDenoise
        elif EZKeepGrain is not None and EZKeepGrain > 0:
            Sigma = 4.0 * EZKeepGrain
        else:
            Sigma = 2.0
and then used in the denoiser:
if Denoiser == 'dfttest':
            dnWindow = noiseWindow.dfttest.DFTTest(sigma=Sigma * 4, tbsize=noiseTD, planes=CNplanes)
        elif Denoiser == 'knlmeanscl':
            if ChromaNoise and not isGray:
                dnWindow = KNLMeansCL(noiseWindow, d=NoiseTR, h=Sigma)
            else:
                dnWindow = noiseWindow.knlm.KNLMeansCL(d=NoiseTR, h=Sigma)
        else:
            if hasattr(core, 'neo_fft3d'):
              dnWindow = noiseWindow.neo_fft3d.FFT3D(sigma=Sigma, planes=CNplanes, bt=noiseTD)
            else:
              dnWindow = noiseWindow.fft3dfilter.FFT3DFilter(sigma=Sigma, planes=CNplanes, bt=noiseTD)

DFTTest Sigma: sigma can be anywhere from 1.0 to 256.0 and beyond; denoising "strength" seems proportional to the square root of sigma.
KNLMeansCL h (Sigma): Controls the strength of the filtering. Larger values will remove more noise.
FFT3D: sigma - given noise value for all (or highest) frequencies (float>0, default=2.0)

When GrainRestore is not overwritten, it is set by:
if GrainRestore is None:
        if EZDenoise is not None and EZDenoise > 0:
            GrainRestore = 0.0
        elif EZKeepGrain is not None and EZKeepGrain > 0:
            GrainRestore = 0.3 * math.sqrt(EZKeepGrain)
        else:
            GrainRestore = [0.0, 0.7, 0.3][NoiseProcess]
but might be overwritten to 0 if NoiseProcess > 0.

-> If you want to understand the options your best bet is probably trying to read the QTGMC script itself, since it's decent documented in the script.

Quote:Am i missing something or is this going to require me to customize.
Not really knowing what you want to do, you probably need to write your own script. Smile

Cu Selur


RE: Esxi running macos For selur - Adamcarter - 27.09.2020

Lol, 
Will try to read the instructions. 

I wish i could tell you, even i don’t know what im doing lol