<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://avisynth.nl/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=Deathray</id>
		<title>Deathray - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=Deathray"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Deathray&amp;action=history"/>
		<updated>2026-04-17T11:42:07Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.24</generator>

	<entry>
		<id>http://avisynth.nl/index.php?title=Deathray&amp;diff=12138&amp;oldid=prev</id>
		<title>Reel.Deal: add changelog</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Deathray&amp;diff=12138&amp;oldid=prev"/>
				<updated>2020-10-29T04:46:01Z</updated>
		
		<summary type="html">&lt;p&gt;add changelog&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:46, 29 October 2020&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[x64]: [https://github.com/JawedAshraf/Deathray/blob/x64-experimental/Deathray.dll Deathray.dll]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[x64]: [https://github.com/JawedAshraf/Deathray/blob/x64-experimental/Deathray.dll Deathray.dll]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|4=Spatial-Temporal Denoisers&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|4=Spatial-Temporal Denoisers&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|5=[https://github.com/JawedAshraf/Deathray/blob/master/Deathray%20licence.txt]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|5=[https://github.com/JawedAshraf/Deathray/blob/master/Deathray%20licence.txt &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;BSD&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|6=[https://forum.doom9.org/showthread.php?t=159148 Doom9 Thread]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;|6=[https://forum.doom9.org/showthread.php?t=159148 Doom9 Thread]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Deathray]] is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a plug-in filter for &lt;/del&gt;spatial/temporal non-local means de-noising.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Deathray]] is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;an OpenCL GPU accelerated &lt;/ins&gt;spatial/temporal non-local means de-noising &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;filter&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 230:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 230:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; deathray ()&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; deathray ()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;== Changelog ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;1.04 - Marks use of OpenCL 1.1 features, that have been deprecated in 1.2, as preferred. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  This keeps AMD SDK from complaining.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;1.03 - Fixed black pixels bug with low values of hY and z=true (also affected chroma with low values of hUV)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  Fixed bug with allocation of a spurious buffer&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;1.02 - Added new l, c, z and b options&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  Temporal filtering now re-weights target pixel based upon all sampled frames&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;1.01 - Removed logging to stderr (was only present in NVidia debug version);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  Includes post-filtering correction first introduced in NVidia debug version;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  Updated to use AMD APP SDK;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  Updated to VS2012 Express Edition;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  Updated DLL so that it is not dependent upon visual C runtime - see post 70;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;1.00 - Initial version&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== External Links ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== External Links ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=Deathray&amp;diff=12136&amp;oldid=prev</id>
		<title>Reel.Deal: Deathray v1.04</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Deathray&amp;diff=12136&amp;oldid=prev"/>
				<updated>2020-10-28T08:25:21Z</updated>
		
		<summary type="html">&lt;p&gt;Deathray v1.04&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FilterCat5|External_filters|Plugins|Plugins_x64|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|1=[https://github.com/JawedAshraf Jawed]&lt;br /&gt;
|2=v1.04&lt;br /&gt;
|&lt;br /&gt;
3=[x86]: [https://github.com/JawedAshraf/Deathray/blob/master/Deathray.dll Deathray.dll]&lt;br /&gt;
---------&lt;br /&gt;
[x64]: [https://github.com/JawedAshraf/Deathray/blob/x64-experimental/Deathray.dll Deathray.dll]&lt;br /&gt;
|4=Spatial-Temporal Denoisers&lt;br /&gt;
|5=[https://github.com/JawedAshraf/Deathray/blob/master/Deathray%20licence.txt]&lt;br /&gt;
|6=[https://forum.doom9.org/showthread.php?t=159148 Doom9 Thread]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Deathray]] is a plug-in filter for spatial/temporal non-local means de-noising.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* [x86]: [[AviSynth+]] or [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6]&lt;br /&gt;
* [x64]: [[AviSynth+]]&lt;br /&gt;
* Supported color formats: [[YV12]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following software configurations are known to work:&lt;br /&gt;
* AMD Stream SDK 2.3     and AMD APP SDK 2.8.1&lt;br /&gt;
* AMD Catalyst 10.12     and 13.8 beta 2&lt;br /&gt;
* Windows Vista 64-bit   and Windows 8 64-bit&lt;br /&gt;
* NVidia software is known to work but drivers unknown&lt;br /&gt;
&lt;br /&gt;
The following hardware configurations are known to work:&lt;br /&gt;
&lt;br /&gt;
* ATI HD 5870&lt;br /&gt;
* AMD HD 7770&lt;br /&gt;
* AMD HD 7970&lt;br /&gt;
* Various NVidia, models unknown&lt;br /&gt;
&lt;br /&gt;
Known non-working hardware:&lt;br /&gt;
&lt;br /&gt;
* ATI cards in the 4000 series or earlier&lt;br /&gt;
* ATI cards in the 5400 series&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Syntax&lt;br /&gt;
=====&lt;br /&gt;
&lt;br /&gt;
deathray (clip, float &amp;quot;hY, float &amp;quot;hUV&amp;quot;, int &amp;quot;tY&amp;quot;, int &amp;quot;tUV&amp;quot;, float &amp;quot;s&amp;quot;, int &amp;quot;x&amp;quot;, bool &amp;quot;l&amp;quot;, bool &amp;quot;c&amp;quot;, bool &amp;quot;z&amp;quot;, bool &amp;quot;b&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usage&lt;br /&gt;
=====&lt;br /&gt;
&lt;br /&gt;
Deathray separates the video into its 3 component planes and processes each&lt;br /&gt;
of them independently. This means some parameters come in two flavours: luma&lt;br /&gt;
and chroma.&lt;br /&gt;
&lt;br /&gt;
Filtering can be adjusted with the following parameters, with the default &lt;br /&gt;
value for each in brackets:&lt;br /&gt;
&lt;br /&gt;
 hY  (1.0) - strength of de-noising in the luma plane.&lt;br /&gt;
&lt;br /&gt;
             Cannot be negative.&lt;br /&gt;
&lt;br /&gt;
             If set to 0 Deathray will not process the luma plane.&lt;br /&gt;
&lt;br /&gt;
 hUV (1.0) - strength of de-noising in the chroma planes.&lt;br /&gt;
&lt;br /&gt;
             Cannot be negative.&lt;br /&gt;
&lt;br /&gt;
             If set to 0 Deathray will not process the chroma planes.&lt;br /&gt;
&lt;br /&gt;
 tY  (0)   - temporal radius for the luma plane.&lt;br /&gt;
&lt;br /&gt;
             Limited to the range 0 to 64.&lt;br /&gt;
&lt;br /&gt;
             When set to 0 spatial filtering is performed on the &lt;br /&gt;
             luma plane. When set to 1 filtering uses the prior,&lt;br /&gt;
             current and next frames for the non-local sampling&lt;br /&gt;
             and weighting process. Higher values will increase&lt;br /&gt;
             the range of prior and next frames that are included.&lt;br /&gt;
&lt;br /&gt;
 tUV (0)   - temporal radius for the chroma planes.&lt;br /&gt;
&lt;br /&gt;
             Limited to the range 0 to 64.&lt;br /&gt;
&lt;br /&gt;
             When set to 0 spatial filtering is performed on the &lt;br /&gt;
             chroma planes. When set to 1 filtering uses the prior,&lt;br /&gt;
             current and next frames for the non-local sampling&lt;br /&gt;
             and weighting process. Higher values will increase&lt;br /&gt;
             the range of prior and next frames that are included.&lt;br /&gt;
&lt;br /&gt;
 s   (1.0) - sigma used to generate the gaussian weights.&lt;br /&gt;
&lt;br /&gt;
             Limited to values of at least 0.1.&lt;br /&gt;
&lt;br /&gt;
             The kernel implemented by Deathray uses 7x7-pixel &lt;br /&gt;
             windows centred upon the pixel being filtered. &lt;br /&gt;
&lt;br /&gt;
             For a 2-dimensional gaussian kernel sigma should be &lt;br /&gt;
             approximately 1/3 of the radius of the kernel, or less,&lt;br /&gt;
             to retain its gaussian nature. &lt;br /&gt;
&lt;br /&gt;
             Since a 7x7 window has a radius of 3, values of sigma &lt;br /&gt;
             greater than 1.0 will tend to bias the kernel towards&lt;br /&gt;
             a box-weighting. i.e. all pixels in the window will &lt;br /&gt;
             tend towards being equally weighted. This will tend to &lt;br /&gt;
             reduce the selectivity of the weighting process and &lt;br /&gt;
             result in relatively stronger spatial blurring.&lt;br /&gt;
&lt;br /&gt;
 x   (1)   - factor to expand sampling.&lt;br /&gt;
&lt;br /&gt;
             Limited to values in the range 1 to 14.&lt;br /&gt;
&lt;br /&gt;
             By default Deathray spatially samples 49 windows &lt;br /&gt;
             centred upon the pixel being filtered, in a 7x7&lt;br /&gt;
             arrangement. x increases the sampling range in&lt;br /&gt;
             multiples of the kernel radius.&lt;br /&gt;
             &lt;br /&gt;
             Since the kernel radius is 3, setting x to 2 produces&lt;br /&gt;
             a sampling area of 13x13, i.e. 169 windows centred&lt;br /&gt;
             upon the target pixel. Yet higher values of x such as&lt;br /&gt;
             3 or 4 will result in 19x19 or 25x25 sample windows.&lt;br /&gt;
&lt;br /&gt;
             Deathray uses 32x32 tiles to accelerate its processing.&lt;br /&gt;
             Each tile is equipped with a border of 8 pixels around&lt;br /&gt;
             all four edges, with pixels copied from neighbouring &lt;br /&gt;
             tiles, or mirrored from within the tile if the tile &lt;br /&gt;
             edge corresponds with a frame edge. This apron of 8&lt;br /&gt;
             extra pixels ensures that the default sampling of &lt;br /&gt;
             49 windows is correct, allowing pixels near the edge of&lt;br /&gt;
             the tile to employ 49 sample windows that all have&lt;br /&gt;
             valid pixels.&lt;br /&gt;
&lt;br /&gt;
             When x is set to 2 or more, sampling will &amp;quot;bump&amp;quot; into&lt;br /&gt;
             the edges defined by the 48x48 region. With strong &lt;br /&gt;
             values of the de-noising parameters this will create&lt;br /&gt;
             artefacts in the filtered image. These artefacts are&lt;br /&gt;
             visible as a grid of vertical and horizontal lines&lt;br /&gt;
             corresponding with the 32x32 arrangement of the tiles.&lt;br /&gt;
&lt;br /&gt;
 l (false) - linear processing of luma plane.&lt;br /&gt;
 &lt;br /&gt;
             true or false.&lt;br /&gt;
&lt;br /&gt;
             This option allows processing in linear space instead&lt;br /&gt;
             of the default gamma space.&lt;br /&gt;
&lt;br /&gt;
 c (true)  - correction after filtering.&lt;br /&gt;
 &lt;br /&gt;
             true or false.&lt;br /&gt;
&lt;br /&gt;
             This option applies a correction after filtering&lt;br /&gt;
             to limit the amount of filtering per pixel.&lt;br /&gt;
			 &lt;br /&gt;
             When set to false the naked NLM algorithm is used.&lt;br /&gt;
			 &lt;br /&gt;
 z (false) - target pixel tends towards zero-weighted.&lt;br /&gt;
 &lt;br /&gt;
             true or false.&lt;br /&gt;
&lt;br /&gt;
             Reduces the weight of the pixel being filtered to&lt;br /&gt;
             a minimum. This results in more even filtering across&lt;br /&gt;
             the tonal range from shadows to highlights.&lt;br /&gt;
			 &lt;br /&gt;
             The standard NLM algorithm gives the pixel being filtered&lt;br /&gt;
             the maximum weight of all. A refinment of the algorithm&lt;br /&gt;
             is to give the pixel being filtered the maximum weight&lt;br /&gt;
             derived from all the other pixels that were inspected.&lt;br /&gt;
			 &lt;br /&gt;
             This maximum of other pixels' weights is used when z is&lt;br /&gt;
             set to false.&lt;br /&gt;
			 &lt;br /&gt;
             When set to true, the minimum of other pixels' weights is&lt;br /&gt;
             used instead.&lt;br /&gt;
&lt;br /&gt;
 b (false) - balanced weighting.&lt;br /&gt;
 &lt;br /&gt;
             true or false.&lt;br /&gt;
&lt;br /&gt;
             Attempts to balance weighting of pixels based upon their&lt;br /&gt;
             luma value.&lt;br /&gt;
			 &lt;br /&gt;
             This parameter is not applied to chroma planes.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Avisynth MT==&lt;br /&gt;
&lt;br /&gt;
Deathray is not thread safe. This means that only a single instance of&lt;br /&gt;
Deathray can be used per Avisynth script. By extension this means that&lt;br /&gt;
it is not compatible with any of the multi-threading modes of the &lt;br /&gt;
Multi Threaded variant of Avisynth. &lt;br /&gt;
&lt;br /&gt;
Use:&lt;br /&gt;
&lt;br /&gt;
SetMTMode(5) &lt;br /&gt;
&lt;br /&gt;
before a call to Deathray in the Avisynth script, if multi-threading&lt;br /&gt;
is active in other parts of the script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Multiple Scripts Using Deathray==&lt;br /&gt;
&lt;br /&gt;
The graphics driver is thread safe. This means it is possible to have&lt;br /&gt;
an arbitrary number of Avisynth scripts calling Deathray running on a &lt;br /&gt;
system. &lt;br /&gt;
&lt;br /&gt;
e.g. 2 scripts could be encoding, another could be running in a media player&lt;br /&gt;
and another could be previewing individual frames in AvsP or VirtualDub.&lt;br /&gt;
&lt;br /&gt;
Eventually video memory will probably run out, even though it's virtualised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System Responsiveness==&lt;br /&gt;
&lt;br /&gt;
Currently graphics drivers are unable to confer user-responsiveness&lt;br /&gt;
guarantees on OpenCL applications that utilise GPUs. This means if you&lt;br /&gt;
are using Deathray on a frame size of 16 million pixels, there will be some&lt;br /&gt;
juddering in Windows every ~0.7 seconds (1.5 frames per second on HD 5870) &lt;br /&gt;
accompanied by difficulty in typing, etc.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
deathray  with all default settings:&lt;br /&gt;
 [[AviSource]](&amp;quot;Blah.avi&amp;quot;)&lt;br /&gt;
 deathray ()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[https://github.com/JawedAshraf/Deathray GitHub] - Source code repository.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Denoisers|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	</feed>