Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 27th July 2016, 17:34   #101  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
I could make a 64-bit version, but I don't know what you could use it for, since Deathray only works with Avisynth and that's 32-bit only. Isn't it?

How would you use a 64-bit version?
Jawed is offline   Reply With Quote
Old 27th July 2016, 17:53   #102  |  Link
captaiŋadamo
Guest
 
Posts: n/a
Deathray - OpenCL GPU accelerated spatial/temporal non-local means de-noising

Avisynth+ has had 64-bit builds for a while now.
  Reply With Quote
Old 27th July 2016, 18:40   #103  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
Does Deathray work with Avisynth+ ?
Jawed is offline   Reply With Quote
Old 27th July 2016, 18:55   #104  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by Jawed View Post
Does Deathray work with Avisynth+ ?
Sure, no problem.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 27th July 2016, 20:20   #105  |  Link
captaiŋadamo
Guest
 
Posts: n/a
Quote:
Originally Posted by Jawed View Post
Does Deathray work with Avisynth+ ?
Wouldn't see why not. One of the main selling points is plugin compatibility.
  Reply With Quote
Old 28th July 2016, 01:01   #106  |  Link
Magik Mark
Registered User
 
Join Date: Dec 2014
Posts: 666
I guess there's only one way to find out

Is it possible to have a template similar to light, medium, and strong as a starting point?


Sent from my iPhone using Tapatalk
__________________
Asus ProArt Z790 - 13th Gen Intel i9 - RTX 3080 - DDR5 64GB Predator - LG OLED C9 - Yamaha A3030 - Windows 11 x64 - PotPlayerr - Lav - MadVR
Magik Mark is offline   Reply With Quote
Old 28th July 2016, 19:32   #107  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
I believe that I would have to create a new version of Deathray to be able to support 64-bit Avisynth+, because I would be linking against Avisynth+'s 64-bit lib. Instead of Avisynth's 32-bit lib.

These are two completely different pieces of software.

I have no idea how much work that involves.
Jawed is offline   Reply With Quote
Old 28th July 2016, 21:30   #108  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
Quote:
Originally Posted by Magik Mark View Post
I guess there's only one way to find out

Is it possible to have a template similar to light, medium, and strong as a starting point?
Start here:

deathray(hy=0.3, huv=0.3, ty=0, tuv=0, s=1, x=1, l=false, c=false, z=true, b=true) # light

If you don't have colour noise, set huv=0.

Set hy as low as 0.1 or as high as you like. Similar for huv.

Set ty to 3 or 5 if you want to try temporal denoising (lots of frames). Set tuv similarly if you have colour noise:

deathray(hy=0.5, huv=0.5, ty=3, tuv=3, s=1, x=1, l=false, c=false, z=true, b=true) # medium

Try x=2 (don't use higher) for another way to increase strength:

deathray(hy=1, huv=1, ty=5, tuv=5, s=1, x=2, l=false, c=false, z=true, b=true) # heavy

I don't think there's any reason to go beyond 5 for ty and tuv.

I prefer MDegrain3.

By far my favourite is Deathray2 making a calm clip for MDegrain3 with a very light post-denoise by Deathray. That combination is on a whole other level.

Last edited by Jawed; 29th July 2016 at 09:35. Reason: heavy was slightly wrong
Jawed is offline   Reply With Quote
Old 28th July 2016, 22:32   #109  |  Link
ultim
AVS+ Dev
 
ultim's Avatar
 
Join Date: Aug 2013
Posts: 359
Quote:
Originally Posted by Jawed View Post
I believe that I would have to create a new version of Deathray to be able to support 64-bit Avisynth+, because I would be linking against Avisynth+'s 64-bit lib. Instead of Avisynth's 32-bit lib.

These are two completely different pieces of software.

I have no idea how much work that involves.
The headers are the same for both x32 and x64, and a plugin never needs to link with the Avisynth .lib at all. So the extra effort is as small as just compiling with the x64 toolchain (doing an extra build) without any code changes, assuming that your own code is x64-compatible.
__________________
AviSynth+
ultim is offline   Reply With Quote
Old 28th July 2016, 22:59   #110  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
Quote:
Originally Posted by ultim View Post
The headers are the same for both x32 and x64, and a plugin never needs to link with the Avisynth .lib at all. So the extra effort is as small as just compiling with the x64 toolchain (doing an extra build) without any code changes, assuming that your own code is x64-compatible.
Thanks, you're right I had a look and the external libs include OpenCL and AMD APP, but not Avisynth.

I will have a quick play...
Jawed is offline   Reply With Quote
Old 28th July 2016, 23:49   #111  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
My avisynth.h has the following line 347:

void* operator new(unsigned size);

And when I try to compile for 64-bit I get the error message:

error C2821: first formal parameter to 'operator new' must be 'size_t'

So, I've changed it to:

void* operator new(size_t size);

Which compiles. I have no idea if that's broken it (I'm assuming that the 64-bit avisynth uses the same fix...)

