View Full Version : Dogway's Filters Packs
kedautinh12
16th April 2023, 03:07
Hi Dogway, cause filmgrain+ different paramaters from grainfactory3mod. Can you trans this script to filmgrain+ for same result? thanks
gr = 0.3
size = float(width())/2400
GrainFactory3mod(g1str=6*gr,g2str=8*gr,g3str=5*gr,g1size=1.2*size,g2size=1.5*size,g3size=1.4*size,g1cstr=1.5*gr,g2cstr=1.5*gr,g3cstr=1.5*gr,temp_avg=0)
Dogway
16th April 2023, 14:31
As I see from the current presets 5218 is the most similar:
FilmGrainPlus(preset="Vision2 5218 500T")
It will auto-scale from input resolution.
kedautinh12
16th April 2023, 14:40
Thanks
Dogway
16th April 2023, 20:20
Just added SmoothMotion() to ResizersPack.
It's a concept from MPV (https://github.com/mpv-player/mpv/wiki/Interpolation#smoothmotion). To display 24fps content smoothly on 60Hz displays and in real-time.
It works better than ChangeFPS() and ConvertFPS().
Guest
17th April 2023, 02:38
Just added SmoothMotion() to ResizersPack.
It's a concept from MPV (https://github.com/mpv-player/mpv/wiki/Interpolation#smoothmotion). To display 24fps content smoothly on 60Hz displays and in real-time.
It works better than ChangeFPS() and ConvertFPS().
This sounds interesting :)
So in a script that has an SMDegrain pre filter call, etc, where would this need to be, before or after ??
Dogway
17th April 2023, 11:17
After, at the end of the filter stack.
LeXXuz
17th April 2023, 11:31
Any news with Scene Stats?
I tried to mask out fades but it seems there are also error messages on camera pans which makes it not really usable right now. :o
Guest
17th April 2023, 11:37
After, at the end of the filter stack.
Thanks for the info, and thanks for the new filter (whatever it should be called)..
I tried it today, and it worked well on a 4K HDR10 clip :)
But I have to ask, even tho it states that it basically increases the original FPS x 2.5, is it possible to specify a custom fps ??
https://github.com/Dogway/Avisynth-Scripts/blob/master/ResizersPack.avsi#L594
Dogway
17th April 2023, 16:38
@LeXXuz: Provide me a sample so I can have a look.
@FTLOY: The algo is geared towards a 2.5 framerate upsample. What's your source and target FPS you want to do?
Boulder
17th April 2023, 17:55
I tested FilmGrain+ and it looks really nice, thanks a lot :) I often need such a filter to create some fake detail on low-quality or overcleaned sources.
Just noticed that the preblur parameter doesn't seem to work, the strength looks the same with every value other than 0 which effectively does disable it. I was testing on a 8-bit YV12 source.
Dogway
17th April 2023, 18:23
It's a multiplier so if internal blur is already 0 it won't do anything, rarely is 0 so you might see an effect for example multiplying by 2, 3 or 4.
Maybe post your call in case I missed something.
Boulder
18th April 2023, 05:01
It's a multiplier so if internal blur is already 0 it won't do anything, rarely is 0 so you might see an effect for example multiplying by 2, 3 or 4.
Maybe post your call in case I missed something.
For example this one, I cannot see a visible difference between the preblur values. The image is blurred quite heavily compared to the original one so I was thinking of damping it down.
DGSource("test.dgi")
interleave(FilmGrainPlus(preset="Vision 5274 200T", preblur=0.01, deterministic=true), FilmGrainPlus(preset="Vision 5274 200T", preblur=1, deterministic=true))
Guest
18th April 2023, 06:39
@LeXXuz: Provide me a sample so I can have a look.
@FTLOY: The algo is geared towards a 2.5 framerate upsample. What's your source and target FPS you want to do?
I was actually just wondering if it was an option, the 2.5 x is pretty damn close...
As I haven't had too much luck with RIFEwrap :(, mainly GPU memory issues.
I have a sample of a scene from GoT 4K HDR10 that I used SmoothMotion on, and I'd like to get your opinion of which scene is "smoother"..
GoT trees (https://www.mediafire.com/file/f1bcasdzdzfza5d/GoT_trees.7z/file)
At 20 seconds in, there are trees passing across the screen...do I detect a slight "shudder" with the "smooth" clip ??, the other clip is original FPS. It might be my eye's...
Dogway
18th April 2023, 14:58
@FTLOY: They serve different purposes though. RIFEwrap will create new frames so the content will have the soap opera effect if target is 60fps. Meanwhile SmoothMotion is only to smoothly display 24fps on a 60Hz display, but honoring the original film framerate cadence. Nowadays most Smart TVs adapt the refresh rate to accomodate to 24fps.
As for the camera pan on the trees I can see the judder but that's what the algo is. For those areas you would RIFEwrap or some kind of interpolation. Maybe ConvertFPS() blending all frames in that area.
@Boulder: I don't get much blur, you can get the gaussian blur sigma with the following expression which is what's parsed to vsTCanny directly. As you can see for 1080p you get like only 0.09 sigma (preblur=1), and for 2160p 0.49 which is still quite low. On that I think I'm going to bypass gaussian blur for sigmas of 0.35 and lower since they only slow down the filter.
w=1920
str=0.4
shrp=1
pbl=1
subtitle(string(max(0,((sqrt(((1-clamp(shrp*(-0.347*w*0.001+1.667),0,1))*3)+1)/2.)*sqrt(2))*(pow(str*(0.409*w*0.001+0.214),0.318)-0.61)*(pow(w/1920.-0.46,0.4)+0.2)*pbl)))
By the way, I'm going to update ResizersPack and TransformsPack since I commited a few typos yesterday.
Boulder
18th April 2023, 15:26
@Boulder: I don't get much blur, you can get the gaussian blur sigma with the following expression which is what's parsed to vsTCanny directly. As you can see for 1080p you get like only 0.09 sigma (preblur=1), and for 2160p 0.49 which is still quite low. On that I think I'm going to bypass gaussian blur for sigmas of 0.35 and lower since they only slow down the filter.
w=1920
str=0.4
shrp=1
pbl=1
subtitle(string(max(0,((sqrt(((1-clamp(shrp*(-0.347*w*0.001+1.667),0,1))*3)+1)/2.)*sqrt(2))*(pow(str*(0.409*w*0.001+0.214),0.318)-0.61)*(pow(w/1920.-0.46,0.4)+0.2)*pbl)))
By the way, I'm going to update ResizersPack and TransformsPack since I commited a few typos yesterday.
The source is 1024x576 (originally 1080p, then inverted the upscale and cleaned the video), here are sample screenshots where the blur is rather visible in the clothes and in the earring.
https://i.ibb.co/qmSr0gL/original.png
https://i.ibb.co/51HwFxD/filmgrain-preblur1-0.png
Your code shows 0.014060 if I set w=1024, but maybe any vsTCanny is just blurring noticably. If I set str to 0.2, like I've also tested, the value is 0 but still preblur 0 vs 1 affects the output the same way.
Dogway
18th April 2023, 15:54
What I see is vertical blur only. Is vsTCanny updated? This is my first and probably only suspect. Just tested resizing a clip to 1024 width and no issues either.
-----------------------
By the way I wanted to update the rationale for per-shot grain restoration posted here (https://forum.doom9.org/showthread.php?p=1975232), with some fixes and updates.
The main change here aside using FilmGrainPlus now is that the regrain filter is outside ScriptClip runtime environment, this is not only faster but will yield more stable and probably better results.
The main takeaway here is that you can't run SceneStats after heavy filtering, otherwise the look-ahead and lookbacks will take too much time, so we render the stats to an external file.
First for the scene stats, later for the grain diff stats.
# First Pass (fast)
setmemorymax(2048*4)
DGSource("C:\source.dgi",cl=0,ct=0,cr=0,cb=0)
SceneStats(mode="Range",path="C:\Range.log")
Prefetch(1)
# Second Pass (slowish)
setmemorymax(2048*4)
DGSource("C:\source.dgi",cl=0,ct=0,cr=0,cb=0)
ReadStats("C:\Range.log")
ExtractY()
dirt = last
# If this is too slow use a faster spatio-temporal denoiser
SMDegrain(1, 400, prefilter=1, ContraSharp=false, RefineMotion=false, LFR=400)
ex_makediff(dirt,dif=false) # dirt mask
SceneStats(mode="Stats", path="C:\Stats.log") # per-shot dirt mask average
Prefetch(1)
# Third Pass
setmemorymax(2048*4)
DGSource("C:\source.dgi",cl=0,ct=0,cr=0,cb=0)
ConvertBits(16)
SMDegrain(3, 400, RefineMotion=true) # your actual denoiser or whatever filtering here
ReadStats("C:\Range.log")
ReadStats("C:\Stats.log")
bright = FilmGrainPlus(size=0.8,str=0.2,mode="log")
mid = FilmGrainPlus(size=0.9,str=0.4,mode="log")
dark = FilmGrainPlus(size=1.1,str=0.6,mode="log")
# per-shot modulated grain
# Normally motion leads to a greater degrain mask (up to 4 times the values) so you might...
# also want to compute that in First Pass to rule out false positives
ScriptClip(function [bright,mid,dark] () {
avg = propGetAsArray("_SceneStats")[6] # IQM. values are stored as 8-bit
avg > 0.6 ? dark : \
avg > 0.4 ? mid : bright
} )
ConvertBits(8, dither=1)
Prefetch(6)
Boulder
18th April 2023, 17:44
What I see is vertical blur only. Is vsTCanny updated? This is my first and probably only suspect. Just tested resizing a clip to 1024 width and no issues either.
That was it - I didn't have the latest version :eek: Thanks again!
LeXXuz
22nd April 2023, 08:22
Out of all those many presets and settings for Filmgrain+,
what would be a good starting point for a quite subtle grain in SD, HD and 4k, just enough to help poor displays as additional dithering to fight banding?
I encode with x265 @ CRF16 and below with a very slow custom preset, so I'm not concerned it it would be hurt too much by compression.
kedautinh12
22nd April 2023, 12:51
Out of all those many presets and settings for Filmgrain+,
what would be a good starting point for a quite subtle grain in SD, HD and 4k, just enough to help poor displays as additional dithering to fight banding?
I encode with x265 @ CRF16 and below with a very slow custom preset, so I'm not concerned it it would be hurt too much by compression.
Need more example about only enough to help poor displays as additional dithering to fight banding
Dogway
22nd April 2023, 18:35
I'm lacking a few presets, specially on the 50 and 200 range which would be more subtle but you can check Vision3 5219, if it's too slow (because of grain small size) try 5218 or play with 'size' and also 'str' if you want it more subtle.
To avoid banding you need to run FGP in HBD as well.
By the way, just refactored FastLineDarkenMOD(), now it's 13% faster in 8-bit and +39% in HBD.
Lan4
23rd April 2023, 20:51
LSFplus is currently not available in SharpenersPack. It should be?
LeXXuz
23rd April 2023, 22:41
LSFplus is currently not available in SharpenersPack. It should be?
LSFPlus is separate. As noted in overview of sharpeners package. ;)
LeXXuz
24th April 2023, 13:14
I'm lacking a few presets, specially on the 50 and 200 range which would be more subtle but you can check Vision3 5219, if it's too slow (because of grain small size) try 5218 or play with 'size' and also 'str' if you want it more subtle.
To avoid banding you need to run FGP in HBD as well.
By the way, just refactored FastLineDarkenMOD(), now it's 7% faster in 8-bit and +29% in HBD.
Can I select a preset with custom parameters, f.e.
FilmGrainPlus(preset="Vision3 5219 500T", sharpness=0.5)
or would that be ignored?
madey83
24th April 2023, 15:48
Hi,
Could you please explain when and which one mfilters i should use in SMDegrain.
Are there any examples to show use cases of each?
What is the value of using them in SMDegrain?
Dogway
24th April 2023, 19:59
Can I select a preset with custom parameters, f.e.
FilmGrainPlus(preset="Vision3 5219 500T", sharpness=0.5)
Sure, you can override them, is it not working or something?
Could you please explain when and which one mfilters i should use in SMDegrain.
Are there any examples to show use cases of each?
What is the value of using them in SMDegrain?
'mfilter' argument you mean? That's called motion filter because the filter you pass there is applied typically on motion areas where motion block matching failed. The typical usage is to use spatial filters so you get two perks, a smoother less artifacty output and compressibility.
LeXXuz
24th April 2023, 21:49
Sure, you can override them, is it not working or something?
No, all good. Just wanted to make sure as I had a hard time to spot the subtle difference over a remote session. But the filesize was noticeable smaller in the end between the default preset setting and custom setting with only 50% of sharpness. :)
Guest
25th April 2023, 05:27
@ Dogway, (or anyone)
I hope this isn't off topic too much, and I apologize if a similar question has been asked.
But are there filters / scripts in your "arsenal" that could do an equivalent "job" as Topaz ??
I have tried Topaz on several old crappy video's, and I'm not convinced :(
If you Google this topic, there are mentions that AVS can do as good a job, with appropriate scripts & plugins, etc.
So I thought I'd ask...:o
madey83
25th April 2023, 07:51
'mfilter' argument you mean? That's called motion filter because the filter you pass there is applied typically on motion areas where motion block matching failed. The typical usage is to use spatial filters so you get two perks, a smoother less artifacty output and compressibility.
this is what i got from first page:
ex_FluxSmoothST()- Spatio-Temporal minimum change between weighted blur and median. Uses ex_FluxSmoothT() and its spatial equivalent ex_MinBlur()
is it mean that these two are the only spatial filters?
Have you got few examples how to use them and which is better? Or maybe there are betters - could you please provide names?
:thanks:
SkilledAbbot
25th April 2023, 08:56
Hello Forum,
It's been a while since I've used avisynth, and now I am currently reinstalling everything. I'm not very technical but I really enjoyed LSF decades ago and now I am trying to re-implement it to no avail.
Have no idea where I am wrong. Is there are tutorial for newbies like me with step by step setup for these filters? My script and error are pasted below. Thank you.
Import("E:\GameCap\Scripts\functions\ExTools.avs")
Import("E:\GameCap\Scripts\functions\SMDegrain.avs")
Import("E:\GameCap\Scripts\functions\ResizersPack.avs")
Import("E:\GameCap\Scripts\functions\SharpenersPack.avs")
Import("E:\GameCap\Scripts\functions\GradePack.avs")
Import("E:\GameCap\Scripts\functions\FilmGrain+.avs")
Import("E:\GameCap\Scripts\functions\MasksPack.avs")
Import("E:\GameCap\Scripts\functions\NNEDI3CL_rpow2.avs")
Import("E:\GameCap\Scripts\functions\ScenesPack.avs")
Import("E:\GameCap\Scripts\functions\TransformsPack-Main.avs")
Import("E:\GameCap\Scripts\functions\TransformsPack-Models.avs")
Import("E:\GameCap\Scripts\functions\TransformsPack-Transfers.avs")
Import("E:\GameCap\Scripts\functions\LSFplus.avs")
DirectShowSource("E:\GameCap\Videos\test.mp4", audio=false)
LSFplus()
https://imgur.com/a/D6yyOOj
Dogway
25th April 2023, 09:03
@madey83: I made tons of spatial filters, for example at least half of ex_median() modes are spatial. Also the SMDegrain prefilters are mostly spatial, so you got ex_minblur() which is pretty nice, ex_KNLMeansCL(), ex_DGDenoise(), ex_BM3D(), DFTTest() but also other ones in ExTools like ex_bilateral(), ex_smartblur() or STTWM(). Then in yugefunc you got ex_guidedblur() and ex_ANguidedblur(). It depends how much you want to denoise and how much you want to protect. For instance is it's blocking and not noise what covers motion areas you'd also could run Deblock_QED(). Depending on what you need I can recommend ex_minblur(), ex_median("IQMV"), ex_median("smart"), ex_KNLMeansCL()/ex_DGDenoise() and ex_BM3D().
@FTLOY: You mean like AI upscaling? I think the best is to actually use upscaling models like the ones here (https://forum.doom9.org/showthread.php?t=184768). I asked him to add a few ones optimized for live action so probably he will add those when he finds some time. Other than that I made deep_resize() as a performant approach for upscaling, it's not bad at all and it's fast. Aside form the default NNEDI3 you can also try other kernels for 'edge' argument like FCBI, SuperResXBR, Waifu2x, RAVU, FSR1 or FSRCNN. I look forward to do some AI based restorations when I install Win10, but probably not in AviSynth.
@SkilledAbbot: Install latest version here (https://forum.doom9.org/showthread.php?t=181351). Search for AviSynth+ 3.7.3 test 9, but before that use an installer (https://github.com/AviSynth/AviSynthPlus/releases/) version even if it's a bit older, and then manually replace files with 'test 9' ones. Also give a look at Asd-g repo (https://github.com/Asd-g) and install some of his plugins, they are very useful and at times needed, also pinterf repo (https://github.com/pinterf) for the most up-to-date common plugins. And use FFMS2 (https://forum.doom9.org/showthread.php?p=1986154#post1986154) loader or GPU based DGDecNV (http://avisynth.nl/index.php/DGDecNV) for frame properties support, might fail otherwise.
SkilledAbbot
25th April 2023, 09:22
@SkilledAbbot: Install latest version here (https://forum.doom9.org/showthread.php?t=181351). Search for Avisynth+ 3.7.3 test 9. Also give a look at Asd-g repo (https://github.com/Asd-g) and install some of his plugins, they are very useful and at times needed, also pinterf repo (https://github.com/pinterf) for the most up-to-date common plugins. And use FFMS2 (https://forum.doom9.org/showthread.php?p=1986154#post1986154) loader or GPU based DGDecNV (http://avisynth.nl/index.php/DGDecNV) for frame properties support, might fail otherwise.
Thank you for quick reply. I want to double check, "3.7.3 test9" does not have '+' next to the name. Is that the one?
Dogway
25th April 2023, 09:27
He might have forgotten, the current branch since a few years now is all + based. Also if you use AvsPmod the current updated branch is gispos', you can find here (https://forum.doom9.org/showthread.php?t=175823).
madey83
25th April 2023, 10:01
[QUOTE=Dogway;1986223]@madey83: I made tons of spatial filters, for example at least half of ex_median() modes are spatial. Also the SMDegrain prefilters are mostly spatial, so you got ex_minblur() which is pretty nice, ex_KNLMeansCL(), ex_DGDenoise(), ex_BM3D(), DFTTest() but also other ones in ExTools like ex_bilateral(), ex_smartblur() or STTWM(). Then in yugefunc you got ex_guidedblur() and ex_ANguidedblur(). It depends how much you want to denoise and how much you want to protect. For instance is it's blocking and not noise what covers motion areas you'd also could run Deblock_QED(). Depending on what you need I can recommend ex_minblur(), ex_median("IQMV"), ex_median("smart"), ex_KNLMeansCL()/ex_DGDenoise() and ex_BM3D().
thank you so much.
SkilledAbbot
27th April 2023, 13:50
@Dogway: Works like a charm and looks beautiful. Thank you!
@SkilledAbbot: Install latest version here (https://forum.doom9.org/showthread.php?t=181351). Search for AviSynth+ 3.7.3 test 9, but before that use an installer (https://github.com/AviSynth/AviSynthPlus/releases/) version even if it's a bit older, and then manually replace files with 'test 9' ones. Also give a look at Asd-g repo (https://github.com/Asd-g) and install some of his plugins, they are very useful and at times needed, also pinterf repo (https://github.com/pinterf) for the most up-to-date common plugins. And use FFMS2 (https://forum.doom9.org/showthread.php?p=1986154#post1986154) loader or GPU based DGDecNV (http://avisynth.nl/index.php/DGDecNV) for frame properties support, might fail otherwise.
Lan4
30th April 2023, 15:52
Questions about SharpenersPack. I'm interested in non-linear sharpness. In other words, strong for small differences, and not strong for large differences.
1) ex_unsharp has no non-linear sharpening options. But if I increment str and safe=true, will those be non-linear sharpening actions?
2) The threshold in ex_unsharp seems to work in the opposite way. What if we use minus values of threshold?
3) A more complex problem that I've caught a few times. Just to clarify, I'm using the Staxrip app for Avisynth. I use FineSharpPlus and DetailSharpen filters. The same parameter of non-linear sharpness gives exactly the opposite result. First they sharpen, and then something happens and they start blurring the image. Could this theoretically happen?
Dogway
1st May 2023, 01:55
I don't know how it is in StaxRip but DetailSharpen doesn't have non-linear modifier, only 'pow' which is analogous to FineSharpPlus' 'pstr'. Both act in the same way as I could check and in the range recommended in the function definitions.
FineSharpPlus in this case is a superior non-linear sharpener as I ported its portion from LSFplus, but it doesn't have all the bell and whistles of the later, so probably you might want to use LSFplus instead.
What you look after (strong on small diffs) is actually the opposite of the implemented non-linear modes. You are looking then into LSFplus' edgemode=2, this will sharpen non-edges only but applied through an edge mask though.
If you want a manual and non-linear sharpening you can also use ex_guidedblur(), which is a non-linear blurring filter.
src = last
rad = 1
bl = ex_guidedblur(rad)
ex_lutxy(bl,"x y - x +")
ex_clamp(src,bl,last) # limiter (might clamp small diffs though)
ex_unsharp() with safe=true is only for ringing, it will still sharpen edges. I found that threshold works bad with safe=true, but in any case they kinda null each other so can you can safely turn safe=false and turn up threshold, no more than 40 or so. Threshold works as a passthough to the unsharpened version, I noticed that after a certain value it starts to blur instead so I might fix that.
Finally you can also use ex_limitdif() as used in deep_resize():
ex_limitdif(flat, edge, thr=thr, elast=ela, UV=1)
LSFplus is too heavy for my needs. FineSharpPlus, DetailSharpen or ex_unsharp are lighter and faster.
DetailSharpen doesn't have non-linear modifier
I thought so because the script itself says:
sstr (float) - strength of non-linear sharpening.
power (float) - exponent of non-linear sharpening.
Threshold works as a passthough to the unsharpened version, I noticed that after a certain value it starts to blur instead
I see that the threshold of ex_unsharp always blurs. so I asked about the possibility of minus threshold values.
Both act in the same way as I could check and in the range recommended in the function definitions.
purely theoretically, there may be a possibility of such a bug that the parameter values give the opposite effect? to further understand if my computer is not working properly with the filters, or if the Staxrip application is not working properly.
Dogway
1st May 2023, 12:16
LSFplus in 'LSF' mode and without supersampling is rather fast I'd say.
What I meant with DetailSharpen is that you can't change the non-linearity, you can change its power but not its shape.
I will have a look at ex_unsharp threshold issue* in the meantime try some of the above suggestions. You can also pass ex_unsharp through an edge mask. I guess your goal is for texture sharpness which that will suffix.
*I didn't find any change on negative values
I didn't find negative ex_unsharp threshold values. I meant is it possible to make negative values. And would this be a texture sharpening solution (more so than edge sharpening)?
Dogway
1st May 2023, 20:39
ex_unsharp() is a plain unsharp mask so I don't want to add non-linear sharpening aside from the bundled anti-ringing 'safe' option.
It is easy to mask out edges as I explained above:
With an edge mask:
msk=ex_edge("frei-chen")
ex_unsharp(2.0, Fc=1920, safe=true)
ex_merge(src,msk)
Using ex_limitdif():
ex_unsharp(2.0, Fc=1920, safe=false)
ex_limitdif(src,thr=1.5,elast=4.0)
LeXXuz
2nd May 2023, 08:48
What does a neg value for strc mean in FilmGrain+? That no chroma grain is applied? Or do I have to set it to 0 if I don't want chroma processing?
Dogway
2nd May 2023, 13:11
Negative grain, I don't know what AddGrainC does. The function definition sets the range between 0.0 and 1.0 so that's the recommended values. I would go low in any case.
anton_foy
2nd May 2023, 14:49
Usually in smdegrain I put "uhdhalf=false" because on my 4k footage uhdhalf=true it gets too soft and seems to loose too much detail to post sharpen it. Any way to compensate this inside smdegrain to keep the speed benifits of mscalevec?
LeXXuz
2nd May 2023, 16:41
Usually in smdegrain I put "uhdhalf=false" because on my 4k footage uhdhalf=true it gets too soft and seems to loose too much detail to post sharpen it. Any way to compensate this inside smdegrain to keep the speed benifits of mscalevec?
Hm interesting. I wanted to try that out to see difference in denoising. With interesting result. There seems to be a possible bug. As talked about before, I use Expr("81","90","250",scale_inputs="int") as mfilter to determine how well my settings work on a source.
With uhdhalf=false on 4k content, the entire picture is bright red with no details at all. Even with very high thSAD setting. Which would mean mvtools does not find ANY match in that source. Which can't be.
With uhdhalf=true, everything is fine and only a few remaining areas with too high SAD are left shown as red.
I used this simple call:
SMDegrain(mode="MDegrain", tr=6, DCT=5, thSAD=500, refinemotion=true, blksize=32, mfilter=Expr("81","90","250",scale_inputs="int"), chroma=true, plane=4, gpuid=-1, interlaced=false, uhdhalf=false)
Doesn't matter what I set thSAD to, it stays all red. Either there is a bug in mfilter routine or denoising doesn't work at all with uhdhalf=false on 4k content. :confused:
anton_foy
2nd May 2023, 19:14
@LeXXuz
What happens if you put:
convertbits(16)
Converttoyuv444()
Smdegrain(uhdhalf=false,params)
Dogway
3rd May 2023, 03:47
What about setting limit=255? Does it improve denoising? I defaulted limit for !UHDHalf to 2 due to some issues.
LeXXuz
3rd May 2023, 17:29
@LeXXuz
What happens if you put:
convertbits(16)
Converttoyuv444()
Smdegrain(uhdhalf=false,params)
Apart from the fact that I can't use DGHDRtoSDR() in the prefilter chain with 4:4:4, because it expects YUV420P16 as input, the result is still the same. Complete red screen. Something is off.
anton_foy
4th May 2023, 00:24
Are the params tuned somewhat to the results of Zopti in the latest smdegrain version?
Dogway
4th May 2023, 09:19
Are the params tuned somewhat to the results of Zopti in the latest smdegrain version?
Yes it is optimized, that's why all the search, searchr, searchparam, DCT, DCTR, etc defaults and the output is more detail retaining than the original SMDegrain. The only thing I didn't finish is verification by pair. I was supposed to run Zopti again on another source with artificial grain but didn't have time.
anton_foy
4th May 2023, 10:43
Yes it is optimized, that's why all the search, searchr, searchparam, DCT, DCTR, etc defaults and the output is more detail retaining than the original SMDegrain. The only thing I didn't finish is verification by pair. I was supposed to run Zopti again on another source with artificial grain but didn't have time.
Awesome! Sorry for the delay with the grain plates, I have been out of internet at home for a while but coming soon.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.