<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=Resize8</id>
	<title>Resize8 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=Resize8"/>
	<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;action=history"/>
	<updated>2026-08-24T16:58:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>http://www.avisynth.nl/index.php?title=Resize8&amp;diff=9031&amp;oldid=prev</id>
		<title>Reel.Deal: archived link</title>
		<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;diff=9031&amp;oldid=prev"/>
		<updated>2016-04-21T13:11:52Z</updated>

		<summary type="html">&lt;p&gt;archived link&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:11, 21 April 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&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=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| mawen1250  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| mawen1250  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| v1.2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| v1.2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [http://www.nmm-hd.org/upload/get~8y1IjaaqvoI/Resize8_v1.2.avsi Resize8_v1.2.avsi]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http://web.archive.org/web/20150911013350/&lt;/ins&gt;http://www.nmm-hd.org/upload/get~8y1IjaaqvoI/Resize8_v1.2.avsi Resize8_v1.2.avsi]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Resize  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Resize  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Reel.Deal</name></author>
	</entry>
	<entry>
		<id>http://www.avisynth.nl/index.php?title=Resize8&amp;diff=8781&amp;oldid=prev</id>
		<title>Reel.Deal: space</title>
		<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;diff=8781&amp;oldid=prev"/>
		<updated>2016-03-04T12:58:21Z</updated>

		<summary type="html">&lt;p&gt;space&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:58, 4 March 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It also includes {{Template:FuncDef3|Resize8_Separate()}}, this function processes each plane&amp;#039;s source position separately, mainly designed for fixing center shift caused by nnedi3, eedi3, eedi2, etc. Note that it doesn&amp;#039;t correct chroma placement, so usually the result should be resized back to the original size, such as what many [[anti aliasing]] functions do. Adaptive anti-ringing algorithm is supported&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It also includes {{Template:FuncDef3|Resize8_Separate()}}, this function processes each plane&amp;#039;s source position separately, mainly designed for fixing center shift caused by nnedi3, eedi3, eedi2, etc. Note that it doesn&amp;#039;t correct chroma placement, so usually the result should be resized back to the original size, such as what many [[anti aliasing]] functions do. Adaptive anti-ringing algorithm is supported&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&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=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&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://www.avisynth.nl/index.php?title=Resize8&amp;diff=8780&amp;oldid=prev</id>
		<title>Reel.Deal: space</title>
		<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;diff=8780&amp;oldid=prev"/>
		<updated>2016-03-04T12:57:52Z</updated>

		<summary type="html">&lt;p&gt;space&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:57, 4 March 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&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=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{FilterCat4|External_filters|Scripts|Adjustment_filters|Resizers}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{FilterCat4|External_filters|Scripts|Adjustment_filters|Resizers}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Filter3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Filter3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| mawen1250  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| mawen1250  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|6=[http://www.nmm-hd.org/newbbs/viewtopic.php?t=1323 NMM-HD] [Chinese]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|6=[http://www.nmm-hd.org/newbbs/viewtopic.php?t=1323 NMM-HD] [Chinese]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FuncDef3|Resize8()}} works just like [[Resize|AviSynth&amp;#039;s internal resizers]] but with some extra features:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FuncDef3|Resize8()}} works just like [[Resize|AviSynth&amp;#039;s internal resizers]] but with some extra features:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Reel.Deal</name></author>
	</entry>
	<entry>
		<id>http://www.avisynth.nl/index.php?title=Resize8&amp;diff=6008&amp;oldid=prev</id>
		<title>Reel.Deal: /* Examples */  corrections</title>
		<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;diff=6008&amp;oldid=prev"/>
		<updated>2015-09-11T03:44:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples: &lt;/span&gt;  corrections&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:44, 11 September 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l102&quot;&gt;Line 102:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 102:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Correctly scale a YV12 source with MPEG2 chroma placement:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Correctly scale a YV12 source with MPEG2 chroma placement:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  [[AviSource]](&amp;quot;Blah.avi&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  [[AviSource]](&amp;quot;Blah.avi&amp;quot;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Resize8(1280, 720, cplace=&quot;MPEG2&quot;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Resize8(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;target_width=&lt;/ins&gt;1280, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;target_height=&lt;/ins&gt;720, cplace=&quot;MPEG2&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) # Identical to Resize8(1280,720&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Upscale using adaptive anti-ringing:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Upscale using adaptive anti-ringing:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; [[AviSource]](&quot;Blah.avi&quot;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Resize8(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;target_width=&lt;/ins&gt;1280, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;target_height=&lt;/ins&gt;720, noring=true)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Resize8(1280, 720&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, cplace=&quot;MPEG2&quot;&lt;/del&gt;, noring=true)&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&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-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;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=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Changelog ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Changelog ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Version      Date            Changes&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Version      Date            Changes&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://www.avisynth.nl/index.php?title=Resize8&amp;diff=6007&amp;oldid=prev</id>
		<title>Reel.Deal: almost done, a few things missing</title>
		<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;diff=6007&amp;oldid=prev"/>
		<updated>2015-09-11T03:34:54Z</updated>

		<summary type="html">&lt;p&gt;almost done, a few things missing&lt;/p&gt;
&lt;a href=&quot;http://www.avisynth.nl/index.php?title=Resize8&amp;amp;diff=6007&amp;amp;oldid=6002&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Reel.Deal</name></author>
	</entry>
	<entry>
		<id>http://www.avisynth.nl/index.php?title=Resize8&amp;diff=6002&amp;oldid=prev</id>
		<title>Raffriff42: preliminary, copy of script /w no formatting</title>
		<link rel="alternate" type="text/html" href="http://www.avisynth.nl/index.php?title=Resize8&amp;diff=6002&amp;oldid=prev"/>
		<updated>2015-09-10T04:52:40Z</updated>

		<summary type="html">&lt;p&gt;preliminary, copy of script /w no formatting&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FilterCat4|External_filters|Scripts|Adjustment_filters|Resizers}}&lt;br /&gt;
{{Filter5&lt;br /&gt;
| 1=[http://www.nmm-hd.org/newbbs/memberlist.php?mode=viewprofile&amp;amp;u=479&amp;amp;sid=ff62d0f6c22fcfdbe97b53c8351429bc mawen1250]&lt;br /&gt;
| 2=1.2&lt;br /&gt;
| 3=[https://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=1323 Web page (Japanese)]&lt;br /&gt;
| 4=[https://translate.google.com/translate?sl=auto&amp;amp;tl=en&amp;amp;js=y&amp;amp;prev=_t&amp;amp;hl=en&amp;amp;ie=UTF-8&amp;amp;u=https%3A%2F%2Fwww.nmm-hd.org%2Fnewbbs%2Fviewtopic.php%3Ff%3D7%26t%3D1323&amp;amp;edit-text= (Google Translation)]&lt;br /&gt;
| 5=&lt;br /&gt;
| 6=Resizers &lt;br /&gt;
| 7=&lt;br /&gt;
| 8=[http://forum.doom9.org/showthread.php?p=1654726#post1654726 doom9.org]&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
Fixes chroma shift issues of AviSynth&amp;#039;s resizers. Required by [[Xaa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Script==&lt;br /&gt;
&amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
###### Resize8 v1.2        ######        by mawen1250        ######       2015.02.23       ######&lt;br /&gt;
###### Requirements: AviSynth v2.6+, RgTools 0.92.1 or Repair v1.0pre                      ######&lt;br /&gt;
###### Accept Y8, YV12, YV16, YV24, RGB24, RGB32 input, use AviSynth resizers for scaling  ######&lt;br /&gt;
###### Resize8() is the same as normal resizer with some extra features.                   ######&lt;br /&gt;
######     Chroma placement is correctly handled by it, while AviSynth resizers doesn&amp;#039;t.   ######&lt;br /&gt;
###### Resize8_Separate() processes each plane&amp;#039;s source position separately,               ######&lt;br /&gt;
######     mainly designed for fixing center shift caused by nnedi3, eedi3, eedi2, etc.    ######&lt;br /&gt;
######     Note that it doesn&amp;#039;t correct chroma placement, so usually the result should be  ######&lt;br /&gt;
######     resized back to the original size, such as what many AA functions do.           ######&lt;br /&gt;
###### Adaptive anti-ringing algorithm is supported                                        ######&lt;br /&gt;
###### Scaling kernel for luma and chroma can be adjusted separately                       ######&lt;br /&gt;
######&lt;br /&gt;
###### All the parameters with &amp;quot;_c&amp;quot; represents U/V plane in YV12/YV16/YV24 or Alpha plane in RGB32.&lt;br /&gt;
###### The ones without &amp;quot;_c&amp;quot; represents Y plane in Y8/YV12/YV16/YV24 or R/G/B plane in RGB24/RGB32.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Resize8(clip input, int &amp;quot;target_width&amp;quot;, int &amp;quot;target_height&amp;quot;, float &amp;quot;src_left&amp;quot;, float &amp;quot;src_top&amp;quot;,&lt;br /&gt;
\                float &amp;quot;src_width&amp;quot;, float &amp;quot;src_height&amp;quot;,&lt;br /&gt;
\                string &amp;quot;kernel&amp;quot;, string &amp;quot;kernel_c&amp;quot;, float &amp;quot;a1&amp;quot;, float &amp;quot;a2&amp;quot;, float &amp;quot;a1_c&amp;quot;, float &amp;quot;a2_c&amp;quot;,&lt;br /&gt;
\                val &amp;quot;noring&amp;quot;, val &amp;quot;noring_c&amp;quot;, string &amp;quot;cplace&amp;quot;, bool &amp;quot;Y&amp;quot;, bool &amp;quot;U&amp;quot;, bool &amp;quot;V&amp;quot;, bool &amp;quot;Alpha&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
    # Properties of input clip&lt;br /&gt;
    sCSP     = input.GetCSP()&lt;br /&gt;
    IsY8     = sCSP == &amp;quot;Y8&amp;quot;&lt;br /&gt;
    IsRGB    = LeftStr(sCSP, 3) == &amp;quot;RGB&amp;quot;&lt;br /&gt;
    oCSP     = IsY8 || IsRGB ? &amp;quot;YV24&amp;quot; : sCSP&lt;br /&gt;
    Assert(sCSP==&amp;quot;Y8&amp;quot; || sCSP==&amp;quot;YV12&amp;quot; || sCSP==&amp;quot;YV16&amp;quot; || sCSP==&amp;quot;YV24&amp;quot; || sCSP==&amp;quot;RGB24&amp;quot; || sCSP==&amp;quot;RGB32&amp;quot;, &amp;quot;&amp;quot;&amp;quot;Resize8: only accept Y8, YV12, YV16, YV24, RGB24, RGB32 input&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    sw       = input.Width ()&lt;br /&gt;
    sh       = input.Height()&lt;br /&gt;
    swc      = oCSP==&amp;quot;YV24&amp;quot; ? sw   : sw/2&lt;br /&gt;
    shc      = oCSP==&amp;quot;YV12&amp;quot; ? sh/2 : sh&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Parameters for size transform&lt;br /&gt;
    ow       = Default(target_width,  sw)&lt;br /&gt;
    oh       = Default(target_height, sh)&lt;br /&gt;
    owc      = oCSP==&amp;quot;YV24&amp;quot; ? ow   : ow/2&lt;br /&gt;
    ohc      = oCSP==&amp;quot;YV12&amp;quot; ? oh/2 : oh&lt;br /&gt;
    Assert(!(oCSP==&amp;quot;YV16&amp;quot; &amp;amp;&amp;amp; ow!=owc*2), &amp;quot;&amp;quot;&amp;quot;Resize8: width  of YV16 output clip must be MOD2!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    Assert(!(oCSP==&amp;quot;YV12&amp;quot; &amp;amp;&amp;amp; ow!=owc*2), &amp;quot;&amp;quot;&amp;quot;Resize8: width  of YV12 output clip must be MOD2!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    Assert(!(oCSP==&amp;quot;YV12&amp;quot; &amp;amp;&amp;amp; oh!=ohc*2), &amp;quot;&amp;quot;&amp;quot;Resize8: height of YV12 output clip must be MOD2!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    src_l    = Default(src_left,   0    )&lt;br /&gt;
    src_t    = Default(src_top,    0    )&lt;br /&gt;
    src_w    = Default(src_width,  sw   )&lt;br /&gt;
    src_h    = Default(src_height, sh   )&lt;br /&gt;
    &lt;br /&gt;
    src_w    = src_w&amp;lt;=0 ? sw-src_l+src_w : src_w&lt;br /&gt;
    src_h    = src_h&amp;lt;=0 ? sh-src_t+src_h : src_h&lt;br /&gt;
    src_lc   = oCSP==&amp;quot;YV24&amp;quot; ? src_l    : src_l/2.&lt;br /&gt;
    src_tc   = oCSP==&amp;quot;YV12&amp;quot; ? src_t/2. : src_t&lt;br /&gt;
    src_wc   = oCSP==&amp;quot;YV24&amp;quot; ? src_w    : src_w/2.&lt;br /&gt;
    src_hc   = oCSP==&amp;quot;YV12&amp;quot; ? src_h/2. : src_h&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Process&lt;br /&gt;
    return Resize8_main(input, ow, oh, owc, ohc, src_l, src_t, src_lc, src_tc, src_w, src_h, src_wc, src_hc,&lt;br /&gt;
    \                   kernel, kernel_c, a1, a2, a1_c, a2_c, noring, noring_c, cplace, Y, U, V, Alpha)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Resize8_Separate(clip input, int &amp;quot;target_width&amp;quot;, int &amp;quot;target_height&amp;quot;, float &amp;quot;src_left&amp;quot;, float &amp;quot;src_top&amp;quot;,&lt;br /&gt;
\                float &amp;quot;src_width&amp;quot;, float &amp;quot;src_height&amp;quot;,&lt;br /&gt;
\                string &amp;quot;kernel&amp;quot;, string &amp;quot;kernel_c&amp;quot;, float &amp;quot;a1&amp;quot;, float &amp;quot;a2&amp;quot;, float &amp;quot;a1_c&amp;quot;, float &amp;quot;a2_c&amp;quot;,&lt;br /&gt;
\                val &amp;quot;noring&amp;quot;, val &amp;quot;noring_c&amp;quot;, bool &amp;quot;Y&amp;quot;, bool &amp;quot;U&amp;quot;, bool &amp;quot;V&amp;quot;, bool &amp;quot;Alpha&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
    # Properties of input clip&lt;br /&gt;
    sCSP     = input.GetCSP()&lt;br /&gt;
    IsY8     = sCSP == &amp;quot;Y8&amp;quot;&lt;br /&gt;
    IsRGB    = LeftStr(sCSP, 3) == &amp;quot;RGB&amp;quot;&lt;br /&gt;
    oCSP     = IsY8 || IsRGB ? &amp;quot;YV24&amp;quot; : sCSP&lt;br /&gt;
    Assert(sCSP==&amp;quot;Y8&amp;quot; || sCSP==&amp;quot;YV12&amp;quot; || sCSP==&amp;quot;YV16&amp;quot; || sCSP==&amp;quot;YV24&amp;quot; || sCSP==&amp;quot;RGB24&amp;quot; || sCSP==&amp;quot;RGB32&amp;quot;, &amp;quot;&amp;quot;&amp;quot;Resize8: only accept Y8, YV12, YV16, YV24, RGB24, RGB32 input&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    sw       = input.Width ()&lt;br /&gt;
    sh       = input.Height()&lt;br /&gt;
    swc      = oCSP==&amp;quot;YV24&amp;quot; ? sw   : sw/2&lt;br /&gt;
    shc      = oCSP==&amp;quot;YV12&amp;quot; ? sh/2 : sh&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Parameters for size transform&lt;br /&gt;
    ow       = Default(target_width,  sw)&lt;br /&gt;
    oh       = Default(target_height, sh)&lt;br /&gt;
    owc      = oCSP==&amp;quot;YV24&amp;quot; ? ow   : ow/2&lt;br /&gt;
    ohc      = oCSP==&amp;quot;YV12&amp;quot; ? oh/2 : oh&lt;br /&gt;
    Assert(!(oCSP==&amp;quot;YV16&amp;quot; &amp;amp;&amp;amp; ow!=owc*2), &amp;quot;&amp;quot;&amp;quot;Resize8: width  of YV16 output clip must be MOD2!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    Assert(!(oCSP==&amp;quot;YV12&amp;quot; &amp;amp;&amp;amp; ow!=owc*2), &amp;quot;&amp;quot;&amp;quot;Resize8: width  of YV12 output clip must be MOD2!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    Assert(!(oCSP==&amp;quot;YV12&amp;quot; &amp;amp;&amp;amp; oh!=ohc*2), &amp;quot;&amp;quot;&amp;quot;Resize8: height of YV12 output clip must be MOD2!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    src_l    = Default(src_left,   0    )&lt;br /&gt;
    src_t    = Default(src_top,    0    )&lt;br /&gt;
    src_w    = Default(src_width,  sw   )&lt;br /&gt;
    src_h    = Default(src_height, sh   )&lt;br /&gt;
    &lt;br /&gt;
    src_w    = src_w&amp;lt;=0 ? sw-src_l+src_w : src_w&lt;br /&gt;
    src_h    = src_h&amp;lt;=0 ? sh-src_t+src_h : src_h&lt;br /&gt;
    src_r    = sw - src_w - src_l&lt;br /&gt;
    src_b    = sh - src_h - src_t&lt;br /&gt;
    src_lc   = src_l&lt;br /&gt;
    src_tc   = src_t&lt;br /&gt;
    src_wc   = swc - src_l - src_r&lt;br /&gt;
    src_hc   = shc - src_t - src_b&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Process&lt;br /&gt;
    return Resize8_main(input, ow, oh, owc, ohc, src_l, src_t, src_lc, src_tc, src_w, src_h, src_wc, src_hc,&lt;br /&gt;
    \                   kernel, kernel_c, a1, a2, a1_c, a2_c, noring, noring_c, &amp;quot;MPEG1&amp;quot;, Y, U, V, Alpha)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Resize8_main(clip input, int &amp;quot;ow&amp;quot;, int &amp;quot;oh&amp;quot;, int &amp;quot;owc&amp;quot;, int &amp;quot;ohc&amp;quot;,&lt;br /&gt;
\                float &amp;quot;src_l&amp;quot;, float &amp;quot;src_t&amp;quot;, float &amp;quot;src_lc&amp;quot;, float &amp;quot;src_tc&amp;quot;,&lt;br /&gt;
\                float &amp;quot;src_w&amp;quot;, float &amp;quot;src_h&amp;quot;, float &amp;quot;src_wc&amp;quot;, float &amp;quot;src_hc&amp;quot;,&lt;br /&gt;
\                string &amp;quot;kernel&amp;quot;, string &amp;quot;kernel_c&amp;quot;, float &amp;quot;a1&amp;quot;, float &amp;quot;a2&amp;quot;, float &amp;quot;a1_c&amp;quot;, float &amp;quot;a2_c&amp;quot;,&lt;br /&gt;
\                val &amp;quot;noring&amp;quot;, val &amp;quot;noring_c&amp;quot;, string &amp;quot;cplace&amp;quot;, bool &amp;quot;Y&amp;quot;, bool &amp;quot;U&amp;quot;, bool &amp;quot;V&amp;quot;, bool &amp;quot;Alpha&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
    # All the parameters with &amp;quot;_c&amp;quot; affects U/V plane in YV12/YV16/YV24 or Alpha plane in RGB32.&lt;br /&gt;
    # The ones without &amp;quot;_c&amp;quot; affects Y plane in Y8/YV12/YV16/YV24 or R/G/B plane in RGB24/RGB32.&lt;br /&gt;
    &lt;br /&gt;
    # Properties of input clip&lt;br /&gt;
    sCSP     = input.GetCSP()&lt;br /&gt;
    IsY8     = sCSP == &amp;quot;Y8&amp;quot;&lt;br /&gt;
    IsRGB    = LeftStr(sCSP, 3) == &amp;quot;RGB&amp;quot;&lt;br /&gt;
    oCSP     = IsY8 || IsRGB ? &amp;quot;YV24&amp;quot; : sCSP&lt;br /&gt;
    Assert(sCSP==&amp;quot;Y8&amp;quot; || sCSP==&amp;quot;YV12&amp;quot; || sCSP==&amp;quot;YV16&amp;quot; || sCSP==&amp;quot;YV24&amp;quot; || sCSP==&amp;quot;RGB24&amp;quot; || sCSP==&amp;quot;RGB32&amp;quot;, &amp;quot;&amp;quot;&amp;quot;Resize8: only accept Y8, YV12, YV16, YV24, RGB24, RGB32 input&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    sw       = input.Width ()&lt;br /&gt;
    sh       = input.Height()&lt;br /&gt;
    swc      = oCSP==&amp;quot;YV24&amp;quot; ? sw   : sw/2&lt;br /&gt;
    shc      = oCSP==&amp;quot;YV12&amp;quot; ? sh/2 : sh&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Parameters for resampler&lt;br /&gt;
    yhratio  = float(ow ) / float(src_w )&lt;br /&gt;
    yvratio  = float(oh ) / float(src_h )&lt;br /&gt;
    chratio  = float(owc) / float(src_wc)&lt;br /&gt;
    cvratio  = float(ohc) / float(src_hc)&lt;br /&gt;
    yup      = yhratio * yvratio&amp;gt;1&lt;br /&gt;
    cup      = chratio * cvratio&amp;gt;1&lt;br /&gt;
    &lt;br /&gt;
    kernel   = Default(kernel,   yup ? &amp;quot;Lanczos4&amp;quot; : &amp;quot;Spline36&amp;quot;)&lt;br /&gt;
    kernel_c = Default(kernel_c, cup ? &amp;quot;Lanczos&amp;quot;  : &amp;quot;Spline36&amp;quot;)&lt;br /&gt;
    # &amp;quot;kernel&amp;quot; sets resizing kernel for luma, &amp;quot;kernel_c&amp;quot; sets resizing kernel for chroma&lt;br /&gt;
    # Supported kernels: Bicubic, Catmull-Rom, Hermite, Mitchell-Netravali, Robidoux, SoftCubic, SoftCubicXX (XX represents softness:[50-100])&lt;br /&gt;
    #                    Point, Bilinear, Gauss/Gaussian, Sinc&lt;br /&gt;
    #                    Blankman, Blankman2, Blankman3, Blankman4&lt;br /&gt;
    #                    Lanczos, Lanczos2, Lanczos3, Lanczos4&lt;br /&gt;
    #                    Spline16, Spline36, Spline64&lt;br /&gt;
    # By default, &amp;quot;Lanczos4&amp;quot; is set for luma upscaling, &amp;quot;Lanczos&amp;quot; is set for chroma upscaling, &amp;quot;Spline36&amp;quot; is set for luma/chroma downscaling.&lt;br /&gt;
    kernel   = RightStr(kernel  , 6) == &amp;quot;Resize&amp;quot; ? LeftStr(kernel  , StrLen(kernel  )-6) : kernel&lt;br /&gt;
    kernel_c = RightStr(kernel_c, 6) == &amp;quot;Resize&amp;quot; ? LeftStr(kernel_c, StrLen(kernel_c)-6) : kernel_c&lt;br /&gt;
    &lt;br /&gt;
    defa1    = Defined(a1)&lt;br /&gt;
    defa2    = Defined(a2)&lt;br /&gt;
    a1       = defa1 ? a1 : Resize8_undef()&lt;br /&gt;
    a2       = defa2 ? a2 : Resize8_undef()&lt;br /&gt;
    a1_c     = Defined(a1_c) ? a1_c : defa1 &amp;amp;&amp;amp; kernel==kernel_c ? a1 : Resize8_undef()&lt;br /&gt;
    a2_c     = Defined(a2_c) ? a2_c : defa2 &amp;amp;&amp;amp; kernel==kernel_c ? a2 : Resize8_undef()&lt;br /&gt;
    # &amp;quot;a1&amp;quot;,   &amp;quot;a2&amp;quot;,  sets parameters for resizer used in luma&lt;br /&gt;
    # &amp;quot;a1_c&amp;quot;, &amp;quot;a2_c&amp;quot; sets parameters for resizer used in chroma&lt;br /&gt;
    # &amp;quot;a1&amp;quot; represents &amp;quot;b&amp;quot; and &amp;quot;a2&amp;quot; represents &amp;quot;c&amp;quot; for kernel &amp;quot;Bicubic&amp;quot;   (default: b = 1/3.,     c = 1/3.)&lt;br /&gt;
    # &amp;quot;a1&amp;quot; represents &amp;quot;taps&amp;quot; and &amp;quot;a2&amp;quot; do nothing  for kernel &amp;quot;Blackman&amp;quot;  (default: taps=4,   1&amp;lt;=taps&amp;lt;=100)&lt;br /&gt;
    # &amp;quot;a1&amp;quot; represents &amp;quot;taps&amp;quot; and &amp;quot;a2&amp;quot; do nothing  for kernel &amp;quot;Lanczos&amp;quot;   (default: taps=3,   1&amp;lt;=taps&amp;lt;=100)&lt;br /&gt;
    # &amp;quot;a1&amp;quot; represents &amp;quot;taps&amp;quot; and &amp;quot;a2&amp;quot; do nothing  for kernel &amp;quot;Sinc&amp;quot;      (default: taps=4,   1&amp;lt;=taps&amp;lt;= 20)&lt;br /&gt;
    # &amp;quot;a1&amp;quot; represents &amp;quot;p&amp;quot;    and &amp;quot;a2&amp;quot; do nothing  for kernel &amp;quot;Gauss&amp;quot;     (default:   p=30,   1&amp;lt;=  p &amp;lt;=100)&lt;br /&gt;
    # &amp;quot;a1&amp;quot; represents &amp;quot;soft&amp;quot; and &amp;quot;a2&amp;quot; do nothing  for kernel &amp;quot;SoftCubic&amp;quot; (default: soft=75, 50&amp;lt;=soft&amp;lt;=100)&lt;br /&gt;
    # for kernel &amp;quot;SoftCubicXX&amp;quot;, &amp;quot;XX&amp;quot; represents &amp;quot;soft&amp;quot; and &amp;quot;a1&amp;quot;/&amp;quot;a2&amp;quot; do nothing&lt;br /&gt;
    # &amp;quot;a1&amp;quot; do nothing and &amp;quot;a2&amp;quot; do nothing for the rest kernels supported by Resize8:&lt;br /&gt;
    # &amp;quot;Catmull-Rom&amp;quot;, &amp;quot;Hermite&amp;quot;, &amp;quot;Mitchell-Netravali&amp;quot;, &amp;quot;Robidoux&amp;quot;, &amp;quot;Bilinear&amp;quot;, &amp;quot;Point&amp;quot;, &amp;quot;Spline16&amp;quot;, &amp;quot;Spline36&amp;quot;, &amp;quot;Spline64&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Parameters for anti-ringing algorithm&lt;br /&gt;
    nrkn     = kernel   == &amp;quot;Point&amp;quot; || kernel   == &amp;quot;Bilinear&amp;quot; || kernel   == &amp;quot;Gauss&amp;quot; || kernel   == &amp;quot;Gaussian&amp;quot; || kernel   == &amp;quot;Hermite&amp;quot; || LeftStr(kernel  , 9) == &amp;quot;SoftCubic&amp;quot;&lt;br /&gt;
    nrkn_c   = kernel_c == &amp;quot;Point&amp;quot; || kernel_c == &amp;quot;Bilinear&amp;quot; || kernel_c == &amp;quot;Gauss&amp;quot; || kernel_c == &amp;quot;Gaussian&amp;quot; || kernel_c == &amp;quot;Hermite&amp;quot; || LeftStr(kernel_c, 9) == &amp;quot;SoftCubic&amp;quot;&lt;br /&gt;
    noring   = Default(noring,   nrkn   ? False : True  )&lt;br /&gt;
    noring_c = Default(noring_c, nrkn_c ? False : noring)&lt;br /&gt;
    # &amp;quot;noring&amp;quot; &amp;amp; &amp;quot;noring_c&amp;quot; can be Bool or Float&lt;br /&gt;
    # By default, we don&amp;#039;t use anti-ringing algorithm for kernels &amp;quot;Point&amp;quot;,&amp;quot;Bilinear&amp;quot;,&amp;quot;Gauss&amp;quot;/&amp;quot;Gaussian&amp;quot;,&amp;quot;Hermite&amp;quot;,&amp;quot;SoftCubic&amp;quot;.&lt;br /&gt;
    # When &amp;quot;noring&amp;quot; or &amp;quot;noring_c&amp;quot; is True, adaptive anti-ringing is enabled, when no upscaling is applied, anti-ringing is also automatically disabled.&lt;br /&gt;
    # For the default kernel of   upscaling, kernel=&amp;quot;Lanczos4&amp;quot;+noring=True is applied for luma, kernel_c=&amp;quot;Lanczos&amp;quot;+noring_c=True is applied for chroma.&lt;br /&gt;
    # For the default kernel of downscaling, kernel=&amp;quot;Spline36&amp;quot;+noring=True is applied for luma/chroma, but the adaptive anti-ringing will turn off anti-ringing.&lt;br /&gt;
    #&lt;br /&gt;
    # Use repair to remove ringing introduced from resizer&lt;br /&gt;
    # noring &amp;gt;= 1          : completely use non-ringing repaired clip&lt;br /&gt;
    # 0 &amp;lt; noring &amp;lt; 1       : noring is the weight of non-ringing repaired clip for merging with normally upscaled clip&lt;br /&gt;
    # noring &amp;lt;= 0 or False : do not use non-ringing repaired clip&lt;br /&gt;
    # noring == True       : adapt the weight of non-ringing repaired clip according to input and output resolution&lt;br /&gt;
    Assert(IsFloat(noring  ) || IsBool(noring  ), &amp;quot;&amp;quot;&amp;quot;Resize8: &amp;quot;noring&amp;quot;   should be either bool or float!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    Assert(IsFloat(noring_c) || IsBool(noring_c), &amp;quot;&amp;quot;&amp;quot;Resize8: &amp;quot;noring_c&amp;quot; should be either bool or float!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Parameters for colorspace&lt;br /&gt;
    cplace   = Default(cplace,   &amp;quot;MPEG2&amp;quot;)&lt;br /&gt;
    # Placement of the chroma subsamples. Can be one of these strings:&lt;br /&gt;
    # &amp;quot;MPEG1&amp;quot;: 4:2:0 subsampling used in MPEG-1. Chroma samples are located on the center of each group of 4 pixels.&lt;br /&gt;
    # &amp;quot;MPEG2&amp;quot;: Subsampling used in MPEG-2 4:2:x. Chroma samples are located on the left pixel column of the group.&lt;br /&gt;
    &lt;br /&gt;
    Yt       = Default(Y,        True   )&lt;br /&gt;
    Ut       = Default(U,        True   )&lt;br /&gt;
    Vt       = Default(V,        True   )&lt;br /&gt;
    At       = Default(Alpha,    True   )&lt;br /&gt;
    # Control whether to process Y/U/V plane(or R/G/B/A plane for RGB24/RGB32 input)&lt;br /&gt;
    Ut       = IsY8 ? False : Ut&lt;br /&gt;
    Vt       = IsY8 ? False : Vt&lt;br /&gt;
    At       = sCSP==&amp;quot;RGB32&amp;quot; ? At : False&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Chroma placement of MPEG-2 YV12(4:2:0) and YV16(4:2:2) is left-aligned,&lt;br /&gt;
    #     thus center-aligned resizer can cause chroma shift after scaling.&lt;br /&gt;
    # Positive value means left-shift/top-shift, negetive value means right-shift/bottom-shift.&lt;br /&gt;
    # chshifta = oCSP==&amp;quot;YV24&amp;quot; || cplace==&amp;quot;MPEG1&amp;quot; ? 0 : 0.25-0.25*chratio # Chroma horizontal shift after scaling&lt;br /&gt;
    # cvshifta = oCSP==&amp;quot;YV24&amp;quot; || cplace==&amp;quot;MPEG1&amp;quot; ? 0 : 0                 # Chroma vertical   shift after scaling&lt;br /&gt;
    # chshiftb = oCSP==&amp;quot;YV24&amp;quot; || cplace==&amp;quot;MPEG1&amp;quot; ? 0 : 0.25/chratio-0.25 # Chroma horizontal shift before scaling equivalent to that after scaling&lt;br /&gt;
    # cvshiftb = oCSP==&amp;quot;YV24&amp;quot; || cplace==&amp;quot;MPEG1&amp;quot; ? 0 : 0                 # Chroma vertical   shift before scaling equivalent to that after scaling&lt;br /&gt;
    &lt;br /&gt;
    # So we apply shift before scaling to fix the chroma shift&lt;br /&gt;
    chfix    = oCSP==&amp;quot;YV24&amp;quot; || cplace==&amp;quot;MPEG1&amp;quot; ? 0 : 0.25-0.25/chratio # Chroma horizontal shift fixing before scaling&lt;br /&gt;
    cvfix    = oCSP==&amp;quot;YV24&amp;quot; || cplace==&amp;quot;MPEG1&amp;quot; ? 0 : 0                 # Chroma vertical   shift fixing before scaling&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Weight calculation of adaptive anti-ringing algorithm&lt;br /&gt;
    res_mul   = yhratio * yvratio&lt;br /&gt;
    res_mul   = min(max(res_mul  , 1), 2.25)&lt;br /&gt;
    nr_wght   = IsFloat(noring  ) ? noring&lt;br /&gt;
    \         : noring   == True  ? Spline(res_mul  , 1, 0, 2.25, 1, 3.5, 0, True)&lt;br /&gt;
    \         :                     0&lt;br /&gt;
    nr_wght   = min(max(nr_wght  , 0), 1)&lt;br /&gt;
    &lt;br /&gt;
    res_mul_c = chratio * cvratio&lt;br /&gt;
    res_mul_c = min(max(res_mul_c, 1), 2.25)&lt;br /&gt;
    nr_wght_c = IsFloat(noring_c) ? noring_c&lt;br /&gt;
    \         : noring_c == True  ? Spline(res_mul_c, 1, 0, 2.25, 1, 3.5, 0, True)&lt;br /&gt;
    \         :                     0&lt;br /&gt;
    nr_wght_c = min(max(nr_wght_c, 0), 1)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    # Apply resize&lt;br /&gt;
    IsY8 ? \&lt;br /&gt;
    Eval(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        Ys   = input&lt;br /&gt;
        &lt;br /&gt;
        Yo   = Yt                   ? Ys.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , kernel  , a1  , a2  )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Yg   = Yt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Ys.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Yr   = Yt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Yo.Resize8_Repair(Yg, 1, -1) : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Ym   = Yt ?  nr_wght   == 1 ? Yr : nr_wght   &amp;gt;  0 ? Yo.Merge(Yr, nr_wght  ) : Yo : Ys.BlankClip(width=ow , height=oh , color_yuv=$808080)&lt;br /&gt;
        &lt;br /&gt;
        res  = Ym&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;) : \&lt;br /&gt;
    IsRGB ? \&lt;br /&gt;
    Eval(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        As   = At ? input.ShowAlpha(&amp;quot;Y8&amp;quot;) : NOP()&lt;br /&gt;
        Rs   = input.ShowRed  (&amp;quot;Y8&amp;quot;)&lt;br /&gt;
        Gs   = input.ShowGreen(&amp;quot;Y8&amp;quot;)&lt;br /&gt;
        Bs   = input.ShowBlue (&amp;quot;Y8&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        Ao   = At                   ? As.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , kernel_c, a1_c, a2_c)+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Ro   = Yt                   ? Rs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , kernel  , a1  , a2  )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Go   = Ut                   ? Gs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , kernel  , a1  , a2  )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Bo   = Vt                   ? Bs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , kernel  , a1  , a2  )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Ag   = At &amp;amp;&amp;amp; nr_wght_c &amp;gt;  0 ? As.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Rg   = Yt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Rs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Gg   = Ut &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Gs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Bg   = Vt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Bs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Ar   = At &amp;amp;&amp;amp; nr_wght_c &amp;gt;  0 ? Ao.Resize8_Repair(Ag, 1, -1) : NOP()&lt;br /&gt;
        Rr   = Yt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Ro.Resize8_Repair(Rg, 1, -1) : NOP()&lt;br /&gt;
        Gr   = Ut &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Go.Resize8_Repair(Gg, 1, -1) : NOP()&lt;br /&gt;
        Br   = Vt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Bo.Resize8_Repair(Bg, 1, -1) : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Am   = At ?  nr_wght_c == 1 ? Ar : nr_wght_c &amp;gt;  0 ? Ao.Merge(Ar, nr_wght_c) : Ao : NOP()&lt;br /&gt;
        Rm   = Yt ?  nr_wght   == 1 ? Rr : nr_wght   &amp;gt;  0 ? Ro.Merge(Rr, nr_wght  ) : Ro : Rs.BlankClip(width=ow , height=oh , color_yuv=$008080)&lt;br /&gt;
        Gm   = Ut ?  nr_wght   == 1 ? Gr : nr_wght   &amp;gt;  0 ? Go.Merge(Gr, nr_wght  ) : Go : Gs.BlankClip(width=ow , height=oh , color_yuv=$008080)&lt;br /&gt;
        Bm   = Vt ?  nr_wght   == 1 ? Br : nr_wght   &amp;gt;  0 ? Bo.Merge(Br, nr_wght  ) : Bo : Bs.BlankClip(width=ow , height=oh , color_yuv=$008080)&lt;br /&gt;
        &lt;br /&gt;
        res  = At ? MergeARGB(Am, Rm, Gm, Bm) : MergeRGB(Rm, Gm, Bm, sCSP)&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;) : \&lt;br /&gt;
    Eval(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        Ys   = input.ConvertToY8()&lt;br /&gt;
        Us   = input.UtoY8()&lt;br /&gt;
        Vs   = input.VtoY8()&lt;br /&gt;
        &lt;br /&gt;
        Yo   = Yt                   ? Ys.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , kernel  , a1  , a2  )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Uo   = Ut                   ? Us.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(owc, ohc, src_lc+chfix, src_tc+cvfix, src_wc, src_hc, kernel_c, a1_c, a2_c)+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Vo   = Vt                   ? Vs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(owc, ohc, src_lc+chfix, src_tc+cvfix, src_wc, src_hc, kernel_c, a1_c, a2_c)+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Yg   = Yt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Ys.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(ow , oh , src_l       , src_t       , src_w , src_h , &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Ug   = Ut &amp;amp;&amp;amp; nr_wght_c &amp;gt;  0 ? Us.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(owc, ohc, src_lc+chfix, src_tc+cvfix, src_wc, src_hc, &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        Vg   = Vt &amp;amp;&amp;amp; nr_wght_c &amp;gt;  0 ? Vs.&amp;quot;&amp;quot;&amp;quot;+Resize8_resstr(owc, ohc, src_lc+chfix, src_tc+cvfix, src_wc, src_hc, &amp;quot;Gauss&amp;quot; , 100       )+&amp;quot;&amp;quot;&amp;quot; : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Yr   = Yt &amp;amp;&amp;amp; nr_wght   &amp;gt;  0 ? Yo.Resize8_Repair(Yg, 1, -1) : NOP()&lt;br /&gt;
        Ur   = Ut &amp;amp;&amp;amp; nr_wght_c &amp;gt;  0 ? Uo.Resize8_Repair(Ug, 1, -1) : NOP()&lt;br /&gt;
        Vr   = Vt &amp;amp;&amp;amp; nr_wght_c &amp;gt;  0 ? Vo.Resize8_Repair(Vg, 1, -1) : NOP()&lt;br /&gt;
        &lt;br /&gt;
        Ym   = Yt ?  nr_wght   == 1 ? Yr : nr_wght   &amp;gt;  0 ? Yo.Merge(Yr, nr_wght  ) : Yo : Ys.BlankClip(width=ow , height=oh , color_yuv=$808080)&lt;br /&gt;
        Um   = Ut ?  nr_wght_c == 1 ? Ur : nr_wght_c &amp;gt;  0 ? Uo.Merge(Ur, nr_wght_c) : Uo : Us.BlankClip(width=owc, height=ohc, color_yuv=$808080)&lt;br /&gt;
        Vm   = Vt ?  nr_wght_c == 1 ? Vr : nr_wght_c &amp;gt;  0 ? Vo.Merge(Vr, nr_wght_c) : Vo : Vs.BlankClip(width=owc, height=ohc, color_yuv=$808080)&lt;br /&gt;
        &lt;br /&gt;
        res  = YtoUV(Um, Vm, Ym)&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    return res&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Resize8_resstr(int &amp;quot;ow&amp;quot;, int &amp;quot;oh&amp;quot;, float &amp;quot;src_l&amp;quot;, float &amp;quot;src_t&amp;quot;, float &amp;quot;src_w&amp;quot;, float &amp;quot;src_h&amp;quot;,&lt;br /&gt;
\                      string &amp;quot;kernel&amp;quot;, float &amp;quot;a1&amp;quot;, float &amp;quot;a2&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
    ow       = string(ow)&lt;br /&gt;
    oh       = string(oh)&lt;br /&gt;
    src_l    = string(src_l)&lt;br /&gt;
    src_t    = string(src_t)&lt;br /&gt;
    src_w    = string(src_w)&lt;br /&gt;
    src_h    = string(src_h)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    resstr   = kernel == &amp;quot;Catmull-Rom&amp;quot;           ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, 0.0   , 0.5   , &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Hermite&amp;quot;               ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, 0.0   , 0.0   , &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Mitchell-Netravali&amp;quot;    ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, 1/3.  , 1/3.  , &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Robidoux&amp;quot;              ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, 0.3782, 0.3109, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Bicubic&amp;quot;               ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+string(Default(a1, 1/3.))+&amp;quot;, &amp;quot;+string(Default(a2, 1/3.))+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;SoftCubic&amp;quot;             ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+string(Default(a1/100., 0.75))+&amp;quot;, &amp;quot;+string(Default(1-a1/100., 0.25))+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;SoftCubic100&amp;quot;          ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, 1.0   , 0.0   , &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : LeftStr(kernel, 9) == &amp;quot;SoftCubic&amp;quot; ? &amp;quot;BicubicResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+RightStr(kernel, 2)+&amp;quot;/100., 1-&amp;quot;+RightStr(kernel, 2)+&amp;quot;/100., &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Bilinear&amp;quot;              ? &amp;quot;BilinearResize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Blankman&amp;quot;              ? &amp;quot;BlackmanResize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, &amp;quot;+string(int(Default(a1,  4)))+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Blankman2&amp;quot;             ? &amp;quot;BlackmanResize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, 2)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Blankman3&amp;quot;             ? &amp;quot;BlackmanResize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, 3)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Blankman4&amp;quot;             ? &amp;quot;BlackmanResize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, 4)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Gauss&amp;quot;                 ? &amp;quot;GaussResize   (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, &amp;quot;+string(int(Default(a1, 30)))+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Gaussian&amp;quot;              ? &amp;quot;GaussResize   (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, &amp;quot;+string(int(Default(a1, 30)))+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Lanczos&amp;quot;               ? &amp;quot;LanczosResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, &amp;quot;+string(int(Default(a1,  3)))+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Lanczos2&amp;quot;              ? &amp;quot;LanczosResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, 2)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Lanczos3&amp;quot;              ? &amp;quot;LanczosResize (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, 3)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Lanczos4&amp;quot;              ? &amp;quot;Lanczos4Resize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Point&amp;quot;                 ? &amp;quot;PointResize   (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Sinc&amp;quot;                  ? &amp;quot;SincResize    (&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;, &amp;quot;+string(int(Default(a1,  4)))+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Spline16&amp;quot;              ? &amp;quot;Spline16Resize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Spline36&amp;quot;              ? &amp;quot;Spline36Resize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        : kernel == &amp;quot;Spline64&amp;quot;              ? &amp;quot;Spline64Resize(&amp;quot;+ow+&amp;quot;, &amp;quot;+oh+&amp;quot;, &amp;quot;+src_l+&amp;quot;, &amp;quot;+src_t+&amp;quot;, &amp;quot;+src_w+&amp;quot;, &amp;quot;+src_h+&amp;quot;)&amp;quot;&lt;br /&gt;
    \        :                                     &amp;quot;Unknown Kernel&amp;quot;&lt;br /&gt;
    Assert(resstr!=&amp;quot;Unknown Kernel&amp;quot;, &amp;quot;&amp;quot;&amp;quot;Resize8: Unsupported &amp;quot;kernel&amp;quot; or &amp;quot;kernel_c&amp;quot;!&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    return resstr&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Resize8_Repair(clip input, clip source, int &amp;quot;mode&amp;quot;, int &amp;quot;modeU&amp;quot;, int &amp;quot;modeV&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
        return input.Repair(source, mode, modeU, modeV)&lt;br /&gt;
    }&lt;br /&gt;
    catch(error_msg)&lt;br /&gt;
    {&lt;br /&gt;
        return input.ConvertToYV12().Repair(source.ConvertToYV12(), mode, modeU, modeV).ConvertToY8()&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function Resize8_undef() {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Function GetCSP(clip c)&lt;br /&gt;
{&lt;br /&gt;
    return c.IsPlanar ? c.IsYV12 ? &amp;quot;YV12&amp;quot; :&lt;br /&gt;
    \                   c.IsYV16 ? &amp;quot;YV16&amp;quot; :&lt;br /&gt;
    \                   c.IsYV24 ? &amp;quot;YV24&amp;quot; : c.GetCSP_Y8_YV411() :&lt;br /&gt;
    \      c.IsYUY2   ? &amp;quot;YUY2&amp;quot;   :&lt;br /&gt;
    \      c.IsRGB32  ? &amp;quot;RGB32&amp;quot;  :&lt;br /&gt;
    \      c.IsRGB24  ? &amp;quot;RGB24&amp;quot;  : &amp;quot;Unknown&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    Function GetCSP_Y8_YV411(clip c)&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            c.UtoY()&lt;br /&gt;
            csp = &amp;quot;YV411&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        catch ( error_msg )&lt;br /&gt;
        {&lt;br /&gt;
            csp = &amp;quot;Y8&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return csp&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Raffriff42</name></author>
	</entry>
</feed>