Now, anyone who'd like to experiment, go here:

https://github.com/JawedAshraf/Death...4-experimental

and right-click the Deathray.dll file and save the target file.

So if you're feeling brave, see what happens when you use this experimental 64-bit release. I don't know how to test it...

(I have written other non-Avisynth 64-bit DLLs that work fine (using OpenCL), so I'm pretty hopeful about this.)
Jawed is offline   Reply With Quote
Old 28th July 2016, 23:55   #112  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
You should use the latest AVS+ header from here.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 29th July 2016, 00:06   #113  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
OK, tomorrow night, nearly my bedtime.
Jawed is offline   Reply With Quote
Old 29th July 2016, 04:54   #114  |  Link
Magik Mark
Registered User
 
Join Date: Dec 2014
Posts: 666
Thanks for the preset. It makes our testing a lot easier. By the way,. How will you classify video grain? Luminance noise? Will the light setting be able to take care of this?


Sent from my iPhone using Tapatalk
__________________
Asus ProArt Z790 - 13th Gen Intel i9 - RTX 3080 - DDR5 64GB Predator - LG OLED C9 - Yamaha A3030 - Windows 11 x64 - PotPlayerr - Lav - MadVR
Magik Mark is offline   Reply With Quote
Old 29th July 2016, 09:37   #115  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
Quote:
Originally Posted by Magik Mark View Post
Thanks for the preset. It makes our testing a lot easier. By the way,. How will you classify video grain? Luminance noise? Will the light setting be able to take care of this?
I made an error in the heavy preset:

deathray(hy=1, huv=3, ty=5, tuv=5, s=1, x=2, l=false, c=false, z=true, b=true) # heavy

huv should be set to 1. I've corrected that.

There is no classification of video grain or luminance noise.

I'm afraid these "presets" are literally just starting points.

Also, bear in mind that apart from a very light preset and as a pre-processor, I don't use Deathray. I certainly wouldn't use it as the sole de-noiser. Except for a quick and dirty de-noise.
Jawed is offline   Reply With Quote
Old 29th July 2016, 23:11   #116  |  Link
Jawed
Registered User
 
Join Date: Jan 2008
Location: London
Posts: 156
Quote:
Originally Posted by Groucho2004 View Post
You should use the latest AVS+ header from here.
Thanks.

As I expected, there was quite a bit more effort involved than simply using the new header. The commits show the gory detail.

So, I've updated the DLL. See post 111 for instructions on getting this DLL. I haven't tested it.

Have fun!
Jawed is offline   Reply With Quote
Old 29th July 2016, 23:37   #117  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by Jawed View Post
As I expected, there was quite a bit more effort involved than simply using the new header. The commits show the gory detail
Looking at the commits, it's pretty much the usual things required for updating AVS2.5 filters to the AVS2.6 interface.

Thanks for the update, I'll give it a whirl soon.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 21st January 2023, 20:46   #118  |  Link
spiralout
Registered User
 
Join Date: Jan 2023
Posts: 1
Anybody get the 64bit Deathray working?
spiralout is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 17:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.