<?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=EEDI3CL</id>
		<title>EEDI3CL - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=EEDI3CL"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=EEDI3CL&amp;action=history"/>
		<updated>2026-05-01T01:05:11Z</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=EEDI3CL&amp;diff=12993&amp;oldid=prev</id>
		<title>Asd: EEDI3CL 1.0.1</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=EEDI3CL&amp;diff=12993&amp;oldid=prev"/>
				<updated>2023-05-18T07:51:25Z</updated>
		
		<summary type="html">&lt;p&gt;EEDI3CL 1.0.1&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 07:51, 18 May 2023&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;|1={{Author/Asd-g}}&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;|1={{Author/Asd-g}}&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;|2=v1.0.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;0&lt;/del&gt;&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;|2=v1.0.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/ins&gt;&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;|3=[https://github.com/Asd-g/AviSynthPlus-EEDI3CL/releases EEDI3CL-1.0.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;0&lt;/del&gt;.7z ]&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;|3=[https://github.com/Asd-g/AviSynthPlus-EEDI3CL/releases EEDI3CL-1.0.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/ins&gt;.7z ]&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=Deinterlacing &amp;#160;&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=Deinterlacing &amp;#160;&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;|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&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;|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&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 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&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 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;== [[Script variables|Syntax and Parameters]] ==&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;== [[Script variables|Syntax and Parameters]] ==&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;:{{Template:FuncDef| EEDI3CL (clip input, int &amp;quot;field&amp;quot;, bool &amp;quot;dh&amp;quot;, int_array &amp;quot;planes&amp;quot;, float &amp;quot;alpha&amp;quot;, float &amp;quot;beta&amp;quot;, float &amp;quot;gamma&amp;quot;, int &amp;quot;nrad&amp;quot;, int &amp;quot;mdis&amp;quot;, bool &amp;quot;hp&amp;quot;, bool &amp;quot;ucubic&amp;quot;, bool &amp;quot;cost3&amp;quot;, int &amp;quot;vcheck&amp;quot;, float &amp;quot;vthresh0&amp;quot;, float &amp;quot;vthresh1&amp;quot;, float &amp;quot;vthresh2&amp;quot;, clip &amp;quot;sclip&amp;quot;, int &amp;quot;opt&amp;quot;, int &amp;quot;device&amp;quot;, bool &amp;quot;list_device&amp;quot;, bool &amp;quot;info&amp;quot;)}}&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;:{{Template:FuncDef| EEDI3CL (clip input, int &amp;quot;field&amp;quot;, bool &amp;quot;dh&amp;quot;, int_array &amp;quot;planes&amp;quot;, float &amp;quot;alpha&amp;quot;, float &amp;quot;beta&amp;quot;, float &amp;quot;gamma&amp;quot;, int &amp;quot;nrad&amp;quot;, int &amp;quot;mdis&amp;quot;, bool &amp;quot;hp&amp;quot;, bool &amp;quot;ucubic&amp;quot;, bool &amp;quot;cost3&amp;quot;, int &amp;quot;vcheck&amp;quot;, float &amp;quot;vthresh0&amp;quot;, float &amp;quot;vthresh1&amp;quot;, float &amp;quot;vthresh2&amp;quot;, clip &amp;quot;sclip&amp;quot;, int &amp;quot;opt&amp;quot;, int &amp;quot;device&amp;quot;, bool &amp;quot;list_device&amp;quot;, bool &amp;quot;info&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;, bool &amp;quot;luma&lt;/ins&gt;&amp;quot;)}}&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;::{{Par2| |clip| }}&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;::{{Par2| |clip| }}&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 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&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;::{{Par2|info|bool|false}}&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;::{{Par2|info|bool|false}}&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;:::Whether to draw the OpenCL-related info on the frame.&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;:::Whether to draw the OpenCL-related info on the frame.&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;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;::{{Par2|luma|bool|false}}&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;:::Whether the format of the output video is [[Y]] when only luma plane is processed.&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;:::It has effect only for [[YUV]] clips.&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;/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; class=&quot;diff-lineno&quot;&gt;Line 167:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 171:&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;== Changelog ==&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;== Changelog ==&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;#160; Version&amp;#160; &amp;#160; &amp;#160; Date&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Changes&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;#160; Version&amp;#160; &amp;#160; &amp;#160; Date&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; Changes&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; v1.0.1&amp;#160; &amp;#160; &amp;#160;  2023/03/14&amp;#160; &amp;#160; &amp;#160; - Added parameter luma.&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; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; - Updated OpenCL. (v2023.02.06)&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; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; - Updated Boost. (1.81.0)&amp;lt;br&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;#160; v1.0.0&amp;#160; &amp;#160; &amp;#160;  2022/11/28&amp;#160; &amp;#160; &amp;#160; - Initial release&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; v1.0.0&amp;#160; &amp;#160; &amp;#160;  2022/11/28&amp;#160; &amp;#160; &amp;#160; - Initial release&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>Asd</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=EEDI3CL&amp;diff=12849&amp;oldid=prev</id>
		<title>Reel.Deal: EEDI3CL v1.0.0</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=EEDI3CL&amp;diff=12849&amp;oldid=prev"/>
				<updated>2022-12-06T20:18:56Z</updated>
		
		<summary type="html">&lt;p&gt;EEDI3CL v1.0.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FilterCat6|External_filters|Plugins|Plugins_x64|Restoration_filters|Deinterlacers|Deep_color_tools}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|1={{Author/Asd-g}}&lt;br /&gt;
