Posts: 62
Threads: 10
Joined: Aug 2024
When I change "GrainLevel" settings on TemporalDegrain2 for Vapoursynth (0, -1, -2...), there's absolutely no difference in the resulting video, every single pixel is the same.
At first I was thinking that was because this setting was dependent on another one, but even if I change all other settings, "GrainLevel" doesn't appear on the encoding script in "Show Vapoursynth Script". It's odd since it controls degrain strenght, which is quite important.
Is this setting really supported by Hybrid ?
Thank you
Posts: 10.976
Threads: 56
Joined: May 2017
Posts: 62
Threads: 10
Joined: Aug 2024
03.09.2024, 19:08
Ah so that's it.
I also just noticed another thing with Degrain radius (aka degrainTR) :
- degrainTR=0 make encodings crash
- There are no difference with degrainTR=1 and degrainTR=2 on several frames I compared, but there's a difference with degrainTR=2 and degrainTR=3, as if degrainTR=1 is ignored and degrainTR=2 (default value) is used instead.
If I found some other bugs with it, I'll report them here.
Posts: 10.976
Threads: 56
Joined: May 2017
Uploaded a new dev (see: experimental folder in my GoogleDrive linked on the download page), which should fix the problem.
GrainLevel should now properly change the ppSAD1, ppSAD2, ppSCD1 values.
(Before it only did work when FilterQueue was used)
Cu Selur
Posts: 10.976
Threads: 56
Joined: May 2017
Will look at 'Degrain Radius'.
Posts: 10.976
Threads: 56
Joined: May 2017
Argh dev is still broken.
Posts: 10.976
Threads: 56
Joined: May 2017
"degrainTR=0 make encodings crash"
That's due to a bug in the TemporalDegrain2 script. => this will take a while
Checked the script:
def TemporalDegrain2(clip, degrainTR=1, degrainPlane=4, grainLevel=2, grainLevelSetup=False, meAlg=4, meAlgPar=None, meSubpel=None, meBlksz=None, meTM=False,
limitSigma=None, limitBlksz=None, fftThreads=None, postFFT=0, postTR=1, postSigma=1, postMix=0, postBlkSize=None, knlDevId=0, ppSAD1=None, ppSAD2=None,
ppSCD1=None, thSCD2=128, DCT=0, SubPelInterp=2, SrchClipPP=None, GlobalMotion=True, ChromaMotion=True, rec=False, extraSharp=False, outputStage=2, neo=True):
=> the default assumed value in Hybrid is wrong, will fix.
Posts: 62
Threads: 10
Joined: Aug 2024
Ah, according to this page it's actually degrainTR is actually 1 by default so this value seems correct, it's just that 1 and 2 give the same result
http://avisynth.nl/index.php/TemporalDegrain2
As for grainlevel, maybe it's because "grainLevelSetup=False" instead of "grainLevelSetup=True" ? But there's isn't any entry on the GUI for it
Posts: 10.976
Threads: 56
Joined: May 2017
Hybrid uses https://github.com/Selur/VapoursynthScri...n.py#L2143 for Vapoursynth.
Added, grainLevelSetup to the GUI, but I don't see any effect when it's used. (but not sure what to look for, since I have never had any need to use it )
Uploaded a new dev, which should fix the problems. (at least it seems to for me )
Going to bed now, but if you find more problems, let me know and I can look at them tomorrow after work.
Cu Selur
Posts: 62
Threads: 10
Joined: Aug 2024
(03.09.2024, 20:32)Selur Wrote: Hybrid uses https://github.com/Selur/VapoursynthScri...n.py#L2143 for Vapoursynth.
Added, grainLevelSetup to the GUI, but I don't see any effect when it's used. (but not sure what to look for, since I have never had any need to use it )
Uploaded a new dev, which should fix the problems. (at least it seems to for me )
Going to bed now, but if you find more problems, let me know and I can look at them tomorrow after work.
Cu Selur
So I tested the last dev version.
With "GrainLevelSetup=true", it works (there's a visual difference in the output video) but it's likely that the issue wasn't linked to this parameter, because with GrainLevelSetup=true + Grainlevel=0 or -2 or 3, the image is blurrier than with GrainLevelSetup=false + Grainlevel=2)
On avisynth.nl we can read about GrainLevelSetup :
Quote:GrainLevelSetup (false), only to be used while finding the right setting for grainLevel. This will skip all your other settings!
If I understand correctly, Grainlevel can work without GrainLevelSetup. However, with GrainLevelSetup=false there's still no difference with any Grainlevel value, which is strange since on avisynth.nl, they give presets with different grainlevel value, without using nor mentioning GrainLevelSetup.
|