DGDenoise

These CUDA filters are packaged into DGDecodeNV, which is part of DGDecNV.
User avatar
admin
Site Admin
Posts: 4346
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDenoise

Post by admin » Tue Apr 18, 2017 1:57 pm

Oy, that last slipstream was brain-dead. :oops:

OK, I fixed the DGDenoise problem. Now I have one little issue in DGTelecide. Fixes coming soon...

Thanks for pointing this out, gonca.

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 692
Joined: Sun Apr 08, 2012 6:12 pm

Re: DGDenoise

Post by gonca » Tue Apr 18, 2017 2:47 pm

Thanks for creating the filters

User avatar
admin
Site Admin
Posts: 4346
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDenoise

Post by admin » Tue Apr 18, 2017 3:07 pm

Thanks. Of course, it would be better if they worked properly. ;)

I just slipstreamed the fix. Heading over to the binaries thread to announce it.

User avatar
admin
Site Admin
Posts: 4346
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDenoise

Post by admin » Tue Apr 18, 2017 3:09 pm

This works pretty good on your sample, gonca:

dgsource("sample.dgi")
dgdenoise(strength=2.0,searchw=9,chroma=true)
dgsharpen()

That's industrial strength. Reduce strength and/or searchw, or turn off chroma, if you like.

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 692
Joined: Sun Apr 08, 2012 6:12 pm

Re: DGDenoise

Post by gonca » Tue Apr 18, 2017 3:27 pm

I have read the documentation but would you recommend searchw=9 or chroma+true over the defaults in general terms?

User avatar
admin
Site Admin
Posts: 4346
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDenoise

Post by admin » Tue Apr 18, 2017 3:42 pm

Generally, it's a tradeoff of speed against thoroughness (aka, "quality").

Take chroma. Make this script:

dgsource("sample.dgi")
UtoY() # visualize the chroma U plane

and compare it to this:

dgsource("sample.dgi")
grayscale() # visualize the luma plane

You will see that there is lots of noise in the luma but only a relatively small amount in the chroma. That's pretty typical. So adding chroma=true will slow things down while not doing much for the perceived result.

Regarding searchw. The bigger it is the better the smoothing but you lose some detail and it takes longer.

I usually just go with searchw=5 and chroma=false and then set the strength as desired. I don't work with very noisy sources like your sample, however. The knobs are there for you to tweak for noisier sources.

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 692
Joined: Sun Apr 08, 2012 6:12 pm

Re: DGDenoise

Post by gonca » Tue Apr 18, 2017 4:15 pm

Thanks for the explanation and information.
I normally don't work with sources that noisy but I do have some older movies hat seem to be from the era of "Movie Grain is King"

User avatar
gonca
Distinguished Member
Distinguished Member
Posts: 692
Joined: Sun Apr 08, 2012 6:12 pm

Re: DGDenoise

Post by gonca » Tue Apr 18, 2017 4:24 pm

Running an encode and it looks like its all working as it should

User avatar
admin
Site Admin
Posts: 4346
Joined: Thu Sep 09, 2010 3:08 pm

Re: DGDenoise

Post by admin » Tue Apr 18, 2017 4:28 pm

Sweet, thanks for the report and testing. I tested this version pretty well too.

Sharc
Distinguished Member
Distinguished Member
Posts: 206
Joined: Thu Sep 23, 2010 1:53 pm

Re: DGDenoise

Post by Sharc » Thu Apr 20, 2017 11:41 am

admin wrote:Generally, it's a tradeoff of speed against thoroughness (aka, "quality").

Take chroma. Make this script:

dgsource("sample.dgi")
UtoY() # visualize the chroma U plane

and compare it to this:

dgsource("sample.dgi")
grayscale() # visualize the luma plane
Why is the chroma U plane view shown at half frame width? Is it because of the YV12 4.2.0 colorspace?

Post Reply