<?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=Masktools2%2FChangelog</id>
		<title>Masktools2/Changelog - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=Masktools2%2FChangelog"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Masktools2/Changelog&amp;action=history"/>
		<updated>2026-05-18T17:57:41Z</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=Masktools2/Changelog&amp;diff=7878&amp;oldid=prev</id>
		<title>Reel.Deal: typos</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Masktools2/Changelog&amp;diff=7878&amp;oldid=prev"/>
				<updated>2015-12-15T12:51:36Z</updated>
		
		<summary type="html">&lt;p&gt;typos&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 12:51, 15 December 2015&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 115:&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;* Alpha 23 :&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;* Alpha 23 :&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;:* fix &amp;amp; speed up : median mode, thanks to tsp's &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;insightfull &lt;/del&gt;remark. Note to self : think less like a mathematician, and more like a programmer. Simpler, faster &amp;amp; not bugged.&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;:* fix &amp;amp; speed up : median mode, thanks to tsp's &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;insightful &lt;/ins&gt;remark. Note to self : think less like a mathematician, and more like a programmer. Simpler, faster &amp;amp; not bugged.&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 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;* Alpha 22 :&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;* Alpha 22 :&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 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 158:&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;* Alpha 14 :&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;* Alpha 14 :&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;:* fixed : random crashes with some width and asm functions ( thx &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Didee &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;:* fixed : random crashes with some width and asm functions ( thx &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Didée &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;/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;* Alpha 13 :&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;* Alpha 13 :&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 189:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 189:&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;* Alpha 7 :&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;* Alpha 7 :&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;:* fixed : forgot to add functions to the parser. Thanks &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Didee &lt;/del&gt;for pointing that out.&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;:* fixed : forgot to add functions to the parser. Thanks &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Didée &lt;/ins&gt;for pointing that out.&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 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;* Alpha 6 :&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;* Alpha 6 :&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 202:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 202:&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;::* mt_rectangle&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;::* mt_rectangle&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;::* mt_losange&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;::* mt_losange&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;:* added : helper for lut : &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;consersion &lt;/del&gt;from infix to reverse polish notation :&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;:* added : helper for lut : &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;conversion &lt;/ins&gt;from infix to reverse polish notation :&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;::* mt_polish&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;::* mt_polish&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>Reel.Deal</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=Masktools2/Changelog&amp;diff=193&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Masktools2/Changelog&amp;diff=193&amp;oldid=prev"/>
				<updated>2013-05-09T15:02:00Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:02, 9 May 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=Masktools2/Changelog&amp;diff=192&amp;oldid=prev</id>
		<title>Prokhozhijj at 21:26, 18 January 2011</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Masktools2/Changelog&amp;diff=192&amp;oldid=prev"/>
				<updated>2011-01-18T21:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FilterCat|External_filters|Other_filters|Support_filters}}&lt;br /&gt;