|2=v1.0.0&lt;br /&gt;
|3=[https://github.com/Asd-g/AviSynthPlus-EEDI3CL/releases EEDI3CL-1.0.0.7z ]&lt;br /&gt;
|4=Deinterlacing &lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[EEDI3CL]] is an [https://en.wikipedia.org/wiki/OpenCL OpenCL] implementation of [[eedi3]]. It works by finding the best non-decreasing (non-crossing) warping between two lines by minimizing a cost functional. The cost is based on neighborhood similarity (favor connecting regions that look similar), the vertical difference created by the interpolated values (favor small differences), the interpolation directions (favor short connections vs long), and the change in interpolation direction from pixel to pixel (favor small changes).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3 a port of the VapourSynth plugin EEDI3CL].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* [x64]: [[AviSynth+]]&lt;br /&gt;
* Supported color formats: all [[planar]] formats (8/10/12/14/16/32bit, Y/YUV/RGB with or without alpha) are supported.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
:{{Template:FuncDef| EEDI3CL (clip input, int &amp;quot;field&amp;quot;, bool &amp;quot;dh&amp;quot;, int_array &amp;quot;planes&amp;quot;, float &amp;quot;alpha&amp;quot;, float &amp;quot;beta&amp;quot;, float &amp;quot;gamma&amp;quot;, int &amp;quot;nrad&amp;quot;, int &amp;quot;mdis&amp;quot;, bool &amp;quot;hp&amp;quot;, bool &amp;quot;ucubic&amp;quot;, bool &amp;quot;cost3&amp;quot;, int &amp;quot;vcheck&amp;quot;, float &amp;quot;vthresh0&amp;quot;, float &amp;quot;vthresh1&amp;quot;, float &amp;quot;vthresh2&amp;quot;, clip &amp;quot;sclip&amp;quot;, int &amp;quot;opt&amp;quot;, int &amp;quot;device&amp;quot;, bool &amp;quot;list_device&amp;quot;, bool &amp;quot;info&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::A clip to process.&lt;br /&gt;
:::It must be in 8..32-bit planar format.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|field|int|}}&lt;br /&gt;
:::Controls the mode of operation (double vs same rate) and which field is kept.&lt;br /&gt;
:::*-2: = Double rate (alternates each frame), &amp;lt;code&amp;gt;_FieldBased&amp;lt;/code&amp;gt; frame property order or if &amp;lt;code&amp;gt;_FieldBased&amp;lt;/code&amp;gt; is 0, or missing - AviSynth internal order.&lt;br /&gt;
:::*-1: Same rate, &amp;lt;code&amp;gt;_FieldBased&amp;lt;/code&amp;gt; frame property order or if &amp;lt;code&amp;gt;_FieldBased&amp;lt;/code&amp;gt; is 0, or missing - AviSynth internal order.&lt;br /&gt;
:::*0 = same rate, keep bottom field&lt;br /&gt;
:::*1 = same rate, keep top field&lt;br /&gt;
:::*2 = double rate (alternates each frame), starts with bottom&lt;br /&gt;
:::*3 = double rate (alternates each frame), starts with top&lt;br /&gt;
:::Default: -1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|dh|bool|false}}&lt;br /&gt;
:::Doubles the height of the input. Each line of the input is copied to every other line of the output and the missing lines are interpolated. &lt;br /&gt;
:::If {{Template:FuncDef|field}}=0, the input is copied to the odd lines of the output. If {{Template:FuncDef|field}}=1, the input is copied to the even lines of the output. &lt;br /&gt;
:::{{Template:FuncDef|field}} must be set to either 0 or 1 when using {{Template:FuncDef|dh}}=true.&lt;br /&gt;
:::Default: False&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|planes|int_array|[0,1,2,3]}}&lt;br /&gt;
:::Sets which planes will be processed.&lt;br /&gt;
:::Planes that are not processed will contain uninitialized memory.&lt;br /&gt;
:::Default: [0,1,2,3]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|alpha|float|0.2}}&lt;br /&gt;
::{{Par2|beta|float|0.25}}&lt;br /&gt;
::{{Par2|gamma|float|20.0}}&lt;br /&gt;
:::These trade off line/edge connection vs artifacts created.&lt;br /&gt;
:::&amp;lt;code&amp;gt;alpha&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;beta&amp;lt;/code&amp;gt; must be in the range [0,1], and the sum alpha+beta must be in the range [0,1].&lt;br /&gt;
:::&amp;lt;code&amp;gt;alpha&amp;lt;/code&amp;gt; is the weight given to connecting similar neighborhoods. The larger &amp;lt;code&amp;gt;alpha&amp;lt;/code&amp;gt; is the more lines/edges should be connected.&lt;br /&gt;
:::&amp;lt;code&amp;gt;beta&amp;lt;/code&amp;gt; is the weight given to vertical difference created by the interpolation. The larger &amp;lt;code&amp;gt;beta&amp;lt;/code&amp;gt; is the less edges/lines will be connected (at 1.0 you get no edge directedness at all).&lt;br /&gt;
:::The remaining weight (1.0-alpha-beta) is given to interpolation direction (large directions (away from vertical) cost more). So the more weight you have here the more shorter connections will be favored.&lt;br /&gt;
:::Finally, &amp;lt;code&amp;gt;gamma&amp;lt;/code&amp;gt; penalizes changes in interpolation direction, the larger &amp;lt;code&amp;gt;gamma&amp;lt;/code&amp;gt; is the smoother the interpolation field between two lines (range is [0,inf].&lt;br /&gt;
:::If lines aren't getting connected then increase alpha and maybe decrease &amp;lt;code&amp;gt;beta/gamma&amp;lt;/code&amp;gt;. Go the other way if you are getting unwanted artifacts.&lt;br /&gt;
:::Default: alpha = 0.2, beta = 0.25, gamma = 20.0.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|nrad|int|2}}&lt;br /&gt;
::{{Par2|mdis|int|20}}&lt;br /&gt;
:::&amp;lt;code&amp;gt;nrad&amp;lt;/code&amp;gt; sets the radius used for computing neighborhood similarity. Valid range is [0,3].&lt;br /&gt;
:::&amp;lt;code&amp;gt;mdis&amp;lt;/code&amp;gt; sets the maximum connection radius. Valid range is [1,40].&lt;br /&gt;
:::If &amp;lt;code&amp;gt;mdis=20&amp;lt;/code&amp;gt;, then when interpolating pixel (50,10) (x,y), the farthest connections allowed would be between (30,9)/(70,11) and (70,9)/(30,11).&lt;br /&gt;
:::Larger &amp;lt;code&amp;gt;mdis&amp;lt;/code&amp;gt; will allow connecting lines of smaller slope, but also increases the chance of artifacts.&lt;br /&gt;
:::Larger &amp;lt;code&amp;gt;mdis&amp;lt;/code&amp;gt; will be slower.&lt;br /&gt;
:::Larger &amp;lt;code&amp;gt;nrad&amp;lt;/code&amp;gt; will be slower.&lt;br /&gt;
:::Default: nrad = 2, mdis = 20.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|hp|bool|False}}&lt;br /&gt;
::{{Par2|ucubic|bool|True}}&lt;br /&gt;
::{{Par2|cost3|bool|True}}&lt;br /&gt;
:::These are speed vs quality options.&lt;br /&gt;
:::&amp;lt;code&amp;gt;hp=True&amp;lt;/code&amp;gt; - use half pel steps, hp=False - use full pel steps. Currently only full pel is implemented and this parameter has no effect.&lt;br /&gt;
:::&amp;lt;code&amp;gt;ucubic=True&amp;lt;/code&amp;gt; - use cubic 4 point interpolation, &amp;lt;code&amp;gt;ucubic=False&amp;lt;/code&amp;gt; - use 2 point linear interpolation.&lt;br /&gt;
:::&amp;lt;code&amp;gt;cost3=True&amp;lt;/code&amp;gt; - use 3 neighborhood cost function to define similarity, &amp;lt;code&amp;gt;cost3=False&amp;lt;/code&amp;gt; - use 1 neighborhood cost function.&lt;br /&gt;
:::Default: hp = False, ucubic = True, cost3 = True.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|vcheck|int|2}}&lt;br /&gt;
::{{Par2|vthresh0|float|32.0}}&lt;br /&gt;
::{{Par2|vthresh1|float|64.0}}&lt;br /&gt;
::{{Par2|vthresh2|float|4.0}}&lt;br /&gt;
::{{Par2|sclip|clip|undefined}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 6em; max-width: 67em&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  vcheck settings:&lt;br /&gt;
&lt;br /&gt;
      0 - no reliability check&lt;br /&gt;
      1 - weak reliability check&lt;br /&gt;
      2 - med reliability check&lt;br /&gt;
      3 - strong reliability check&lt;br /&gt;
&lt;br /&gt;
  If vcheck is greater than 0, then the resulting interpolation is checked for reliability/consistency. Assume&lt;br /&gt;
  we interpolated pixel 'fh' below using dir=4 (i.e. averaging pixels bl and cd).&lt;br /&gt;
&lt;br /&gt;
       aa ab ac ad ae af ag ah ai aj ak al am an ao ap&lt;br /&gt;
                            eh          el&lt;br /&gt;
       ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp&lt;br /&gt;
                fd          fh          fl&lt;br /&gt;
       ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp&lt;br /&gt;
                gd          gh&lt;br /&gt;
       da db dc dd de df dg dh di dj dk dl dm dn do dp&lt;br /&gt;
&lt;br /&gt;
  When checking pixel 'fh' the following is computed:&lt;br /&gt;
&lt;br /&gt;
        d0 = abs((el+fd)/2 - bh)&lt;br /&gt;
        d1 = abs((fl+gd)/2 - ch)&lt;br /&gt;
&lt;br /&gt;
        q2 = abs(bh-fh)+abs(ch-fh)&lt;br /&gt;
        q3 = abs(el-bl)+abs(fl-bl)&lt;br /&gt;
        q4 = abs(fd-cd)+abs(gd-cd)&lt;br /&gt;
&lt;br /&gt;
        d2 = abs(q2-q3)&lt;br /&gt;
        d3 = abs(q2-q4)&lt;br /&gt;
&lt;br /&gt;
        mdiff0 = vcheck == 1 ? min(d0,d1) : vcheck == 2 ? ((d0+d1+1)&amp;gt;&amp;gt;1) : max(d0,d1)&lt;br /&gt;
        mdiff1 = vcheck == 1 ? min(d2,d3) : vcheck == 2 ? ((d2+d3+1)&amp;gt;&amp;gt;1) : max(d2,d3)&lt;br /&gt;
&lt;br /&gt;
        a0 = mdiff0/vthresh0;&lt;br /&gt;
        a1 = mdiff1/vthresh1;&lt;br /&gt;
        a2 = max((vthresh2-abs(dir))/vthresh2,0.0f)&lt;br /&gt;
&lt;br /&gt;
        a = min(max(max(a0,a1),a2),1.0f)&lt;br /&gt;
&lt;br /&gt;
        final_value = (1.0-a)*fh + a*cint&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ** If sclip is supplied, cint is the corresponding value from sclip. If sclip isn't supplied,&lt;br /&gt;
       then vertical cubic interpolation is used to create it.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
:::Default: vcheck = 2, vthresh0 = 32.0, vthresh1 = 64.0, vthresh2 = 4.0, sclip = not specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|opt|int|-1}}&lt;br /&gt;
:::Sets which cpu optimizations to use.&lt;br /&gt;
:::*-1: Auto-detect.&lt;br /&gt;
:::*0: Use C++ code.&lt;br /&gt;
:::*1: Use SSE2 code.&lt;br /&gt;
:::Default: -1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|device|int|}}&lt;br /&gt;
:::Sets target OpenCL device.&lt;br /&gt;
:::Use list_device to get the index of the available devices.&lt;br /&gt;
:::By default the default device is selected&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|list_device|bool|false}}&lt;br /&gt;
::: Whether to draw the devices list on the frame.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|info|bool|false}}&lt;br /&gt;
:::Whether to draw the OpenCL-related info on the frame.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Deinterlace:&lt;br /&gt;
 [[AviSource]](&amp;quot;Blah.avi&amp;quot;)&lt;br /&gt;
 EEDI3CL(field=1) # single rate TFF&lt;br /&gt;
 #EEDI3CL(field=3) # double rate TFF&lt;br /&gt;
&lt;br /&gt;
Enlarge by 2x and correct for center shift using Spline36Resize:&lt;br /&gt;
 [[AviSource]](&amp;quot;Blah.avi&amp;quot;)&lt;br /&gt;
 TurnLeft().EEDI3CL(field=1, dh=true).TurnRight().EEDI3CL(field=1, dh=true)&lt;br /&gt;
 Spline36Resize(Width(), Height(), src_left=-0.5, src_top=-0.5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v1.0.0       2022/11/28      - Initial release&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[https://github.com/Asd-g/AviSynthPlus-EEDI3CL 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#Deinterlacing|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	</feed>