Page 31 of 32

Re: DGDenoise

Posted: Thu Apr 20, 2017 12:21 pm
by admin
It's also half height. Yes, it is that way because there is one U sample (and one V sample) for each block of 4 luma samples.

Y Y
Y Y
U
V

Re: DGDenoise

Posted: Thu Apr 20, 2017 2:27 pm
by Sharc
Ah, the penny dropped why I got the horizontal reduction only. My source was actually 4:2:2 rather than 4:2:0.
Thanks.

Re: DGDenoise

Posted: Fri Feb 23, 2018 7:40 am
by Sharc
A cosmetic issue with DGDenoise:

When I set strength=0.0 I am getting an almost black picture for chroma=false, and a green picture for chroma=true.
Well, one should not set strength to zero, right? :roll:

Re: DGDenoise

Posted: Fri Feb 23, 2018 8:41 am
by admin
Right. I'll add a check for that. Thanks for pointing it out.

Re: DGDenoise

Posted: Sun Aug 19, 2018 5:52 pm
by mparade
Hello,

Sorry for asking that, but how can one access CUDA Filters packaged into DGDecodeNV?

I have been using DGDecNV for a few years and now opted for giving a try to DGDenoise to speed up my scripts feeded into x265.

Thank you in advance for the support.

Re: DGDenoise

Posted: Sun Aug 19, 2018 6:20 pm
by admin
Just load plugin DGDecodeNV.dll and then use DGDenoise(). If you use DGSource() then you have already loaded the dll. Refer to the DGDecodeNV user manual for parameters.

Re: DGDenoise

Posted: Tue Nov 06, 2018 1:15 pm
by Boulder
Isn't DGDenoise Vapoursynth-compatible? I tried using it the normal way as dgdecodenv.dll is in the VS plugins autoload folder, but the function is not recognized. DGSource itself works just fine. I'd like to switch to DGDenoise as my prefiltering tool, it's much faster than KNLMeansCL even with chroma processing enabled.

Re: DGDenoise

Posted: Tue Nov 06, 2018 1:36 pm
by admin
DGDenoise is not native-Vapoursynth-enabled. You can run it in avscompat mode, however. Here is an example:

import vapoursynth as vs
core = vs.get_core()
core.avs.LoadPlugin("DGDecodeNV.dll")
core.avs.LoadPlugin("DGHDRtoSDR.dll")
clip = core.avs.DGSource("Coco.dgi",fulldepth=True)
clip = core.avs.DGHDRtoSDR(clip,fulldepth=False)
clip = core.avs.DGDenoise(clip)
clip.set_output()

I'm trying to stay away from native support, as it is a major hassle to implement and maintain two versions. If you run into any serious downsides from avscompat mode, please let me know.

BTW, you can run DGSource() in native mode with DGDenoise() in avscompat mode, but you have to load the DLL into both namespaces:

import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin("DGDecodeNV.dll")
core.avs.LoadPlugin("DGDecodeNV.dll")
core.std.LoadPlugin("DGHDRtoSDR.dll")
clip = core.dgdecodenv.DGSource("Coco.dgi",fulldepth=True)
clip = core.dghdrtosdr.DGHDRtoSDR(clip,fulldepth=False)
clip = core.avs.DGDenoise(clip)
clip.set_output()

Re: DGDenoise

Posted: Tue Nov 06, 2018 1:50 pm
by Boulder
Thanks, I think I'll start using the avscompat mode for now. I suppose there are no big differences what comes to performance or stability of DGSource?

Re: DGDenoise

Posted: Tue Nov 06, 2018 2:04 pm
by admin
That's right, there is no significant difference performance-wise. There is a difference in autoloading but to me it is a minor matter.