&lt;br /&gt;
Back to [[MaskTools2]].&lt;br /&gt;
----&lt;br /&gt;
* Alpha 48 : &lt;br /&gt;
&lt;br /&gt;
:* added : signed and unsigned binary shifts to LUTs, ceil/floor/trunc float -&amp;gt; int conversions. @ is now equivalent to ° &lt;br /&gt;
&lt;br /&gt;
* Alpha 47 : &lt;br /&gt;
&lt;br /&gt;
:* added : signed and unsigned binary operators to LUTs &lt;br /&gt;
&lt;br /&gt;
* Alpha 46 : &lt;br /&gt;
&lt;br /&gt;
:* fixed : with mt_lutf, &amp;quot;std&amp;quot; mode wasn't working. Could also affect &amp;quot;std&amp;quot; with mt_luts and mt_lutsx &lt;br /&gt;
&lt;br /&gt;
* Alpha 45 : &lt;br /&gt;
&lt;br /&gt;
:* fixed : mt_clamp on sse2 platforms with resolution not multiple of 64 &lt;br /&gt;
:* added : mode parameter to mt_lutspa, to clean up biased/relative mess &lt;br /&gt;
&lt;br /&gt;
* Alpha 44 : &lt;br /&gt;
&lt;br /&gt;
:* added : new mode (weighted sum) for mt_luts and mt_lutsx &lt;br /&gt;
&lt;br /&gt;
* Alpha 43 : &lt;br /&gt;
&lt;br /&gt;
:* fixed : optimized versions of small horizontal resolutions with mt_edge, mt_xxpand and mt_xxflate &lt;br /&gt;
:* fixed : avisynth 2.6 support (likely broken since avisynth 2.6 alpha 2 at least) &lt;br /&gt;
:* added : hprewitt mode to mt_edge &lt;br /&gt;
:* added : &amp;quot;biased&amp;quot; option to mt_lutspa &lt;br /&gt;
:* optimized : prewitt and hprewitt mode for mt_edge &lt;br /&gt;
&lt;br /&gt;
* Alpha 42 : &lt;br /&gt;
&lt;br /&gt;
:* added : specialized modes for mt_binarize &lt;br /&gt;
:* added : specialized modes for mt_logic &lt;br /&gt;
&lt;br /&gt;
* Alpha 41 : &lt;br /&gt;
&lt;br /&gt;
:* (re)optimized : mt_edge with custom kernels and divisors that are a power of two &lt;br /&gt;
:* fixed : mt_edge with custom kernels (has always been broken in C, which became obvious once asm was removed) &lt;br /&gt;
:* fixed : no more crashes when an input clip isn't YUV planar &lt;br /&gt;
&lt;br /&gt;
* Alpha 40 : &lt;br /&gt;
&lt;br /&gt;
:* optimized : mt_xxpand vertical/horizontal/both modes are asmized &lt;br /&gt;
:* optimized : mt_xxflate are asmized &lt;br /&gt;
:* optimized : mt_motion with sse2 &lt;br /&gt;
:* potential fix : mt_merge with mod8 width &lt;br /&gt;
:* potential : 64 bits build included &lt;br /&gt;
&lt;br /&gt;
* Alpha 39 : &lt;br /&gt;
&lt;br /&gt;
:* Failed attempt at 64 bits build &lt;br /&gt;
&lt;br /&gt;
* Alpha 38 : &lt;br /&gt;
&lt;br /&gt;
:* Failed attempt at 64 bits build &lt;br /&gt;
&lt;br /&gt;
* Alpha 37 : &lt;br /&gt;
&lt;br /&gt;
:* fixed : mt_polish wasn't handling &amp;quot;z&amp;quot;, &amp;quot;min&amp;quot;, &amp;quot;max&amp;quot;, &amp;quot;clip&amp;quot; and &amp;quot;round&amp;quot; &lt;br /&gt;
:* added : mt_infix, which convert from polish to infix notation &lt;br /&gt;
:* changed : built with MSVC 2008 &lt;br /&gt;
&lt;br /&gt;
* Alpha 36 : &lt;br /&gt;
&lt;br /&gt;
:* fixed : &amp;quot;pi&amp;quot; wasn't properly defined for all luts &lt;br /&gt;
&lt;br /&gt;
* Alpha 35 : &lt;br /&gt;
&lt;br /&gt;
:* added : mt_lutspa &lt;br /&gt;
&lt;br /&gt;
* Alpha 34 :&lt;br /&gt;
:* added : support for interleaved2planar hack, enabling 422 support&lt;br /&gt;
:* changed : both avisynth 2.5 and 2.6 version are built&lt;br /&gt;
&lt;br /&gt;
* Alpha 32 :&lt;br /&gt;
:* added : mt_lutxyz&lt;br /&gt;
:* added : mt_lutsx&lt;br /&gt;
:* fixed : small memory leak in mt_luts&lt;br /&gt;
&lt;br /&gt;
* Alpha 31 :&lt;br /&gt;
:* fixed : mt_hysteresis was randomly crashing.&lt;br /&gt;
:* fixed : mt_polish is back.&lt;br /&gt;
:* added : round, clip, min, max and = for lut.&lt;br /&gt;
:* adapted : to msvc8 / yasm.&lt;br /&gt;
&lt;br /&gt;
* Alpha 30 :&lt;br /&gt;
:* fixed : luts was crashing if some pixels didn't have any neighbours in the pixels list.&lt;br /&gt;
:* added : mt_freerectangle, mt_freeellipse and mt_freelosange helpers.&lt;br /&gt;
&lt;br /&gt;
* Alpha 29 :&lt;br /&gt;
:* fixed : intern float to integer conversion that were badly rounding negative number. That resulted in -1.0 been rounded into 0 (!). Most notably affected was mt_convolution. Thanks redfordxx for pointing that out.&lt;br /&gt;
&lt;br /&gt;
* Alpha 28 :&lt;br /&gt;
:* fixed : mt_expand / mt_inpand / mt_convolution / mt_edge optimizations ( were borked when width-16 was mod 64, and that could be noticed only with avs 2.5.7 )&lt;br /&gt;
&lt;br /&gt;
* Alpha 27 :&lt;br /&gt;
:* fixed : mt_binarize asm optimizations that borked with some thresholds&lt;br /&gt;
&lt;br /&gt;
* Alpha 26 :&lt;br /&gt;
:* fixed : avs closing issue.&lt;br /&gt;
&lt;br /&gt;
* Alpha 25 :&lt;br /&gt;
:* added : new html documentation.&lt;br /&gt;
:* fixed : wrong frame issue.&lt;br /&gt;
:* fixed : mt_merge with luma=true.&lt;br /&gt;
&lt;br /&gt;
* Alpha 24 :&lt;br /&gt;
:* fixed : issues with MT.dll ( thanks tsp, Boulder, vanessam and all those who suffered the bug ).&lt;br /&gt;
:* fixed : check for YV12 colorspace, and report an error if it isn't ( thanks Boulder ).&lt;br /&gt;
:* speed up : median mode for luts ( once again, thanks to tsp ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 23 :&lt;br /&gt;
:* fix &amp;amp; speed up : median mode, thanks to tsp's insightfull remark. Note to self : think less like a mathematician, and more like a programmer. Simpler, faster &amp;amp; not bugged.&lt;br /&gt;
&lt;br /&gt;
* Alpha 22 :&lt;br /&gt;
:* added : &amp;quot;med&amp;quot;/&amp;quot;median&amp;quot; mode to luts/lutf.&lt;br /&gt;
:* changed : luts doesn't necessarily consider the center pixel.&lt;br /&gt;
:* changed back : forms helpers prepends (0, 0).&lt;br /&gt;
:* changed : forms helpers now have a bool &amp;quot;zero&amp;quot; parameter, defaulted to true.&lt;br /&gt;
:* added : bool &amp;quot;luma&amp;quot; parameter to mt_merge, which makes it use the luma mask for all three planes, and which forces chroma modes to &amp;quot;process&amp;quot; ( u=v=3 ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 21 :&lt;br /&gt;
:* fixed : two &amp;amp; three input clips filters where requesting wrong frames leading to ghost artefacts.&lt;br /&gt;
&lt;br /&gt;
* Alpha 20 :&lt;br /&gt;
:* fixed : huge bug preventing most filters from working.&lt;br /&gt;
&lt;br /&gt;
* Alpha 19 :&lt;br /&gt;
:* code refactoring.&lt;br /&gt;
:* fixed : bug with asm and width lower than 64.&lt;br /&gt;
:* fixed : doesn't prepend (0, 0) pixel to the forms helpers.&lt;br /&gt;
:* added : &amp;quot;min/max&amp;quot; mode to mt_edge. The edge value is local max - local min ( taken on a 3x3 square ).&lt;br /&gt;
:* added : mt_lutf : a frame lut, see the description above.&lt;br /&gt;
:* added : mt_luts : a spatial lut, see the description above.&lt;br /&gt;
&lt;br /&gt;
* Alpha 18 :&lt;br /&gt;
:* added : mt_makediff, mt_adddiff, mt_average and mt_clamp, ported from mg262's limitedsupport plugin. The asm code is his, though it has been ported to nasm. They respectively amount to MakeDiff, AddDiff, SimpleAverage and Clamp.&lt;br /&gt;
:* added : mt_edge : &amp;quot;prewitt&amp;quot; kernel, taken from mg262's Prewitt filter. Unlike mg262's filter, there's no multiplier ( it's always 1 ), but mt_edge's thresholds still apply. Results, and speed, are identical except for the borders, which are now filtered.&lt;br /&gt;
:* added : &amp;quot;chroma&amp;quot; parameter, taken from mg262's excellent idea. It's a string that, if used, overrides U and V values. It can be either &amp;quot;process&amp;quot;, &amp;quot;copy&amp;quot;, &amp;quot;copy first&amp;quot;, &amp;quot;copy second&amp;quot; or a number. &amp;quot;copy&amp;quot; and &amp;quot;copy second&amp;quot; work alike.&lt;br /&gt;
:* added : vmToon-0.74, adapted to masktools 2.0.&lt;br /&gt;
:* added : LimitedSharpenFaster, with LimitedSupport functions imported into the masktools.&lt;br /&gt;
&lt;br /&gt;
* Alpha 17 :&lt;br /&gt;
:* changed : behavior of mt_edge with a custom kernel : the automatic normalization factor is now the sum of the absolute value of the coefficients, ceiled to the next power of two if that power is &amp;lt;= 128 ( else, it isn't ceiled ).&lt;br /&gt;
:* added : cartoon mode for mt_edge.&lt;br /&gt;
:* added : modified mfToon script, for masktools v2. mfToonLite's speed goes from 30 fps to 70 fps, mfToon from 4.5 to 6.5.&lt;br /&gt;
&lt;br /&gt;
* Alpha 16 :&lt;br /&gt;
:* fixed : some asm code used in invert, binarize and memset to a particular value. Bug made the first 8 pixels of the picture to be incorrect. Also, avoid another nasty issue that arise when cropping ( not my fault this time, though ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 15 :&lt;br /&gt;
:* fixed : bugs from inflate &amp;amp; deflate ( thx you know you ).&lt;br /&gt;
:* reversed : inflate and deflate now match their masktools' v1 counterparts' behavior. ( if anybody used the new buggy one, let him speak quickly ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 14 :&lt;br /&gt;
:* fixed : random crashes with some width and asm functions ( thx Didee ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 13 :&lt;br /&gt;
:* fixed : mt_merge order swapped for mask operation ( no comment... ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 12 :&lt;br /&gt;
:* fixed : bug with some width ( mod4 ) for the non processing mode ( != 1 or 3 ).&lt;br /&gt;
:* changed : mt_merge order swapped for mask operation.&lt;br /&gt;
&lt;br /&gt;
* Alpha 11 :&lt;br /&gt;
:* fixed : mt_convolution's multiple instanciation bug.&lt;br /&gt;
&lt;br /&gt;
* Alpha 10 :&lt;br /&gt;
:* fixed : offY was always set to offX.&lt;br /&gt;
:* fixed : offset quirk.&lt;br /&gt;
:* fixed : mt_convolution was crashing with floats.&lt;br /&gt;
:* changed : luts' equal operator is now equivalent to abs(x-y) &amp;lt; 0.000001.&lt;br /&gt;
:* added : bool saturate(true) parameter to mt_convolution.&lt;br /&gt;
:* added : float total(1.0) parameter to mt_convolution.&lt;br /&gt;
&lt;br /&gt;
* Alpha 9 :&lt;br /&gt;
:* fixed : mt_lut, mt_lutxy : even faster loading.&lt;br /&gt;
:* fixed : mt_convolution : negative coefficients were offseted by 1.&lt;br /&gt;
:* fixed : mt_convolution : division by zero if the sum of the coefficients was 0.&lt;br /&gt;
&lt;br /&gt;
* Alpha 8 :&lt;br /&gt;
:* fixed : mt_edge in custom mode wasn't working properly.&lt;br /&gt;
:* fixed : mt_edge in custom mode, optimized wasn't working properly either.&lt;br /&gt;
:* fixed : mt_lutxy was slow to load, it's better now.&lt;br /&gt;
&lt;br /&gt;
* Alpha 7 :&lt;br /&gt;
:* fixed : forgot to add functions to the parser. Thanks Didee for pointing that out.&lt;br /&gt;
&lt;br /&gt;
* Alpha 6 :&lt;br /&gt;
:* fixed : mt_polish was having some trouble with functions.&lt;br /&gt;
&lt;br /&gt;
* Alpha 5 :&lt;br /&gt;
:* added : helpers for creating string for inpand / expand custom modes :&lt;br /&gt;
::* mt_circle&lt;br /&gt;
::* mt_square&lt;br /&gt;
::* mt_diamond&lt;br /&gt;
::* mt_ellipse&lt;br /&gt;
::* mt_rectangle&lt;br /&gt;
::* mt_losange&lt;br /&gt;
:* added : helper for lut : consersion from infix to reverse polish notation :&lt;br /&gt;
::* mt_polish&lt;br /&gt;
&lt;br /&gt;
* Alpha 4 :&lt;br /&gt;
:* added : custom modes for inpand / expand.&lt;br /&gt;
&lt;br /&gt;
* Alpha 3 :&lt;br /&gt;
:* Fixed : mt_invert, mt_binarize, mt_lutxy, which weren't working properly anymore.&lt;br /&gt;
:* Fixed : offset created by incorrect rounding in mt_convolution.&lt;br /&gt;
:* Fixed : mmx version of edges filters ( soft thresholding, and roberts ).&lt;br /&gt;
:* Fixed : mmx version of motion edge ( soft thresholding ).&lt;br /&gt;
:* added : mt_mappedblur.&lt;br /&gt;
&lt;br /&gt;
* Alpha 2 :&lt;br /&gt;
:* added functions to luts : sin, abs, cos, tan, exp, log, acos, atan, asin.&lt;br /&gt;
:* added &amp;quot;vertical&amp;quot;, &amp;quot;horizontal&amp;quot; and &amp;quot;both&amp;quot; mode to mt_inpand / mt_expand.&lt;br /&gt;
:* added mt_convolution.&lt;br /&gt;
:* fixed mt_merge behavior for y, u, v = 2.&lt;br /&gt;
:* added y, u, v = 4, for masked merge : copy the second clip channel. It's worth for any two clips input filters.&lt;br /&gt;
:* internal changes ( code reorganization ).&lt;br /&gt;
&lt;br /&gt;
* Alpha 1 :&lt;br /&gt;
:* Original release.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Back to [[MaskTools2]].&lt;/div&gt;</summary>
		<author><name>Prokhozhijj</name></author>	</entry>

	</feed>