<?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=DupStep</id>
		<title>DupStep - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=DupStep"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=DupStep&amp;action=history"/>
		<updated>2026-04-08T01:04:15Z</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=DupStep&amp;diff=12937&amp;oldid=prev</id>
		<title>Reel.Deal: add additional dl link</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=DupStep&amp;diff=12937&amp;oldid=prev"/>
				<updated>2023-02-12T19:24:02Z</updated>
		
		<summary type="html">&lt;p&gt;add additional dl link&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 19:24, 12 February 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;{{FilterCat6|External_filters|Plugins|Plugins_x64|Adjustment_filters|Duplicate_Frame_Detectors|Deep_color_tools}}&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;{{FilterCat6|External_filters|Plugins|Plugins_x64|Adjustment_filters|Duplicate_Frame_Detectors|Deep_color_tools}}&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;{{Filter3&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;{{Filter3&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;| [https://github.com/Orum Orum]&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;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1=&lt;/ins&gt;[https://github.com/Orum Orum]&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;| v0.03&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;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;2=&lt;/ins&gt;v0.03&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;| [https://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;web&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;archive&lt;/del&gt;.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;web/20210727212429if_/https://files&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;videohelp.com/u/223002/DupStep_0.03.zip &lt;/del&gt;DupStep_0.03.zip]&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;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;3=&lt;/ins&gt;[https://&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;forum&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;doom9&lt;/ins&gt;.org/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;attachment&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;php?attachmentid=17887&amp;amp;d=1631991131 &lt;/ins&gt;DupStep_0.03.zip]&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;| Duplicate frame detectors&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;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;4=&lt;/ins&gt;Duplicate frame detectors&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;| [http://www.gnu.org/licenses/gpl-3.0.html GPLv3]&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;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;5=&lt;/ins&gt;[http://www.gnu.org/licenses/gpl-3.0.html GPLv3]&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=175338 Doom9 Forum]}}&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=175338 Doom9 Forum]}}&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 522:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 522:&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 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;!v0.03&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;!v0.03&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;|[https://forum.doom9.org/attachment.php?attachmentid=17887&amp;amp;d=1631991131 DupStep_0.03.zip]&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;|[https://web.archive.org/web/20210727212429if_/https://files.videohelp.com/u/223002/DupStep_0.03.zip DupStep_0.03.zip]&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;|[https://web.archive.org/web/20210727212429if_/https://files.videohelp.com/u/223002/DupStep_0.03.zip DupStep_0.03.zip]&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;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 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;/table&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=DupStep&amp;diff=12599&amp;oldid=prev</id>
		<title>Reel.Deal: repo is gone</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=DupStep&amp;diff=12599&amp;oldid=prev"/>
				<updated>2022-04-03T03:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;repo is gone&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 03:55, 3 April 2022&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;| [https://github.com/Orum Orum]&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;| [https://github.com/Orum Orum]&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;| v0.03&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;| v0.03&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;| [https://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;github&lt;/del&gt;.com/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Orum&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DupStep&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;releases &lt;/del&gt;DupStep_0.03.zip]&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;| [https://&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;web.archive.org/web/20210727212429if_/https://files.videohelp&lt;/ins&gt;.com/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;u&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;223002&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DupStep_0.03.zip &lt;/ins&gt;DupStep_0.03.zip]&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;| Duplicate frame detectors&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;| Duplicate frame detectors&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;| [http://www.gnu.org/licenses/gpl-3.0.html GPLv3]&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;| [http://www.gnu.org/licenses/gpl-3.0.html GPLv3]&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 527:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 527:&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;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;*[https://github.com/Orum/DupStep GitHub] - Source code repository.&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;*&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;strike&amp;gt;&lt;/ins&gt;[https://github.com/Orum/DupStep GitHub] - Source code repository &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;- NOW DELETED&amp;lt;/strike&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;&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;-----------------------------------------------&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 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;'''Back to [[External_filters#Duplicate_Frame_Detectors|External Filters]] &amp;amp;larr;'''&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;'''Back to [[External_filters#Duplicate_Frame_Detectors|External Filters]] &amp;amp;larr;'''&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=DupStep&amp;diff=12357&amp;oldid=prev</id>
		<title>Reel.Deal: add archive downloads section</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=DupStep&amp;diff=12357&amp;oldid=prev"/>
				<updated>2021-07-27T19:27:14Z</updated>
		
		<summary type="html">&lt;p&gt;add archive downloads section&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 19:27, 27 July 2021&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 514:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 514:&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;/pre&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;/pre&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;&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;== Archived Downloads ==&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;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&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;!!width=&amp;quot;100px&amp;quot;| 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;!!width=&amp;quot;150px&amp;quot;| Download&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;!!width=&amp;quot;150px&amp;quot;| Mirror&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;!v0.03&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;|[https://web.archive.org/web/20210727212429if_/https://files.videohelp.com/u/223002/DupStep_0.03.zip DupStep_0.03.zip]&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;|}&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=DupStep&amp;diff=11900&amp;oldid=prev</id>
		<title>Reel.Deal: add Deep_color_tools category</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=DupStep&amp;diff=11900&amp;oldid=prev"/>
				<updated>2020-06-25T23:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;add Deep_color_tools category&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 23:51, 25 June 2020&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;{{&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;FilterCat5&lt;/del&gt;|External_filters|Plugins|Plugins_x64|Adjustment_filters|Duplicate_Frame_Detectors}}&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;{{&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;FilterCat6&lt;/ins&gt;|External_filters|Plugins|Plugins_x64|Adjustment_filters|Duplicate_Frame_Detectors&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|Deep_color_tools&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;{{Filter3&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;{{Filter3&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;| [https://github.com/Orum Orum]&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;| [https://github.com/Orum Orum]&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=DupStep&amp;diff=11059&amp;oldid=prev</id>
		<title>Reel.Deal: DupStep: add documentation</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=DupStep&amp;diff=11059&amp;oldid=prev"/>
				<updated>2020-04-06T14:01:20Z</updated>
		
		<summary type="html">&lt;p&gt;DupStep: add documentation&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|Adjustment_filters|Duplicate_Frame_Detectors}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
| [https://github.com/Orum Orum]&lt;br /&gt;
| v0.03&lt;br /&gt;
| [https://github.com/Orum/DupStep/releases DupStep_0.03.zip]&lt;br /&gt;
| Duplicate frame detectors&lt;br /&gt;
| [http://www.gnu.org/licenses/gpl-3.0.html GPLv3]&lt;br /&gt;
|6=[https://forum.doom9.org/showthread.php?t=175338 Doom9 Forum]}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Description ==&lt;br /&gt;
DupStep is a duplicate frame detector and decimator for AviSynth+.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
*[[AviSynth+]] (x64 only)&lt;br /&gt;
*Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]] ... (8 to 16 bit planar YUV formats)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.microsoft.com/en-us/download/details.aspx?id=48145 Microsoft Visual C++ 2015 Redistributable Package (x64)]&lt;br /&gt;
:&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;***&amp;lt;/span&amp;gt; &amp;lt;tt&amp;gt;vcredist_x64.exe&amp;lt;/tt&amp;gt; is required for &amp;lt;tt&amp;gt;DupStep&amp;lt;/tt&amp;gt;&lt;br /&gt;
*An OpenCL platform &amp;amp; device (e.g. CPU/GPU) supporting OpenCL 1.2 or later&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DupStep( \&lt;br /&gt;
  clip, float thresh = -1.0, int ifmcm = 0, int metric = 2, int blksize = -1, int planes = 2,  \&lt;br /&gt;
  int pco = -1, float Cweight = -1.0, bool ptp = true, string stats = &amp;quot;dupstep.dsd&amp;quot;,           \&lt;br /&gt;
  string times = &amp;quot;&amp;quot;, float toff = 0.0, int show = 0, oclpi = -2, ocldi = 0)&lt;br /&gt;
&lt;br /&gt;
DS_dumpocl()   # Useful for adjusting 'oclpi' / 'ocldi' parameters, see description below&lt;br /&gt;
DS_cachefp(clip, stats = &amp;quot;dupstep.dsd&amp;quot;)   # See 'ptp' and 'stats' below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
------------------&lt;br /&gt;
thresh (float):&lt;br /&gt;
  default value = -1.0 (auto)&lt;br /&gt;
    valid range = any&lt;br /&gt;
&lt;br /&gt;
  This is the threshold DupStep uses to decide if a frame is a duplicate or not.  If thresh is&lt;br /&gt;
set to zero, only frames that are exact copies of one another will be detected as duplicates.&lt;br /&gt;
If thresh is set to a positive value, DupStep will use the value you specify as the threshold.&lt;br /&gt;
&lt;br /&gt;
  If thresh is negative, DupStep will instead use an automatic default value, which is then&lt;br /&gt;
scaled (multiplied) by the absolute value of 'thresh'.  For example, setting 'thresh' to a value&lt;br /&gt;
of -2.0 or -0.5 will use twice or half of the automatic default value respectively.&lt;br /&gt;
&lt;br /&gt;
  Changing a value, positive or negative, to be closer to zero will make it less likely for&lt;br /&gt;
frames to be detected as duplicates.  Doing the opposite (further from zero) makes DupStep more&lt;br /&gt;
tolerant of noise, but also makes it more likely a &amp;quot;real&amp;quot; frame will be accidentally detected as&lt;br /&gt;
a duplicate.&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;Clean&amp;quot; sources (i.e. those with little noise due to lossy encoding) may benefit from setting&lt;br /&gt;
this value closer to zero.  Noisy or low quality sources may want to set it further from zero.&lt;br /&gt;
For lossless sources, set 'thresh' to zero.&lt;br /&gt;
&lt;br /&gt;
  Lastly, note that the automatic values are based on a number of other parameters, such as&lt;br /&gt;
'metric', 'planes', 'pco', and 'Cweight', as well as the bit-depth of the clip.  Changing those&lt;br /&gt;
parameters while using an automatic (i.e. negative) threshold will automatically adjust the&lt;br /&gt;
threshold accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ifmcm (int):&lt;br /&gt;
  default value = 0&lt;br /&gt;
    valid range = 0 to 2 (inclusive)&lt;br /&gt;
&lt;br /&gt;
  This variable's name stands for &amp;quot;Inter Frame Metric Comparison Mode&amp;quot; and it allows you to set&lt;br /&gt;
how metrics are used to compare frames.  The various modes are described in the chart below:&lt;br /&gt;
&lt;br /&gt;
   Value |   Type   | Description&lt;br /&gt;
  -------+----------+------------------------------------------&lt;br /&gt;
     0   |  Direct  | Direct frame &amp;lt;-&amp;gt; frame metric comparison&lt;br /&gt;
     1   | Indirect | Summed single-frame deltas&lt;br /&gt;
     2   | Indirect | Individual single-frame deltas&lt;br /&gt;
&lt;br /&gt;
  Setting this to 0 is the most accurate mode, and has only a slight performance penalty when&lt;br /&gt;
changing parameters compared to later modes.  As such, it's the default and recommended mode.&lt;br /&gt;
In this mode, cache depth is dynamic and increases indefinitely until a non-duplicate frame is&lt;br /&gt;
found.&lt;br /&gt;
&lt;br /&gt;
  The next mode, 1, uses metrics only of adjacent frames.  These metrics are summed until they&lt;br /&gt;
exceed the threshold.  It's less accurate than the direct mode, but once a cache is created no&lt;br /&gt;
further metrics need to be generated regardless of parameter changes (with a few exceptions).&lt;br /&gt;
It's more conservative than the last mode, but should be more useful when you have low temporal&lt;br /&gt;
noise or scenes with very slow changes (e.g. a static image fading to/from black).&lt;br /&gt;
&lt;br /&gt;
  Finally, mode 2 is identical to mode 1, except that metrics are not summed and an adjacent&lt;br /&gt;
frame delta must exceed the threshold in order to be detected as a non-duplicate frame.  This&lt;br /&gt;
can lead to long segments with small changes being detected as duplicates and disappearing&lt;br /&gt;
entirely, so it should be used with caution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
metric (int):&lt;br /&gt;
  default value = 2 (SSBD)&lt;br /&gt;
    valid range = 0 to 4 (inclusive)&lt;br /&gt;
&lt;br /&gt;
  This sets the metric DupStep uses to calculate a frame delta (the difference between two&lt;br /&gt;
frames).  The following table shows which method is used for a given metric value:&lt;br /&gt;
&lt;br /&gt;
   Value | Metric | Type  | Description&lt;br /&gt;
  -------+--------+-------+-----------------------------------&lt;br /&gt;
     0   |  SSD   | Frame | Sum of Squared Differences&lt;br /&gt;
     1   |  SAD   | Frame | Sum of Absolute Differences&lt;br /&gt;
     2   |  SSBD  | Block | Sum of Squared Block Differences&lt;br /&gt;
     3   |  SABD  | Block | Sum of Absolute Block Differences&lt;br /&gt;
     4   |  PAD   | Pixel | Peak Absolute Difference&lt;br /&gt;
&lt;br /&gt;
  The values 0 and 1 are &amp;quot;whole frame&amp;quot; metrics, as their values depend on changes across the&lt;br /&gt;
entire frame.  Metrics 2 and 3 are &amp;quot;block level&amp;quot; metrics, that are based on the block that&lt;br /&gt;
changed the most between two frames.  Finally, metric 4 is a &amp;quot;pixel&amp;quot; metric which looks only at&lt;br /&gt;
the single pixel that changed the most between the two frames.&lt;br /&gt;
&lt;br /&gt;
  Metrics 2 and 4 are, based on my testing, the best at discerning duplicate frames, as they are&lt;br /&gt;
sensitive to small changes that only affect part of the entire frame.  Metric 2 (SSBD) is more&lt;br /&gt;
sensitive to low frequency temporal changes (e.g. a static image fading in/out), but as such&lt;br /&gt;
it's also more sensitive to low frequency temporal noise.  Metric 4 (PAD) should prove more&lt;br /&gt;
useful if this sensitivity to low frequency temporal changes is not needed or desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
blksize (int):&lt;br /&gt;
  default value = -1 (auto)&lt;br /&gt;
    valid range = -1 to 3 (inclusive)&lt;br /&gt;
&lt;br /&gt;
  Sets the block size used for block-based metrics.  Smaller blocks are more sensitive to small&lt;br /&gt;
changes, but also more sensitive to noise.  If set to -1, an automatic block size will be chosen&lt;br /&gt;
based on the resolution (specifically, the luma pixel count) of the clip.  It uses the following&lt;br /&gt;
formula (which is then clamped to the valid range):&lt;br /&gt;
&lt;br /&gt;
                       2 * 2 ^ floor(log2(pixels) / 2 - 7.54185309632968)&lt;br /&gt;
&lt;br /&gt;
  If set to a non-negative number, instead the block size is set manually to a value between 2&lt;br /&gt;
and 16 according to the following formula:&lt;br /&gt;
&lt;br /&gt;
                                        2 * 2 ^ blksize&lt;br /&gt;
&lt;br /&gt;
  If the block size is changed after metrics have been generated, the metric cache will be&lt;br /&gt;
declared invalid and will automatically be regenerated.  See the 'stats' parameter for more&lt;br /&gt;
information on the cache structure.&lt;br /&gt;
&lt;br /&gt;
  When calculating metrics for video with subsampled chroma planes, the block dimensions (in&lt;br /&gt;
pixels) are adjusted in order to cover an area equal to the luma blocks (per block).  Also note&lt;br /&gt;
that if the video height or width is not divisible by 'blksize', any blocks that would normally&lt;br /&gt;
extend beyond the end of the frame will instead overlap other blocks in order to produce valid&lt;br /&gt;
metrics for the edge of the frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
planes (int):&lt;br /&gt;
  default value = 2 (chroma &amp;amp; luma)&lt;br /&gt;
    valid range = 0 to 2 (inclusive)&lt;br /&gt;
&lt;br /&gt;
  Sets which planes to process.  Set to 0 for luma only, 1 for chroma only, and 2 for both luma&lt;br /&gt;
and chroma.  Note that the cache will always generate metrics for all planes regardless of what&lt;br /&gt;
this is set to, which allows you to change this setting without having to regenerate the cache.&lt;br /&gt;
&lt;br /&gt;
  Note that for mixed content (i.e. footage with some parts in color, and others in grayscale)&lt;br /&gt;
this should be set to 2 in order to process both luma and chroma planes, but 'pco' should be&lt;br /&gt;
adjusted.  See the 'pco' parameter for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pco (int):&lt;br /&gt;
  default value = -1 (auto)&lt;br /&gt;
    valid range = -1 to 2 (inclusive)&lt;br /&gt;
&lt;br /&gt;
  The 'pco' parameter stands for &amp;quot;plane combining operation&amp;quot;, and is ignored unless 'planes' is&lt;br /&gt;
set to 2 (chroma &amp;amp; luma).  It controls what mathematical operation is used to combine the&lt;br /&gt;
metrics from the luma &amp;amp; chroma planes, following the table below:&lt;br /&gt;
&lt;br /&gt;
   Value | Operation      | Example    | Chosen when set to automatic (-1)...&lt;br /&gt;
  -------+----------------+------------+------------------------------------------&lt;br /&gt;
     0   | Sum            | Y   + UV   | For all 'metric' settings except PAD (4)&lt;br /&gt;
     1   | Sum of squares | Y^2 + UV^2 | Only when 'metric' is set to PAD (4)&lt;br /&gt;
     2   | Maximum        | max(Y, UV) | Never; recommended for mixed content&lt;br /&gt;
&lt;br /&gt;
  This should be set to 2 whenever you have color content mixed with grayscale, so that chroma&lt;br /&gt;
planes are not ignored, while simultaneously preventing grayscale content from being penalized.&lt;br /&gt;
This should make setting an appropriate threshold easier, though adjusting the 'Cweight'&lt;br /&gt;
parameter may be necessary for optimal results.  See 'Cweight' documentation for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cweight (float):&lt;br /&gt;
  default value = -1.0 (auto)&lt;br /&gt;
    valid range = any non-zero value&lt;br /&gt;
&lt;br /&gt;
  This sets a scaling (weighting) value to use for chroma metrics.  It is intended to make&lt;br /&gt;
chroma planes more meaningful when determining if a frame is a duplicate.  Its value is ignored&lt;br /&gt;
unless 'planes' is set to 2 (chroma &amp;amp; luma).  If you wish to disable this functionality, set&lt;br /&gt;
'Cweight' to 1.0.&lt;br /&gt;
&lt;br /&gt;
  If negative, an automatic default will be set depending on the 'metric' being used.  It is set&lt;br /&gt;
to 2.35 for absolute difference metrics (SAD/SABD/PAD) and 2.35^2 for squared metrics (SSD/SSBD)&lt;br /&gt;
after which it is scaled (multiplied) by the absolute value of 'Cweight'.&lt;br /&gt;
&lt;br /&gt;
  Increasing the chroma weighting (setting it further from 0) may prove useful for clips with&lt;br /&gt;
relatively high noise in the luma plane but low noise in the chroma planes.  Decreasing it (i.e.&lt;br /&gt;
setting it closer to 0) may be helpful when the inverse is true.  Additionally, you may want to&lt;br /&gt;
change the 'pco' setting when adjusting this value; see that parameter for information.&lt;br /&gt;
&lt;br /&gt;
  Finally, note that chroma weighting is applied before any mathematical operations performed by&lt;br /&gt;
the 'pco' setting take place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ptp (bool):&lt;br /&gt;
  default value = true (enabled)&lt;br /&gt;
&lt;br /&gt;
  This variable's name is an acronym that stands for &amp;quot;picture type preference&amp;quot;.  When set to&lt;br /&gt;
true and used along with an appropriate source filter, it allows later frames in a string of&lt;br /&gt;
duplicates to be used as the reference frame if they are determined to be higher in priority,&lt;br /&gt;
with the thought that higher priority is assigned to higher quality frames.&lt;br /&gt;
&lt;br /&gt;
  To determine priority, the filter looks for the FFPICT_TYPE exported variable, which may be&lt;br /&gt;
set depending on what source filter you are using.  Currently, the only filter I am aware of&lt;br /&gt;
that sets this variable is FFVideoSource().  It then assigns a priority value to the frame&lt;br /&gt;
according to the following table (the lower the number, the higher the priority):&lt;br /&gt;
&lt;br /&gt;
   FFPICT_TYPE | Priority | Description&lt;br /&gt;
  -------------+----------+-----------------------------------------&lt;br /&gt;
      I / i    |    0     | Intra frame&lt;br /&gt;
      P / p    |    1     | Predicted frame&lt;br /&gt;
   B / b, S, ? |    2     | Bidirectional, Sprite, or unknown frame&lt;br /&gt;
&lt;br /&gt;
  In theory, intra frames should be the highest quality frames, followed by 'P-frames', and&lt;br /&gt;
finally the lowest quality frames should be 'B-frames' and everything else.  If frame type&lt;br /&gt;
cannot be determined, it is automatically assumed to be of the lowest quality and therefore&lt;br /&gt;
assigned the same priority as a B-frame.&lt;br /&gt;
&lt;br /&gt;
  If this variable is set to false or when using a source filter that does not set the&lt;br /&gt;
FFPICT_TYPE variable, DupStep will always return the first frame of a string of duplicates.&lt;br /&gt;
This should only be done if you are NOT using FFVideoSource().&lt;br /&gt;
 &lt;br /&gt;
  Note that if (spatio)temporal filtering happens between FFVideoSource() and DupStep(), there&lt;br /&gt;
is the potential for incorrect FFPICT_TYPE results to be fed to DupStep().  To allow for metrics&lt;br /&gt;
to be calculated after (spatio)temporal filtering, while still using valid data when 'ptp' is&lt;br /&gt;
enabled, the DS_cachefp() filter should be used.  To properly use this functionality, do the&lt;br /&gt;
following steps in order:&lt;br /&gt;
&lt;br /&gt;
  1. Use FFVideoSource(), followed by any Trim(), UnalignedSplice() / +, AlignedSplice() / ++,&lt;br /&gt;
     etc. commands.  The frame count and order must not change between the end of this script&lt;br /&gt;
     and what is ultimately fed into DupStep().&lt;br /&gt;
  2. Append DS_cachefp() to the end of your script, ensuring that the 'stats' parameter does not&lt;br /&gt;
     refer to any existing cache file.&lt;br /&gt;
  3. Open the script.  If the frame priority cache creation completed successfully, you should&lt;br /&gt;
     see an error message stating that the &amp;quot;Frame priority cache [was] created.&amp;quot;&lt;br /&gt;
  4. Edit your script, removing the DS_cachefp() filter and inserting any filtering you desire&lt;br /&gt;
     prior to DupStep(), followed by the DupStep() filter itself.&lt;br /&gt;
  5. Ensure 'stats' is set appropriately in DupStep() so that it refers to the cache file&lt;br /&gt;
     created by the DS_cachefp().  DupStep() will use the frame priority cache already generated&lt;br /&gt;
     while using the filtered video for metric calculation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
stats (string):&lt;br /&gt;
  default value = &amp;quot;dupstep.dsd&amp;quot;&lt;br /&gt;
    valid range = any valid file name or null&lt;br /&gt;
&lt;br /&gt;
  This sets the file name where DupStep will save its frame priority cache and its frame delta&lt;br /&gt;
(metrics) cache, or alternatively where it will load the cache from if a previously written,&lt;br /&gt;
valid cache file exists.  If set to null, DupStep will not read or write the cache from/to disk,&lt;br /&gt;
and instead regenerate it every time.  For performance reasons as well as flexibility, I&lt;br /&gt;
STRONGLY recommend you do not do so.&lt;br /&gt;
&lt;br /&gt;
  This cache file is split into two parts, the first being the frame priority cache.  It holds&lt;br /&gt;
frame priority values for use when 'ptp=true' (see that parameter for details).  This cache is&lt;br /&gt;
deemed valid as long as its cache version matches that of the of the DupStep filter being used&lt;br /&gt;
and its frame count matches that of the video fed into DupStep().  If determined to be invalid&lt;br /&gt;
or missing, the entire cache file will need to be (re)created, i.e. it will be automatically&lt;br /&gt;
(re)generated and (over)written.&lt;br /&gt;
&lt;br /&gt;
  The second portion of the cache holds the frame deltas (AKA metrics) cache.  It is considered&lt;br /&gt;
usable as long as its pixel type matches the current video, its block size matches the current&lt;br /&gt;
'blksize' parameter (see 'blksize' for details), and the frame priority cache is valid.  If&lt;br /&gt;
those properties remain unchanged, a different clip can be used with the same cache, allowing&lt;br /&gt;
for advanced filtering, e.g. using a filtered clip to create the cache, but then applying the&lt;br /&gt;
decimation to an unfiltered clip.  When doing this, ensure 'ifmcm' is not set to 0 in order to&lt;br /&gt;
force all queries to be answered from the cache.&lt;br /&gt;
&lt;br /&gt;
  If the metrics cache is invalid, but the frame priority cache is still valid, the priority&lt;br /&gt;
will remain unaltered while only the metrics are (over)written.  Also, when using the DupStep&lt;br /&gt;
filter in multiple scripts within a single directory, be sure to set a different 'stats' file&lt;br /&gt;
for each script, otherwise they will overwrite one another when opened or use incorrect values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
times (string):&lt;br /&gt;
  default value = &amp;quot;&amp;quot; (null)&lt;br /&gt;
    valid range = any valid file name or null&lt;br /&gt;
&lt;br /&gt;
  This sets the file name to write VFR timestamps to.  If set to a non-null string, Matroska&lt;br /&gt;
timestamps will be written in the &amp;quot;v2&amp;quot; format.  Any existing file will be overwritten.  This&lt;br /&gt;
file should be muxed in with mkvmerge using the &amp;quot;--timestamps&amp;quot; option for proper VFR playback.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
toff (float):&lt;br /&gt;
  default value = 0.0 (no offset)&lt;br /&gt;
    valid range = any&lt;br /&gt;
&lt;br /&gt;
  This parameter sets an offset, in milliseconds, to apply as a global adjustment to all&lt;br /&gt;
timestamps that are written to the 'times' file (if set; see above).  It can be negative in&lt;br /&gt;
order to shift the times earlier, or positive to delay them all.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
show (int):&lt;br /&gt;
  default value = 0&lt;br /&gt;
    valid range = 0 to 3 (inclusive)&lt;br /&gt;
&lt;br /&gt;
  This parameter controls several settings with a single value by using a bit mask, similar to&lt;br /&gt;
the way chmod can be used to set *nix file permissions.  The least significant bit, 1, controls&lt;br /&gt;
the display of textual information on top of the frame, useful for adjusting the 'thresh'&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
  The next highest bit, 2, controls whether or not DupStep decimates frames.  When set, frames&lt;br /&gt;
that would normally be decimated will instead be shown.  This is probably most useful when&lt;br /&gt;
combined with the lowest bit (sum them, i.e. set 'show=3') to display metric information for&lt;br /&gt;
frames that would otherwise disappear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
oclpi (int):&lt;br /&gt;
  default value = -2 (prefer CPU)&lt;br /&gt;
    valid range = -3 to system dependent maximum (inclusive)&lt;br /&gt;
&lt;br /&gt;
  This sets the &amp;quot;OpenCL Platform Index&amp;quot; that the filter should use.  DupStep is limited to using&lt;br /&gt;
a single OpenCL platform and a single device on that platform (see 'ocldi' parameter) for memory&lt;br /&gt;
throughput reasons, and this allows you to select which platform that should be.&lt;br /&gt;
&lt;br /&gt;
  When set to a non-negative value, this specifies the index of the chosen platform.  To see a&lt;br /&gt;
list of platforms along with a list of associated devices, use the DS_dumpocl() function within&lt;br /&gt;
an AviSynth+ script, and they will be listed using AviSynth+'s internal error reporting&lt;br /&gt;
mechanism.  The 'ocldi' parameter should also be set if you want to use a device beyond the&lt;br /&gt;
first one listed for the chosen platform.&lt;br /&gt;
&lt;br /&gt;
  If this is set to a negative value, instead the platform index will be chosen automatically&lt;br /&gt;
according to the following table (note that CPUs/GPUs may not be found if they are lacking a&lt;br /&gt;
OpenCL-capable driver):&lt;br /&gt;
&lt;br /&gt;
   Value | Setting    | Description&lt;br /&gt;
  -------+------------+------------------------------------------------------&lt;br /&gt;
    -4   | GPU only   | Consider only GPUs, error if none found&lt;br /&gt;
    -3   | Prefer GPU | Look first for GPUs, fall back to CPUs if none found&lt;br /&gt;
    -2   | Prefer CPU | Look first for CPUs, fall back to GPUs if none found&lt;br /&gt;
    -1   | CPU only   | Consider only CPUs, error if none found&lt;br /&gt;
&lt;br /&gt;
  Note that the device indices ('ocldi' parameter) listed by DS_dumpocl() may not be valid when&lt;br /&gt;
using these automatic modes, so this parameter should always be set when raising the 'ocldi'&lt;br /&gt;
parameter.  Additionally, in order to use OpenCL devices that are neither CPUs nor GPUs, you&lt;br /&gt;
must manually set 'oclpi' to the platform index for the device as shown by DS_dumpocl().&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ocldi (int):&lt;br /&gt;
  default value = 0 (first device on chosen platform)&lt;br /&gt;
    valid range = 0 to system dependent maximum (inclusive)&lt;br /&gt;
&lt;br /&gt;
  This sets the &amp;quot;OpenCL Device Index&amp;quot; that DupStep should use for a given platform.  When set to&lt;br /&gt;
0, the first device for the selected platform will be used.  To get lists of device indices, use&lt;br /&gt;
the DS_dumpocl() function within an AviSynth+ script.  The filter can only use a single device;&lt;br /&gt;
however, it can use any number of cores on that device.&lt;br /&gt;
&lt;br /&gt;
  In addition, you should always set the appropriate platform index ('oclpi' variable) when&lt;br /&gt;
adjusting this variable.  Platform indices are listed above the associated devices by the&lt;br /&gt;
DS_dumpocl() function.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
More conservative threshold (frames must be more similar to be detected as a duplicate):&lt;br /&gt;
  DupStep(thresh=-0.5)&lt;br /&gt;
&lt;br /&gt;
More liberal threshold (frames can be less similar and still be detected as a duplicate):&lt;br /&gt;
  DupStep(thresh=-2.0)&lt;br /&gt;
&lt;br /&gt;
Recommended for full color content:&lt;br /&gt;
  DupStep(planes=2)   # By default planes=2, so doesn't need to be explicitly set&lt;br /&gt;
&lt;br /&gt;
Recommended for mixed content (some grayscale, some color):&lt;br /&gt;
  DupStep(planes=2, pco=2)   # Combine luma/chroma metrics using a max() function&lt;br /&gt;
&lt;br /&gt;
Recommended for grayscale only content:&lt;br /&gt;
  Grayscale()         # Doesn't need to be here, but should be done somewhere in your script&lt;br /&gt;
  DupStep(planes=0)   # Ignores chroma planes&lt;br /&gt;
&lt;br /&gt;
May prove useful for full color content with moderate/high noise only in the luma plane:&lt;br /&gt;
  DupStep(planes=1)       # Completely ignores luma; use with caution!&lt;br /&gt;
  DupStep(Cweight=-2.0)   # Instead doubles the chroma weighting; consider using 'pco=2' too&lt;br /&gt;
&lt;br /&gt;
Useful for tuning the 'thresh' parameter (eventually; not useful in the current version):&lt;br /&gt;
  DupStep(show=3)&lt;br /&gt;
&lt;br /&gt;
Equivalent to ExactDedup(firstpass=false, _keeplastframe=true) (assuming first pass completed):&lt;br /&gt;
  DupStep(thresh=0.0, planes=2, times=&amp;quot;times.txt&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0) This filter should only be used with source filters that feature frame-accurate seeking.&lt;br /&gt;
   Source filters that lack this feature may produce erroneous, non-deterministic results!&lt;br /&gt;
&lt;br /&gt;
1) DupStep is not designed to be used within Animate(), ScriptClip(), or other runtime filters.&lt;br /&gt;
   It will almost certainly not do what you in them.  Use within those functions at your own&lt;br /&gt;
   risk!&lt;br /&gt;
&lt;br /&gt;
2) When removing exact duplicates only ('thresh=0.0'), all settings except for 'planes' will not&lt;br /&gt;
   affect the frames decimated.  You may, however, find speed gains by adjusting 'blksize'; see&lt;br /&gt;
   note 3 below.&lt;br /&gt;
&lt;br /&gt;
3) The automatic (and default) setting for the 'blksize' parameter prioritizes quality over&lt;br /&gt;
   speed.  If you are not using block-based metrics (SSBD or SABD) you may want to adjust this&lt;br /&gt;
   parameter to whatever proves fastest for your system.&lt;br /&gt;
&lt;br /&gt;
4) A perl script, &amp;quot;dsstats.pl&amp;quot; is included which dumps the binary information within the cache&lt;br /&gt;
   to stdout in a text CSV format.  Note that these are intermediate values and should not be&lt;br /&gt;
   used to set the 'thresh' parameter without additional calculation in almost all cases.  Run&lt;br /&gt;
   &amp;quot;dsstats.pl -h&amp;quot; to see help regarding the usage of that script.&lt;br /&gt;
&lt;br /&gt;
5) In DupStep v0.02 and earlier, other metrics were available or bore the same name but behaved&lt;br /&gt;
   differently.  To get equivalent metrics in the current version, consult the chart below:&lt;br /&gt;
&lt;br /&gt;
   Old Metric | New Settings&lt;br /&gt;
  ------------+------------------------------------------------------------------------------&lt;br /&gt;
      RSAD    | metric=1, pco=0; if old 'thresh' was positive, divide it by luma pixel count&lt;br /&gt;
      RSSD    | metric=0, pco=0; if old 'thresh' was positive, divide it by luma pixel count&lt;br /&gt;
      SAD     | metric=1, pco=0&lt;br /&gt;
      SSD     | metric=0, pco=0&lt;br /&gt;
      PAD     | metric=4, pco=2; if old 'thresh' was negative, multiply it by 1.25&lt;br /&gt;
      SSPD    | metric=4, pco=1, planes=2&lt;br /&gt;
&lt;br /&gt;
   Note, that the default settings for 'Cweight' have also changed from v0.02.  While the old&lt;br /&gt;
   values could be calculated, I recommend against doing so and simply readjusting based on the&lt;br /&gt;
   new default.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0) The OpenCL kernels will not compile for the Intel platform, either CPU or GPU, as that&lt;br /&gt;
   platform does not support atomic operations on 64-bit integers.  A workaround will be added&lt;br /&gt;
   in the future, but AMD and nVidia platforms work now as long as they support OpenCL 1.2.&lt;br /&gt;
&lt;br /&gt;
Finally, this filter is currently in an 'alpha' state.  It's likely riddled with bugs, and may&lt;br /&gt;
cause your computer to spontaneously burst into flames.  Please report issues to the Doom9&lt;br /&gt;
thread (link below) or the GitHub issue tracker (via GitHub page listed below) so that they can&lt;br /&gt;
be fixed in future releases.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Changelog ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v0.03&lt;br /&gt;
----------------&lt;br /&gt;
Speed: Cache depth is now dynamic and generates/caches only what is needed for the current&lt;br /&gt;
  parameters/video&lt;br /&gt;
Speed: Cache data from file is always used when available and only recalculated when necessary&lt;br /&gt;
  (exception: changing block size recalculates all metrics)&lt;br /&gt;
Speed: OpenCL kernel should now be able to take advantage of SIMD instructions for platforms&lt;br /&gt;
  that support them&lt;br /&gt;
Speed: Avoids unnecessary memory copying when executing OpenCL kernels on a CPU&lt;br /&gt;
Added: New function &amp;quot;DS_cachefp()&amp;quot; to cache only frame priorities, allowing 'ptp' to be used&lt;br /&gt;
  even when (spatio)temporal filtering is used prior to metric generation&lt;br /&gt;
Param: Removed the 'cdepth' parameter as cache depth is dynamic on a per-frame basis now&lt;br /&gt;
Param: 'ifmcm' modes 1 and 2 removed and replaced by former modes 3 &amp;amp; 4&lt;br /&gt;
Param: Default mode for 'ifmcm' set to 0 (direct)&lt;br /&gt;
Param: Removed &amp;quot;raw&amp;quot; metrics (RSAD/RSSD)&lt;br /&gt;
Param: New 'metric' settings for block-based metrics&lt;br /&gt;
Param: Reordered the 'metric' settings to put squared metrics at lower values than their&lt;br /&gt;
  absolute counterparts&lt;br /&gt;
Param: Default 'metric' now set to SSBD (2)&lt;br /&gt;
Param: Automatic (negative) 'Cweight' uses new values based on empirical data, and no longer&lt;br /&gt;
  considers chroma subsampling factor as a factor&lt;br /&gt;
Param: New parameter 'pco' to set the plane combination operation&lt;br /&gt;
Param: Added 'blksize' parameter to set the block size for block metrics&lt;br /&gt;
Param: Added new option to prefer CPU to 'oclpi'; subtract 1 from old options if &amp;lt; -1 to get the&lt;br /&gt;
  equivalent new option index for them&lt;br /&gt;
Param: Default for 'oclpi' is now set to prefer CPU (-2)&lt;br /&gt;
Param: Reordered the parameters&lt;br /&gt;
Fixed: Potential overflow when calculating chroma metrics has been fixed&lt;br /&gt;
Fixed: A potential race condition that could lead to incorrect results was resolved&lt;br /&gt;
Fixed: Corrected a typo in dsstats.pl help (-h)&lt;br /&gt;
Fixed: Multiple known issues from v0.02 resolved&lt;br /&gt;
Other: Metrics are now all stored as floating point values, pre-normalized to resolution where&lt;br /&gt;
  appropriate (previously they were post-normalized, which could cause problems when resolution&lt;br /&gt;
  changed between cache generation and usage)&lt;br /&gt;
Other: Pixel metrics (SSPD/PAD) are no longer clamped after being scaled by chroma weighting,&lt;br /&gt;
  permitting more aggressive chroma weighting&lt;br /&gt;
Other: Version bump for cache file; there is no compatibility with caches from older versions&lt;br /&gt;
Other: OpenCL device memory usage reduced as it only ever needs to hold the two compared frames&lt;br /&gt;
Other: DS_dumpocl() now displays OpenCL version supported (both for platforms and devices)&lt;br /&gt;
Other: Significant refactoring&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v0.02&lt;br /&gt;
----------------&lt;br /&gt;
Speed: OpenCL is now used for metric calculation, allowing for multi-threading on a CPU or using&lt;br /&gt;
  a GPU instead&lt;br /&gt;
Speed: All frames read during cache generation are now cached on the OpenCL device so they are&lt;br /&gt;
  only requested once from AviSynth&lt;br /&gt;
Added: New function &amp;quot;DS_dumpocl()&amp;quot; to list OpenCL platforms and devices with index&lt;br /&gt;
Param: Added parameters 'oclpi' and 'ocldi'&lt;br /&gt;
Param: Default 'cdepth' changed from 2 to 5&lt;br /&gt;
Param: Maximum value of 'cdepth' changed from 10 to 250&lt;br /&gt;
Param: dsstats.pl now features additional parameters; run &amp;quot;dsstats.pl -h&amp;quot; for information&lt;br /&gt;
Fixed: SSD metrics could be incorrect (lower than they should be) for 16-bit video&lt;br /&gt;
Fixed: Cache depth promotion was not working in some cases (affected ifmcm modes 1 &amp;amp; 2)&lt;br /&gt;
Fixed: Frame type cache was leaking a small amount of memory&lt;br /&gt;
Fixed: Cache was delivering incorrect frame deltas when within a radius of 'cdepth' of the final&lt;br /&gt;
  video frame, sometimes reading outside of buffer memory (undefined values)&lt;br /&gt;
Fixed: Cache had incorrect frame types when cdepth &amp;gt; 1&lt;br /&gt;
Other: Documentation updated regarding when 'ptp' should be disabled, and detailed new concerns&lt;br /&gt;
  regarding device memory usage during cache generation&lt;br /&gt;
Other: dsstats.pl now validates cache version&lt;br /&gt;
Other: Minor refactoring&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
v0.01&lt;br /&gt;
----------------&lt;br /&gt;
Initial release&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[https://github.com/Orum/DupStep 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#Duplicate_Frame_Detectors|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	</feed>