<?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=Sampling</id>
		<title>Sampling - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=Sampling"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Sampling&amp;action=history"/>
		<updated>2026-04-07T18:17:43Z</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=Sampling&amp;diff=9190&amp;oldid=prev</id>
		<title>Br1: Improve pixel spacing in tables</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Sampling&amp;diff=9190&amp;oldid=prev"/>
				<updated>2016-06-15T20:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Improve pixel spacing in tables&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 20:38, 15 June 2016&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 117:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; ! line &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; ! line &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 1 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 1 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C___C__ &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;C...C...&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 2 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 2 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; |-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; | &amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 3 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 3 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C___C__ &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;C...C...&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 4 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 4 &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; |-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; | &amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 146:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 152:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; ! line &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; ! line &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 1t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 1t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C___C__ &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;C...C...&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 2b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 2b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; |-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; | &amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 3t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 3t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C___C__ &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;C...C...&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 4b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 4b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; |-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; | &amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 184:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 1t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 1t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C___C__ &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;C...C...&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 2b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 2b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; |-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; | &amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; | &amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 3t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 3t &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;C___C__ &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;C...C...&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |-&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;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Y_Y_Y_Y &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;&amp;#160; | &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;tt&amp;gt;Y.Y.Y.Y.&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 4b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; | line 4b &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; |-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; | &amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; | &amp;lt;tt&amp;gt;........&amp;lt;/tt&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; |}&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>Br1</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=Sampling&amp;diff=3026&amp;oldid=prev</id>
		<title>Reel.Deal: /* DV sampling */</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Sampling&amp;diff=3026&amp;oldid=prev"/>
				<updated>2014-01-25T23:28:31Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;DV sampling&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:28, 25 January 2014&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 823:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 823:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* 4:1:1 is supported natively in AviSynth v2.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;* 4:1:1 is supported natively in AviSynth v2.6.&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;* DV decoders all output YUY2 or RGB (with the exception of ffdshow when YV12 is enabled).&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;* DV decoders all output YUY2 or RGB (with the exception of ffdshow when YV12 is enabled).&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;* When outputting YUY2/RGB (NTSC), the MainConcept codec duplicates the chroma samples instead of interpolating. The [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://forum.doom9.org/attachment.php?attachmentid=7557&amp;amp;d=1189181412 &lt;/del&gt;ReInterpolate411 plugin&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;] &lt;/del&gt;can be used to correct for this, resulting in better quality. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[http://web.archive.org/web/20050926143127/http://home.comcast.net/~trbarry/downloads.htm ReInterpolate411 original archived homepage.]&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;* When outputting YUY2/RGB (NTSC), the MainConcept codec duplicates the chroma samples instead of interpolating. The [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/ins&gt;ReInterpolate411&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;plugin can be used to correct for this, resulting in better quality.&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;=== References ===&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;=== References ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Reel.Deal</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php?title=Sampling&amp;diff=980&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Sampling&amp;diff=980&amp;oldid=prev"/>
				<updated>2013-05-09T21:49:07Z</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 21:49, 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=Sampling&amp;diff=979&amp;oldid=prev</id>
		<title>Wilbert at 21:41, 9 May 2013</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=Sampling&amp;diff=979&amp;oldid=prev"/>
				<updated>2013-05-09T21:41:36Z</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;== Color format conversions and the Chroma Upsampling Error ==&lt;br /&gt;
&lt;br /&gt;
The following figures show errors, which are examples of '''the Chroma Upsampling Error''', called this way because the video is upsampled incorrectly (interlaced YV12 upsampled as progressive or vice versa). As a result, you will often see gaps on the top and bottom of colored objects and &amp;quot;ghost&amp;quot; lines floating above or below the objects.&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=4, border=1&lt;br /&gt;
 |-&lt;br /&gt;
 | [[Image:BadChroma.jpg]]&lt;br /&gt;
 |-&lt;br /&gt;
 | figure 1a: example of interlaced source (YV12) being upsampled as progressive video (YUY2)&lt;br /&gt;
 |-&lt;br /&gt;
 | [[Image:GoodChroma.jpg]]&lt;br /&gt;
 |-&lt;br /&gt;
 | figure 1b: the same image with correct chroma upsampling&lt;br /&gt;
 |-&lt;br /&gt;
 | [[Image:BadChroma2.png]]&lt;br /&gt;
 |-&lt;br /&gt;
 | figure 2a: example of progressive source (YV12) being upsampled as interlaced video (YUY2)&lt;br /&gt;
 |-&lt;br /&gt;
 | [[Image:GoodChroma2.png]]&lt;br /&gt;
 |-&lt;br /&gt;
 | figure 2b: the same image with correct chroma upsampling&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
In this section, it will be shown what causes it, and how to fix it. Where fixing mean making it less visible, because it's not possible to correct it completely.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://web.archive.org/web/20060719025947/http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html The 4:2:0 Interlaced Chroma Problem]&lt;br /&gt;
* [http://web.archive.org/web/20061005110348/http://members.aol.com/ajaynejr/vidbug2.htm The 4:2:0 Interlaced Chroma Problem - Television and Video Advice]&lt;br /&gt;
&lt;br /&gt;
=== Chroma Upsampling Error (or CUE) ===&lt;br /&gt;
&lt;br /&gt;
As previously stated, the Chroma Upsampling Error occurs when you convert from (truly) interlaced YV12 to mostly any other format and the converter thinks the video is progressive. Or, the other way around, if material is progressive (or interlaced and encoded as progressive), and upsampled as interlaced. This is however not as bad as the other way around.&lt;br /&gt;
&lt;br /&gt;
When Virtualdub previews your video, it will need to convert it to RGB. Since AviSynth delivers YV12, it asks the codec (for example XviD or DivX) to convert YV12 to RGB. The codec however ALWAYS upsamples progressively. Hence you will get artifacts in VDub preview on interlaced YV12 material. This is however not present in the YV12 video (or in the resulting encoding). To confirm this, let AviSynth do the conversion by adding [[Convert|ConvertToRGB]](interlaced=true) at the end of your script.&lt;br /&gt;
&lt;br /&gt;
=== Correcting video having the Chroma Upsampling Error ===&lt;br /&gt;
&lt;br /&gt;
You will have to blur the chroma in some way (leaving the luma intact).&lt;br /&gt;
&lt;br /&gt;
For example (using [[TomsMoComp]]):&lt;br /&gt;
&lt;br /&gt;
 AviSource(...)&lt;br /&gt;
 MergeChroma(TomsMoComp(-1,5,0))&lt;br /&gt;
&lt;br /&gt;
== Theoretical Aspects ==&lt;br /&gt;
&lt;br /&gt;
In this section the chroma placement will be explained, how this is related to subsampling (RGB -&amp;gt; YUY2 -&amp;gt; YV12) and how the upsampling is done in AviSynth.&lt;br /&gt;
&lt;br /&gt;
It should also explain in detail why the CUE occurs. To summarize the latter, the problem is that there is a difference between YV12 progressive and YV12 interlaced, because the chroma is shared vertically between neighboring pixels.&lt;br /&gt;
&lt;br /&gt;
See also [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=52151&amp;amp;highlight=upsampling this doom9 thread].&lt;br /&gt;
&lt;br /&gt;
=== The color formats: RGB, YUY2 and YV12 ===&lt;br /&gt;
&lt;br /&gt;
In order to be able to understand how YV12 &amp;lt;-&amp;gt; YUY2 sampling works and why it matters whether your source is interlaced or progressive, the YV12/YUY2 color formats will be discussed first. It's not important here how they are stored in your memory. Information about that can be found here: [[Color_spaces|Color Spaces]].&lt;br /&gt;
&lt;br /&gt;
==== YUV 4:4:4 color format ====&lt;br /&gt;
&lt;br /&gt;
The term 4:4:4 denotes that for every four samples of the luminance (Y), there are four samples each of U and V. Thus each pixel has a luminance value (Y), a U value (blue difference sample or Cb) and a V value (red difference sample or Cr). Note, &amp;quot;C&amp;quot; is just a chroma sample (UV-sample).&lt;br /&gt;
&lt;br /&gt;
The layout of a 4:4:4 encoded image looks as follows&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame       &lt;br /&gt;
 ! line   &lt;br /&gt;
 |-&lt;br /&gt;
 | YC YC YC YC &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | YC YC YC YC &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |- &lt;br /&gt;
 | YC YC YC YC &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | YC YC YC YC &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==== YUY2 color format ====&lt;br /&gt;
&lt;br /&gt;
YUY2 (or YUYV) is a 4:2:2 format. The term 4:2:2 denotes that for every four samples of the luminance (Y), there are two samples each of U and V, giving less chrominance (color) bandwidth in relation to luminance. So for each pixel, it is horizontally sharing UV (chroma) with a neighboring pixel. &lt;br /&gt;
&lt;br /&gt;
The layout of a 4:2:2 encoded image looks as follows&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame     &lt;br /&gt;
 ! line   &lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y YC Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y YC Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y YC Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y YC Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==== YV12 color format ====&lt;br /&gt;
&lt;br /&gt;
For the YV12 color format, there's a difference between progressive and interlaced. The cause is that chroma values are also shared vertically between two neighboring lines.&lt;br /&gt;
&lt;br /&gt;
YV12 is a 4:2:0 format. The term 4:2:0 denotes that for every four samples (two horizontal and two vertical) of the luminance (Y), there is one sample each of U and V, giving less chrominance (color) bandwidth in relation to luminance.&lt;br /&gt;
&lt;br /&gt;
''' YV12 progressive '''&lt;br /&gt;
&lt;br /&gt;
For each pixel, it is horizontally sharing UV (chroma or C) with a neighboring pixel and vertically sharing UV with the neighboring line (thus line 1 with line 2, line 3 with 4, etc).&lt;br /&gt;
&lt;br /&gt;
The layout of a progressive 4:2:0 encoded image looks as follows (MPEG 2 scheme - see below)&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
''' YV12 interlaced ''' &lt;br /&gt;
&lt;br /&gt;
For each pixel, it is horizontally sharing UV (chroma or C) with a neighboring pixel and vertically sharing UV with the next to neighboring line (thus line 1t with line 3t, line 2b with 4b, etc).&lt;br /&gt;
&lt;br /&gt;
The layout of a interlaced 4:2:0 encoded image looks as follows (MPEG 2 scheme - see below)&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! field 1 &lt;br /&gt;
 ! field 2 &lt;br /&gt;
 | line    &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 1t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 3t &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Subsampling ===&lt;br /&gt;
&lt;br /&gt;
Subsampling is used to reduce the storage and broadcast bandwidth requirements for digital video. This is effective for a YCbCr signal because the human eye is more sensitive for changes in black and white than for changes in color. So drastically reducing the color info shows very little difference. YUY2 and YV12 are examples of reduced color formats.&lt;br /&gt;
&lt;br /&gt;
==== RGB -&amp;gt; YUY2 conversion ====&lt;br /&gt;
&lt;br /&gt;
More about RGB -&amp;gt; YUV color conversions can be found here: [[Color_conversions|Color Conversions]].&lt;br /&gt;
Recall the layout of a 4:4:4 encoded image&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line   &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2 Y3C3 Y4C4 &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2 Y3C3 Y4C4 &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |- &lt;br /&gt;
 | Y1C1 Y2C2 Y3C3 Y4C4 &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2 Y3C3 Y4C4 &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
In AviSynth, the default mode is using a [1 2 1] kernel to interpolate chroma, that is&lt;br /&gt;
&lt;br /&gt;
 C1x = (2*C1+C2)/3 (I'm not sure how the edge pixel gets interpolated)&lt;br /&gt;
 C3x = (C2+2*C3+C4)/4&lt;br /&gt;
 C5x = (C4+2*C5+C6)/4&lt;br /&gt;
&lt;br /&gt;
The 4:2:2 encoded image becomes&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1x Y2 Y3C3x Y4 &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1x Y2 Y3C3x Y4 &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1x Y2 Y3C3x Y4 &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1x Y2 Y3C3x Y4 &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
(In v2.58, the [0 1 1] kernel was used to interpolate chroma. This is technically wrong and results in a 0.5 pixel right shift of the chroma, but it was originally done for performance reasons.)&lt;br /&gt;
&lt;br /&gt;
The other mode [[Convert|ConvertBackToYUY2]] uses the chroma from the left pixel (so the chroma is point-sampled), thus&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
''Note (as with the layout of other formats) the position of the chroma values, represent the WEIGHT result of the subsampling.''&lt;br /&gt;
&lt;br /&gt;
==== YUY2 -&amp;gt; YV12 interlaced conversion ====&lt;br /&gt;
&lt;br /&gt;
Recall the layout of a interlaced 4:2:0 encoded image, but with the weights included:&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame   &lt;br /&gt;
 ! lines   &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1t &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | chroma of YUY2_lines (0.75)*1t + (0.25)*3t &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3t &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | chroma of YUY2_lines (0.25)*2b + (0.75)*4b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 |         &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! field 1 &lt;br /&gt;
 ! field 2 &lt;br /&gt;
 ! line    &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 1t &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 |         &lt;br /&gt;
 | chroma of YUY2_lines (0.75)*1t + (0.25)*3t &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 3t &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | chroma of YUY2_lines (0.25)*2b + (0.75)*4b &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 |         &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
''Note (as with the layout of other formats) the position of the chroma values, represent the WEIGHT as a result of the subsampling.''&lt;br /&gt;
&lt;br /&gt;
Thus the chroma is stretched across two luma lines in the same field!&lt;br /&gt;
&lt;br /&gt;
==== YUY2 -&amp;gt; YV12 progressive conversion ====&lt;br /&gt;
&lt;br /&gt;
Recall the layout of a 4:2:0 encoded image&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame   &lt;br /&gt;
 ! lines  &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | chroma of YUY2_lines (0.5)*1 + (0.5)*2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | chroma of YUY2_lines (0.5)*3 + (0.5)*4 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |         &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
''Note (as with the layout of other formats) the position of the chroma values, represent the WEIGHT result of the subsampling.''&lt;br /&gt;
&lt;br /&gt;
Thus the chroma is stretched across two luma lines in the same frame!&lt;br /&gt;
&lt;br /&gt;
=== Upsampling ===&lt;br /&gt;
&lt;br /&gt;
==== YUY2 conversion -&amp;gt; RGB ====&lt;br /&gt;
&lt;br /&gt;
Recall the layout of a 4:2:2 encoded image&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line   &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |- &lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2 Y3C3 Y4 &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The C++ and the ASM code use different sampling methods.&lt;br /&gt;
&lt;br /&gt;
For the C++ code ConvertToRGB uses the same chroma for two RGB pixels using left point upsampling. Thus the 4:4:4 encoded image becomes&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C1 Y3C3 Y4C3 &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C1 Y3C3 Y4C3 &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C1 Y3C3 Y4C3 &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C1 Y3C3 Y4C3 &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
For the ASM code ConvertToRGB the missing chroma samples are interpolated (using a [1 1] kernel), that is&lt;br /&gt;
&lt;br /&gt;
 C2x = (C1+C3)/2&lt;br /&gt;
 C4x = (C3+C5)/2&lt;br /&gt;
&lt;br /&gt;
and the existing chroma samples are just copied.&lt;br /&gt;
&lt;br /&gt;
Thus the 4:4:4 encoded image becomes&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame &lt;br /&gt;
 ! line &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2x Y3C3 Y4C4x &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2x Y3C3 Y4C4x &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2x Y3C3 Y4C4x &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y1C1 Y2C2x Y3C3 Y4C4x &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The ASM code is the one which is actually used in AviSynth.&lt;br /&gt;
&lt;br /&gt;
==== YV12 interlaced conversion -&amp;gt; YUY2 ====&lt;br /&gt;
&lt;br /&gt;
In AviSynth, the missing chroma samples are interpolated as follows&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame   &lt;br /&gt;
 ! line    &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1t &lt;br /&gt;
 | chroma of YV12_lines 1t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 | chroma of YV12_lines 4b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3t &lt;br /&gt;
 | chroma of YV12_lines (0.75)*1t + (0.25)*5t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 | chroma of YV12_lines (0.75)*4b + (0.25)*8b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 5t &lt;br /&gt;
 | chroma of YV12_lines (0.25)*1t + (0.75)*5t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 6b &lt;br /&gt;
 | chroma of YV12_lines (0.25)*4b + (0.75)*8b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 7t &lt;br /&gt;
 | chroma of YV12_lines (0.75)*5t + (0.25)*9t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 8b &lt;br /&gt;
 | chroma of YV12_lines (0.75)*8b + (0.25)*12b &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! field 1 &lt;br /&gt;
 ! field 2 &lt;br /&gt;
 ! line    &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 1t &lt;br /&gt;
 | chroma of YV12_lines 1t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 | chroma of YV12_lines 4b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 3t &lt;br /&gt;
 | chroma of YV12_lines (0.75)*1t + (0.25)*5t &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 | chroma of YV12_lines (0.75)*4b + (0.25)*8b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 5t &lt;br /&gt;
 | chroma of YV12_lines (0.25)*1t + (0.75)*5t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 6b &lt;br /&gt;
 | chroma of YV12_lines (0.25)*4b + (0.75)*8b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 7t &lt;br /&gt;
 | chroma of YV12_lines (0.75)*5t + (0.25)*9t &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 8b &lt;br /&gt;
 | chroma of YV12_lines (0.75)*8b + (0.25)*12b &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
This implementation results in a [http://forum.doom9.org/showthread.php?p=1294886#post1294886 chroma shift]. AviSynth uses a different interpolation as the one suggested by the mpeg-2 specs (perhaps due to speed issues). The latter is&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! field 1 &lt;br /&gt;
 ! field 2 &lt;br /&gt;
 ! line    &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 1t &lt;br /&gt;
 | chroma of YV12_lines 1t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2b &lt;br /&gt;
 | chroma of YV12_lines 4b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 3t &lt;br /&gt;
 | chroma of YV12_lines (5/8)*1t + (3/8)*5t &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | C___C__  &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4b &lt;br /&gt;
 | chroma of YV12_lines (7/8)*4b + (1/8)*8b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 5t &lt;br /&gt;
 | chroma of YV12_lines (1/8)*1t + (7/8)*5t &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 6b &lt;br /&gt;
 | chroma of YV12_lines (3/8)*4b + (5/8)*8b &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 |         &lt;br /&gt;
 | line 7t &lt;br /&gt;
 | chroma of YV12_lines (5/8)*5t + (3/8)*9t &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |         &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 |         &lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 8b &lt;br /&gt;
 | chroma of YV12_lines (7/8)*8b + (1/8)*12b &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==== YV12 progressive conversion -&amp;gt; YUY2 ====&lt;br /&gt;
&lt;br /&gt;
The missing chroma samples are interpolated as follows&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame   &lt;br /&gt;
 ! lines  &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 | chroma of YV12_lines 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 | chroma of YV12_lines (0.75)*1 + (0.25)*3 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 | chroma of YV12_lines (0.25)*1 + (0.75)*3 &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 | chroma of YV12_lines (0.75)*3 + (0.25)*5 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 5 &lt;br /&gt;
 | chroma of YV12_lines (0.25)*3 + (0.75)*5 &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 6 &lt;br /&gt;
 | chroma of YV12_lines (0.75)*5 + (0.25)*7 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
ColorSpaces&lt;br /&gt;
* [http://web.archive.org/web/20040817164459/http://www.quantel.com/domisphere/infopool.nsf/HTML/dfb444?OpenDocument 4:4:4] sampling&lt;br /&gt;
* [http://web.archive.org/web/20040817165029/http://www.quantel.com/domisphere/infopool.nsf/HTML/dfb422?OpenDocument 4:2:2] sampling&lt;br /&gt;
* [http://web.archive.org/web/20051105145052/http://www.quantel.com/domisphere/infopool.nsf/html/BDB6BA8DBF70BE9380256C7E003BC117 4:2:0] sampling&lt;br /&gt;
* [http://web.archive.org/web/20051031143750/http://www.quantel.com/domisphere/infopool.nsf/html/EF467C39664A407580256C7E003B8BD4 4:1:1] sampling&lt;br /&gt;
* [http://web.archive.org/web/20060719025947/http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html Chroma Upsampling]&lt;br /&gt;
* [http://www.mir.com/DMG/chroma.html Chroma Subsampling Standards]&lt;br /&gt;
&lt;br /&gt;
=== mpeg-1 versus mpeg-2 sampling ===&lt;br /&gt;
&lt;br /&gt;
There are two common variants of 4:2:0 sampling. One of these is used in MPEG-2 (and CCIR-601) video, and the other is used in MPEG-1. '''The MPEG-2 scheme is how AviSynth samples 4:2:0 video''', because it completely avoids horizontal resampling in 4:2:0 &amp;lt;-&amp;gt; 4:2:2 conversions.&lt;br /&gt;
&lt;br /&gt;
The layout of a progressive MPEG-1 4:2:0 encoded image&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frames&lt;br /&gt;
 ! lines&lt;br /&gt;
 ! weights&lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | _C___C_ &lt;br /&gt;
 |        &lt;br /&gt;
 | chroma of YUY2_lines (0.5)*1 + (0.5)*2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | _C___C_ &lt;br /&gt;
 |        &lt;br /&gt;
 | chroma of YUY2_lines (0.5)*3 + (0.5)*4 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |         &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The layout of a MPEG-2 4:2:0 encoded image&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 ! frame   &lt;br /&gt;
 ! lines  &lt;br /&gt;
 ! weights &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | chroma of YUY2_lines (0.5)*1 + (0.5)*2 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |         &lt;br /&gt;
 |-&lt;br /&gt;
 | C___C__ &lt;br /&gt;
 |        &lt;br /&gt;
 | chroma of YUY2_lines (0.5)*3 + (0.5)*4 &lt;br /&gt;
 |-&lt;br /&gt;
 | Y_Y_Y_Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |         &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== DV sampling ===&lt;br /&gt;
&lt;br /&gt;
For completeness, we will mention DV sampling. DV is 4:2:0 (PAL) and 4:1:1 (NTSC). Note, that the sample positioning of the former is different from the 4:2:0 chroma in MPEG-1/MPEG-2!&lt;br /&gt;
&lt;br /&gt;
The layout of a 4:2:0 encoded image (field-based)&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 !field &lt;br /&gt;
 !line&lt;br /&gt;
 |-&lt;br /&gt;
 | YV Y YV Y YV Y YV Y &lt;br /&gt;
 | line 1 &lt;br /&gt;
 |-&lt;br /&gt;
 | YU Y YU Y YU Y YU Y &lt;br /&gt;
 | line 2 &lt;br /&gt;
 |-&lt;br /&gt;
 | YV Y YV Y YV Y YV Y &lt;br /&gt;
 | line 3 &lt;br /&gt;
 |-&lt;br /&gt;
 | YU Y YU Y YU Y YU Y &lt;br /&gt;
 | line 4 &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The layout of a 4:1:1 encoded image&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=2, border=1&lt;br /&gt;
 !field &lt;br /&gt;
 !line&lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y Y Y YC Y Y Y &lt;br /&gt;
 | line 1&lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y Y Y YC Y Y Y &lt;br /&gt;
 | line 2&lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y Y Y YC Y Y Y &lt;br /&gt;
 | line 3&lt;br /&gt;
 |-&lt;br /&gt;
 | YC Y Y Y YC Y Y Y &lt;br /&gt;
 | line 4&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Some comments about this formats:&lt;br /&gt;
* 4:1:1 is supported natively in AviSynth v2.6.&lt;br /&gt;
* DV decoders all output YUY2 or RGB (with the exception of ffdshow when YV12 is enabled).&lt;br /&gt;
* When outputting YUY2/RGB (NTSC), the MainConcept codec duplicates the chroma samples instead of interpolating. The [http://forum.doom9.org/attachment.php?attachmentid=7557&amp;amp;d=1189181412 ReInterpolate411 plugin] can be used to correct for this, resulting in better quality. [http://web.archive.org/web/20050926143127/http://home.comcast.net/~trbarry/downloads.htm ReInterpolate411 original archived homepage.]&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
* [http://web.archive.org/web/20110605074555/http://msdn.microsoft.com/en-us/library/Aa904813 MSDN: YUV sampling] Describes the most common YUV sampling techniques.&lt;br /&gt;
* [http://www.adamwilt.com/pix-sampling.html DV sampling]&lt;br /&gt;
&lt;br /&gt;
=== 4:2:0 Interlaced Chroma Problem (or ICP) ===&lt;br /&gt;
&lt;br /&gt;
In general interlaced content will have static parts. If it is upsampled correctly using interlaced upsampling, it will still have ''chroma problems on diagonal edges of bright-colored objects in static parts of a frame''. &lt;br /&gt;
&lt;br /&gt;
The reason is that &amp;quot;When the two fields are put back together later by a deinterlacer (or by your eye and brain, if you watch it on an interlaced TV), the relatively smooth gradations and contours of each field are broken up by a slightly different set of gradations and contours from the other field.&amp;quot; (quote from first reference). This is called '''the Interlaced Chroma Problem'''. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;solution&amp;quot; is a motion-adaptive upsampler. The only known native Avisynth filter performing this function is available at http://neuron2.net/autoyuy2/autoyuy2.html, although a slower Avisynth script has also been implemented.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [http://web.archive.org/web/20060719025947/http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html The 4:2:0 Interlaced Chroma Problem]&lt;br /&gt;
* [http://web.archive.org/web/20061005110348/http://members.aol.com/ajaynejr/vidbug2.htm The 4:2:0 Interlaced Chroma Problem - Television and Video Advice]&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;/div&gt;</summary>
		<author><name>Wilbert</name></author>	</entry>

	</feed>