<?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=VsTEdgeMask</id>
		<title>VsTEdgeMask - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=VsTEdgeMask"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VsTEdgeMask&amp;action=history"/>
		<updated>2026-04-07T18:00:23Z</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=VsTEdgeMask&amp;diff=12972&amp;oldid=prev</id>
		<title>Asd: vsTEdgeMask 1.0.1</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VsTEdgeMask&amp;diff=12972&amp;oldid=prev"/>
				<updated>2023-05-17T17:34:23Z</updated>
		
		<summary type="html">&lt;p&gt;vsTEdgeMask 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 17:34, 17 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/AviSynth-vsTEdgeMask/releases/ vsTEdgeMask-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/AviSynth-vsTEdgeMask/releases/ vsTEdgeMask-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=Edge Detection &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=Edge Detection &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 73:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 73:&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;:::*0: Use C++ code.&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;:::*0: Use C++ code.&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: Use SSE2 code.&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: Use SSE2 code.&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;:::*2: Use AVX2 code.&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;:::*3: Use AVX512 code.&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;:::Default: -1.&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;:::Default: -1.&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 83:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 85:&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;  2022/05/26&amp;#160; &amp;#160; &amp;#160; - Added AVX2 and AVX512 code.&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;  2021/03/11&amp;#160; &amp;#160; &amp;#160; - Initial release; port of the VapourSynth plugin&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;  2021/03/11&amp;#160; &amp;#160; &amp;#160; - Initial release; port of the VapourSynth plugin&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;/table&gt;</summary>
		<author><name>Asd</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=VsTEdgeMask&amp;diff=12272&amp;oldid=prev</id>
		<title>Reel.Deal: vsTEdgeMask v1.0.0</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VsTEdgeMask&amp;diff=12272&amp;oldid=prev"/>
				<updated>2021-03-13T07:55:09Z</updated>
		
		<summary type="html">&lt;p&gt;vsTEdgeMask 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|Other_filters|Edge_detection|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/AviSynth-vsTEdgeMask/releases/ vsTEdgeMask-1.0.0.7z]&lt;br /&gt;
|4=Edge Detection &lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[vsTEdgeMask]] builds an edge map using canny edge detection.&lt;br /&gt;
&lt;br /&gt;
This is a port of the VapourSynth plugin TEdgeMask, which in turn is a port of both [[TEdgeMask]]/[[TEMmod]] AviSynth plugins.&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 [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]&lt;br /&gt;
* [x64]: [[AviSynth+]] &lt;br /&gt;
* Supported color formats: [[Y8]], [[YV12]], [[YV16]]. [[YV24]]&lt;br /&gt;
**AviSynth+: all [[planar]] formats (8/10/12/14/16-bit, Y/YUV/RGB without an alpha channel) are supported.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|vsTEdgeMask (clip, float &amp;quot;threshY&amp;quot;, float &amp;quot;threshU&amp;quot;, float &amp;quot;threshV&amp;quot;, int &amp;quot;type&amp;quot;, int &amp;quot;link&amp;quot;, float &amp;quot;scale&amp;quot;, int &amp;quot;y&amp;quot;, int &amp;quot;u&amp;quot;, int &amp;quot;v&amp;quot;, int &amp;quot;opt&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2||clip| }}&lt;br /&gt;
::: A clip to process. It must have planar format, 8..16 bit integer sample type, and subsampling ratios of at most 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|threshY|float|8.0}}&lt;br /&gt;
::{{Par2|threshU|float|8.0}}&lt;br /&gt;
::{{Par2|threshV|float|8.0}}&lt;br /&gt;
:::Sets the magnitude thresholds.&lt;br /&gt;
:::If over this value then a sample will be considered an edge, and the output pixel will be set to the maximum value allowed by the format. Otherwise the output pixel will be set to 0.&lt;br /&gt;
:::Set this to 0 to output a magnitude mask instead of a binary mask.&lt;br /&gt;
:::Default: threshY = threshU = threshV = 8.0&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|type|int|2}}&lt;br /&gt;
:::Sets the type of first order partial derivative approximation that is used.&lt;br /&gt;
:::*1: 2 pixel.&lt;br /&gt;
:::*2: 4 pixel.&lt;br /&gt;
:::*3: Same as type = 1.&lt;br /&gt;
:::*4: Same as type = 2.&lt;br /&gt;
:::*5: 6 pixel (Sobel operator).&lt;br /&gt;
::: Default: 2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|link|int| }}&lt;br /&gt;
:::Specifies whether luma to chroma linking, no linking, or linking of every plane to every other plane is used.&lt;br /&gt;
:::*0: No linking. The three edge masks are completely independent.&lt;br /&gt;
:::*1: Luma to chroma linking. If a luma pixel is considered an edge, the corresponding chroma pixel is also marked as an edge.&lt;br /&gt;
:::*2: Every plane to every other plane. If a pixel is considered an edge in any plane, the corresponding pixels in all the other planes are also marked as edges.&lt;br /&gt;
:::This parameter has no effect when clip has only one plane, when any plane's threshold is 0, or when some planes are not processed.&lt;br /&gt;
:::This parameter can only be 0 or 2 when clip is RGB.&lt;br /&gt;
:::Default: 2 when clip is RGB, otherwise 1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|scale|float|1.0}}&lt;br /&gt;
:::If the output is a magnitude mask (threshold is 0), it is scaled by this value.&lt;br /&gt;
:::Note that in TEMmod this parameter had three different, undocumented default values for the different mask types, which made it difficult to use the parameter without reading the source code.&lt;br /&gt;
:::Default: 1.0&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|Y|int|3}}&lt;br /&gt;
::{{Par2|U|int|3}}&lt;br /&gt;
::{{Par2|V|int|3}}&lt;br /&gt;
:::*Planes to process.&lt;br /&gt;
:::*1: Return garbage.&lt;br /&gt;
:::*2: Copy plane.&lt;br /&gt;
:::*3: Process plane. Always process planes when clip is RGB.&lt;br /&gt;
:::Default: y = u = v = 3.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2|opt|int|false}}&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;
== Examples == &lt;br /&gt;
{{Template:FuncDef3|vsTEdgeMask}} with default settings:&lt;br /&gt;
 [[AviSource]](&amp;quot;blah.avi&amp;quot;) # YUV input&lt;br /&gt;
 vsTEdgeMask (threshY=8.0, threshU=8.0, threshV=8.0, type=2, link=1, scale=1.0, Y=1, U=1, V=1, opt=-1)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v1.0.0       2021/03/11      - Initial release; port of the VapourSynth plugin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
See GitHub releases page.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[https://github.com/Asd-g/AviSynth-vsTEdgeMask GitHub] - Source code repository.&lt;br /&gt;
*[https://github.com/dubhater/vapoursynth-tedgemask GitHub] - Source code repository (VapourSynth).&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#Edge_Detection|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	</feed>