<?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=VirtualDub_II</id>
		<title>VirtualDub II - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=VirtualDub_II"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VirtualDub_II&amp;action=history"/>
		<updated>2026-04-08T01:07:07Z</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=VirtualDub_II&amp;diff=1267&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;This is the second part of &lt;tt&gt;vdub_filters.avsi&lt;/tt&gt;:   ###################################################################  # Logo by Donald Graft, v1.3b4                   ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VirtualDub_II&amp;diff=1267&amp;oldid=prev"/>
				<updated>2013-05-12T21:04:49Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;This is the second part of &amp;lt;tt&amp;gt;vdub_filters.avsi&amp;lt;/tt&amp;gt;:   ###################################################################  # Logo by Donald Graft, v1.3b4                   ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is the second part of &amp;lt;tt&amp;gt;vdub_filters.avsi&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 ###################################################################&lt;br /&gt;
 # Logo by Donald Graft, v1.3b4                                    #&lt;br /&gt;
 #                                                                 #&lt;br /&gt;
 # In the filter configuration dialog box, enter the input file.   #&lt;br /&gt;
 # If the specified bitmap file cannot be found, or if it is not   #&lt;br /&gt;
 # a bitmap file, or if it is of the wrong depth (depth must be 24 #&lt;br /&gt;
 # bit), the output frame will be all black.                       #&lt;br /&gt;
 #                                                                 #&lt;br /&gt;
 # See &amp;quot;simplified_versions.avs&amp;quot; for some examples.                #&lt;br /&gt;
 ###################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Logo(clip clip, int &amp;quot;x&amp;quot;, int &amp;quot;y&amp;quot;, int &amp;quot;alpha&amp;quot;, int &amp;quot;transparent&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;xr&amp;quot;, int &amp;quot;xg&amp;quot;, int &amp;quot;xb&amp;quot;, int &amp;quot;tolerance&amp;quot;, string &amp;quot;filename&amp;quot;,&lt;br /&gt;
   \  bool &amp;quot;animate&amp;quot;, int &amp;quot;start&amp;quot;, int &amp;quot;duration&amp;quot;, int &amp;quot;loops&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;fadeinlen&amp;quot;, int &amp;quot;fadeoutend&amp;quot;, int &amp;quot;fadeoutlen&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\logo.vdf&amp;quot;, &amp;quot;_VD_Logo&amp;quot;, 1)&lt;br /&gt;
   return clip._VD_Logo(default(x,0), default(y,0), default(alpha,128),&lt;br /&gt;
     \  default(transparent,1), default(xr,0), default(xg,0), default(xb,255),&lt;br /&gt;
     \  default(tolerance,0), default(filename,VirtualDub_plugin_directory+&amp;quot;\logo.bmp&amp;quot;), &lt;br /&gt;
     \  default(animate,false)?1:0, default(start,0), default(duration,0), default(loops,0),&lt;br /&gt;
     \  default(fadeinlen,0), default(fadeoutend,200), default(fadeoutlen,0))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example1 (static logo):&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_logo(0, 0, 128, 1, 0, 0, 255, 0, VirtualDub_plugin_directory+&amp;quot;\logo2.bmp&amp;quot;, false, 100, 200, 0, 10, 180, 10)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 # example2 (animated logo):&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_Logo(33, 33, 128, 1, 0, 0, 0, 0, &amp;quot;G:\Recu0001.bmp&amp;quot;, true, 0, 1, 20, 0, 0, 0)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###########################################&lt;br /&gt;
 # Smart Smoother HiQ by Klaus Post, v2.11 #&lt;br /&gt;
 #                                         #&lt;br /&gt;
 # On Donald Grafts homepage there is a    #&lt;br /&gt;
 # link to a version of Smoother HiQ (also #&lt;br /&gt;
 # made by Klaus) that works directly in   #&lt;br /&gt;
 # YUV-space.                              #&lt;br /&gt;
 #                                         #&lt;br /&gt;
 # diameter (3-13, odd),                   #&lt;br /&gt;
 # threshold (1-200), amount (1-254)       #&lt;br /&gt;
 # mode = &amp;quot;average&amp;quot; or &amp;quot;weighted&amp;quot;          #&lt;br /&gt;
 ###########################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_SmartSmoothHiQ(clip clip, int &amp;quot;diameter&amp;quot;, int &amp;quot;threshold&amp;quot;, int &amp;quot;amount&amp;quot;, string &amp;quot;mode&amp;quot;,&lt;br /&gt;
   \  bool &amp;quot;weighted_difference&amp;quot;, int &amp;quot;maintain_diffweight&amp;quot;, bool &amp;quot;visualize_blur&amp;quot;, bool &amp;quot;greyscale&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\SmoothHiQ.vdf&amp;quot;, &amp;quot;_VD_SmartSmoothHiQ&amp;quot;)&lt;br /&gt;
   mode = default(mode, &amp;quot;weighted&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;average&amp;quot;) ? 0 : (mode==&amp;quot;weighted&amp;quot;) ? 1 : -1 &lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_SmartSmoothHiQ: &amp;quot;mode&amp;quot; parameter must be &amp;quot;average&amp;quot; or &amp;quot;weighted&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_SmartSmoothHiQ(default(diameter,5), default(threshold,50), default(visualize_blur,false)?1:0, default(amount,254),&lt;br /&gt;
     \  mode, default(greyscale,false)?1:0, default(weighted_difference,true)?1:0, default(maintain_diffweight,0))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_SmartSmoothHiQ(5, 50, 254, &amp;quot;weighted&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###########################################&lt;br /&gt;
 # Smart Smoother IQ by Tim Park, v0.5     #&lt;br /&gt;
 #                                         #&lt;br /&gt;
 # diameter (3-11, odd), threshold (1-200) #&lt;br /&gt;
 #                                         #&lt;br /&gt;
 # For some reason the results in VDub and #&lt;br /&gt;
 # AviSynth are very different. The latter #&lt;br /&gt;
 # is blurred a lot more.                  #&lt;br /&gt;
 ###########################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_SmartSmoothIQ(clip clip, int &amp;quot;diameter&amp;quot;, int &amp;quot;threshold&amp;quot;, bool &amp;quot;interlaced&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\smoothIQ.vdf&amp;quot;, &amp;quot;_VD_SmartSmoothIQ&amp;quot;)&lt;br /&gt;
   return clip._VD_SmartSmoothIQ(default(diameter,5), default(threshold,25), default(interlaced,false)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_SmartSmoothIQ(5, 25, false)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##############################################&lt;br /&gt;
 # DeinterlaceAreaBased by Gunar Thalin, v1.3 #&lt;br /&gt;
 #                                            #&lt;br /&gt;
 # mode = &amp;quot;interpolate&amp;quot; or &amp;quot;blend&amp;quot;            #&lt;br /&gt;
 # threshold (), edge_detect ()               #&lt;br /&gt;
 # interlaced_area (0-100)                    #&lt;br /&gt;
 ##############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_AreaBasedDeinterlace(clip clip, bool &amp;quot;deinterlaced_only&amp;quot;, string &amp;quot;mode&amp;quot;, int &amp;quot;threshold&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;edge_detect&amp;quot;, bool &amp;quot;log_frames&amp;quot;, int &amp;quot;interlaced_area&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\DeinterlaceAreaBased.vdf&amp;quot;, &amp;quot;_VD_DeinterlaceAreaBased&amp;quot;)&lt;br /&gt;
   mode = default(mode, &amp;quot;blend&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;interpolate&amp;quot;) ? 0 : (mode==&amp;quot;blend&amp;quot;) ? 1 : -1 &lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_DeinterlaceAreaBased: &amp;quot;mode&amp;quot; parameter must be &amp;quot;interpolate&amp;quot; or &amp;quot;blend&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_DeinterlaceAreaBased(default(deinterlaced_only,false)?1:0, mode, default(threshold,27), &lt;br /&gt;
     \  default(edge_detect,25), default(log_frames,false)?1:0, string(default(interlaced_area,0)))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_AreaBasedDeinterlace(false, &amp;quot;blend&amp;quot;, 27, 25, false, 0)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ########################################################################&lt;br /&gt;
 # DeLogo by Karel Suhajda, v1.2.1                                      #&lt;br /&gt;
 #                                                                      #&lt;br /&gt;
 # If the logo is (partially) located in the black bars you might want  #&lt;br /&gt;
 # to consider the filter LogoAway by Krzysztof Wojdon.                 #&lt;br /&gt;
 #                                                                      #&lt;br /&gt;
 # Before this script can be used we need to do some preprocessing      #&lt;br /&gt;
 # in Virtual Dub to obtain the following pictures:                     #&lt;br /&gt;
 # filename2 = photo_deblend.bmp                                        #&lt;br /&gt;
 # filename3 = photo_alpha.bmp                                          #&lt;br /&gt;
 # filename4 = photo_color.bmp                                          #&lt;br /&gt;
 # filename5 = photo_repair.bmp                                         #&lt;br /&gt;
 #                                                                      #&lt;br /&gt;
 # 1) Open the avi in Virtual Dub and select a frame where the logo     #&lt;br /&gt;
 # is clearly visible. Set video and audio on direct stream copy        #&lt;br /&gt;
 # and select a range of 100 frames in which the logo is contained.     #&lt;br /&gt;
 # Make a new avi of this and open it in Virtual Dub.                   #&lt;br /&gt;
 #                                                                      #&lt;br /&gt;
 # 2) Select the frame of (1) and copy it to the clipboard. Open        #&lt;br /&gt;
 # your favourite graphics program and load the frame from the          #&lt;br /&gt;
 # clipboard. Paint an rectangle in which the logo fits &amp;quot;easily&amp;quot;        #&lt;br /&gt;
 # located red (255,0,0), the rest of the frame blue (0,0,255) leaving  #&lt;br /&gt;
 # a small stroke unpainted between the red and blue part. Save this    #&lt;br /&gt;
 # picture as a 24 RGB BMP file, say photo.bmp.                         #&lt;br /&gt;
 #                                                                      #&lt;br /&gt;
 # 3) Return to the unclosed Virtual Dub and load the filter.           #&lt;br /&gt;
 # Press &amp;quot;load&amp;quot; next to &amp;quot;Analyse&amp;quot; in &amp;quot;Mask properties&amp;quot; and load         #&lt;br /&gt;
 # the BMP file. Fill in the &amp;quot;repair properties&amp;quot;. Press &amp;quot;Show preview&amp;quot;, #&lt;br /&gt;
 # &amp;quot;Sample video&amp;quot; and &amp;quot;all frames&amp;quot;. Finally make the desired files:     #&lt;br /&gt;
 # filename2 = photo_deblend.bmp                                        #&lt;br /&gt;
 # filename3 = photo_alpha.bmp                                          #&lt;br /&gt;
 # filename4 = photo_color.bmp                                          #&lt;br /&gt;
 # filename5 = photo_repair.bmp                                         #&lt;br /&gt;
 # by using the &amp;quot;Save as&amp;quot; button corresponding to deblend, alpha,       #&lt;br /&gt;
 # color and repair.                                                    #&lt;br /&gt;
 #                                                                      #&lt;br /&gt;
 # range = &amp;quot;100-200, 300-400&amp;quot;; or whole clip range = &amp;quot;&amp;quot;                 #&lt;br /&gt;
 # pixel aspect ratio: par_X (1-16), par_Y (1-16)                       #&lt;br /&gt;
 # depth (1.0 - 8.0), power (0.0 - 16.0)                                #&lt;br /&gt;
 ########################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_DeLogo(clip clip, bool &amp;quot;on_frames&amp;quot;, string &amp;quot;range&amp;quot;, string &amp;quot;file_deblend&amp;quot;, string &amp;quot;file_alpha&amp;quot;, &lt;br /&gt;
   \  string &amp;quot;file_color&amp;quot;, string &amp;quot;file_repair&amp;quot;, float &amp;quot;depth&amp;quot;, float &amp;quot;power&amp;quot;, int &amp;quot;par_X&amp;quot;, int &amp;quot;par_Y&amp;quot;, bool &amp;quot;interlaced&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\delogo.vdf&amp;quot;, &amp;quot;_VD_DeLogo&amp;quot;)&lt;br /&gt;
   X = round(10*depth)&lt;br /&gt;
   Y = round(10*power)&lt;br /&gt;
   # theoretically: z = 100*log10(par_X/par_Y), as approximation I took a minimax-approximation (calculated with Maple):&lt;br /&gt;
   v = - 48.96556825 + 63.18825967*par_X - 16.00966389*par_X*par_X + 2.473556539*par_X*par_X*par_X - .2133268695*par_X*par_X*par_X*par_X&lt;br /&gt;
     \  + .009456579673*par_X*par_X*par_X*par_X*par_X - .0001675297934*par_X*par_X*par_X*par_X*par_X*par_X&lt;br /&gt;
   w = - 48.96556825 + 63.18825967*par_Y - 16.00966389*par_Y*par_Y + 2.473556539*par_Y*par_Y*par_Y - .2133268695*par_Y*par_Y*par_Y*par_Y&lt;br /&gt;
     \  + .009456579673*par_Y*par_Y*par_Y*par_Y*par_Y - .0001675297934*par_Y*par_Y*par_Y*par_Y*par_Y*par_Y&lt;br /&gt;
   z = round(v) - round(w)&lt;br /&gt;
   return clip._VD_DeLogo(default(on_frames,false)?1:0, default(range,&amp;quot;&amp;quot;), default(file_deblend,&amp;quot;&amp;quot;), default(file_alpha,&amp;quot;&amp;quot;), &lt;br /&gt;
     \  default(file_color,&amp;quot;&amp;quot;), default(file_repair,&amp;quot;&amp;quot;), default(X,15), default(Y,40), default(interlaced,false)?1:0, z)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example1:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_DeLogo(false, &amp;quot;&amp;quot;, &amp;quot;F:\photo_deblend.bmp&amp;quot;, &amp;quot;F:\photo_alpha.bmp&amp;quot;, &amp;quot;F:\photo_color.bmp&amp;quot;, &amp;quot;F:\photo_repair.bmp&amp;quot;, 1.5, 4.0, 1, 1, false)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 # example2:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_DeLogo(true, &amp;quot;100-200, 300-400&amp;quot;, &amp;quot;F:\photo_deblend.bmp&amp;quot;, &amp;quot;F:\photo_alpha.bmp&amp;quot;, &amp;quot;F:\photo_color.bmp&amp;quot;, &amp;quot;F:\photo_repair.bmp&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ################################################&lt;br /&gt;
 # GeneralConvolution3D v1.1, by Gunnar Thalin  #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # The last matrix (matrix for frame prior to   #&lt;br /&gt;
 # previous) has to be inserted manually (only  #&lt;br /&gt;
 # when one of its arguments is non-zero)       #&lt;br /&gt;
 # since a function can have 60 arguments at    #&lt;br /&gt;
 # maximum.                                     #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # 1) matrix entries: (0-256)                   #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # 2) matrix for current frame: a11-a55         #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # 3) matrix for previous frame: b11-b55        #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # 4) The matrix entries have to be inserted in #&lt;br /&gt;
 # hexadecimal notation. Thus for example:      #&lt;br /&gt;
 # 51 decimal = 3*16^1 + 3*16^0 hexadecimal =   #&lt;br /&gt;
 # = 33 hexadecimal.                            #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # 5) a33 = 256 decimal = 1*16^2 hexadecimal    #&lt;br /&gt;
 # = 100 hexadecimal leaves the clip unchanged. #&lt;br /&gt;
 #                                              #&lt;br /&gt;
 # 6) The matrix entries must be a three digit  #&lt;br /&gt;
 # number, insert zeros from the left when      #&lt;br /&gt;
 # necessary.                                   #&lt;br /&gt;
 ################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_GeneralConvolution3D(clip clip, string &amp;quot;mode&amp;quot;, string &amp;quot;a11&amp;quot;, string &amp;quot;a12&amp;quot;, string &amp;quot;a13&amp;quot;, string &amp;quot;a14&amp;quot;,&lt;br /&gt;
   \  string &amp;quot;a15&amp;quot;, string &amp;quot;a21&amp;quot;, string &amp;quot;a22&amp;quot;, string &amp;quot;a23&amp;quot;, string &amp;quot;a24&amp;quot;, string &amp;quot;a25&amp;quot;, string &amp;quot;a31&amp;quot;, string &amp;quot;a32&amp;quot;,&lt;br /&gt;
   \  string &amp;quot;a33&amp;quot;, string &amp;quot;a34&amp;quot;, string &amp;quot;a35&amp;quot;, string &amp;quot;a41&amp;quot;, string &amp;quot;a42&amp;quot;, string &amp;quot;a43&amp;quot;, string &amp;quot;a44&amp;quot;, string &amp;quot;a45&amp;quot;,&lt;br /&gt;
   \  string &amp;quot;a51&amp;quot;, string &amp;quot;a52&amp;quot;, string &amp;quot;a53&amp;quot;, string &amp;quot;a54&amp;quot;, string &amp;quot;a55&amp;quot;, string &amp;quot;b11&amp;quot;, string &amp;quot;b12&amp;quot;, string &amp;quot;b13&amp;quot;,&lt;br /&gt;
   \  string &amp;quot;b14&amp;quot;, string &amp;quot;b15&amp;quot;, string &amp;quot;b21&amp;quot;, string &amp;quot;b22&amp;quot;, string &amp;quot;b23&amp;quot;, string &amp;quot;b24&amp;quot;, string &amp;quot;b25&amp;quot;, string &amp;quot;b31&amp;quot;,&lt;br /&gt;
   \  string &amp;quot;b32&amp;quot;, string &amp;quot;b33&amp;quot;, string &amp;quot;b34&amp;quot;, string &amp;quot;b35&amp;quot;, string &amp;quot;b41&amp;quot;, string &amp;quot;b42&amp;quot;, string &amp;quot;b43&amp;quot;, string &amp;quot;b44&amp;quot;,&lt;br /&gt;
   \  string &amp;quot;b45&amp;quot;, string &amp;quot;b51&amp;quot;, string &amp;quot;b52&amp;quot;, string &amp;quot;b53&amp;quot;, string &amp;quot;b54&amp;quot;, string &amp;quot;b55&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\GeneralConvolution3D.vdf&amp;quot;, &amp;quot;_VD_GeneralConvolution3D&amp;quot;, 1)&lt;br /&gt;
   mode = default(mode, &amp;quot;input&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;input&amp;quot;) ? 0 : (mode==&amp;quot;output&amp;quot;) ? 1 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_GeneralConvolution3D: &amp;quot;mode&amp;quot; parameter must be &amp;quot;input&amp;quot; or &amp;quot;output&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   a11 = default(a11, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a12 = default(a12, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a13 = default(a13, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a14 = default(a14, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a15 = default(a15, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a21 = default(a21, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a22 = default(a22, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a23 = default(a23, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a24 = default(a24, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a25 = default(a25, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a31 = default(a31, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a32 = default(a32, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a33 = default(a33, &amp;quot;046&amp;quot;)&lt;br /&gt;
   a34 = default(a34, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a35 = default(a35, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a41 = default(a41, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a42 = default(a42, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a43 = default(a43, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a44 = default(a44, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a45 = default(a45, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a51 = default(a51, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a52 = default(a52, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a53 = default(a53, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a54 = default(a54, &amp;quot;000&amp;quot;)&lt;br /&gt;
   a55 = default(a55, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b11 = default(b11, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b12 = default(b12, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b13 = default(b13, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b14 = default(b14, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b15 = default(b15, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b21 = default(b21, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b22 = default(b22, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b23 = default(b23, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b24 = default(b24, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b25 = default(b25, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b31 = default(b31, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b32 = default(b32, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b33 = default(b33, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b34 = default(b34, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b35 = default(b35, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b41 = default(b41, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b42 = default(b42, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b43 = default(b43, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b44 = default(b44, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b45 = default(b45, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b51 = default(b51, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b52 = default(b52, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b53 = default(b53, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b54 = default(b54, &amp;quot;000&amp;quot;)&lt;br /&gt;
   b55 = default(b55, &amp;quot;000&amp;quot;)&lt;br /&gt;
   # &amp;quot;matrix for frame prior to previous&amp;quot; elements:&lt;br /&gt;
   c11 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c12 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c13 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c14 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c15 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c21 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c22 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c23 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c24 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c25 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c31 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c32 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c33 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c34 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c35 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c41 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c42 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c43 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c44 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c45 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c51 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c52 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c53 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c54 = &amp;quot;000&amp;quot;&lt;br /&gt;
   c55 = &amp;quot;000&amp;quot;&lt;br /&gt;
   str = &amp;quot;8&amp;quot;+a11+&amp;quot;8&amp;quot;+b11+&amp;quot;8&amp;quot;+c11 + &amp;quot;8&amp;quot;+a12+&amp;quot;8&amp;quot;+b12+&amp;quot;8&amp;quot;+c12 + &amp;quot;8&amp;quot;+a13+&amp;quot;8&amp;quot;+b13+&amp;quot;8&amp;quot;+c13 + &amp;quot;8&amp;quot;+a14+&amp;quot;8&amp;quot;+b14+&amp;quot;8&amp;quot;+c14 +&lt;br /&gt;
     \  &amp;quot;8&amp;quot;+a15+&amp;quot;8&amp;quot;+b15+&amp;quot;8&amp;quot;+c15 + &amp;quot;8&amp;quot;+a21+&amp;quot;8&amp;quot;+b21+&amp;quot;8&amp;quot;+c21 + &amp;quot;8&amp;quot;+a22+&amp;quot;8&amp;quot;+b22+&amp;quot;8&amp;quot;+c22 + &amp;quot;8&amp;quot;+a23+&amp;quot;8&amp;quot;+b23+&amp;quot;8&amp;quot;+c23 +&lt;br /&gt;
     \  &amp;quot;8&amp;quot;+a24+&amp;quot;8&amp;quot;+b24+&amp;quot;8&amp;quot;+c24 + &amp;quot;8&amp;quot;+a25+&amp;quot;8&amp;quot;+b25+&amp;quot;8&amp;quot;+c25 + &amp;quot;8&amp;quot;+a31+&amp;quot;8&amp;quot;+b31+&amp;quot;8&amp;quot;+c31 + &amp;quot;8&amp;quot;+a32+&amp;quot;8&amp;quot;+b32+&amp;quot;8&amp;quot;+c32 +&lt;br /&gt;
     \  &amp;quot;8&amp;quot;+a33+&amp;quot;8&amp;quot;+b33+&amp;quot;8&amp;quot;+c33 + &amp;quot;8&amp;quot;+a34+&amp;quot;8&amp;quot;+b34+&amp;quot;8&amp;quot;+c34 + &amp;quot;8&amp;quot;+a35+&amp;quot;8&amp;quot;+b35+&amp;quot;8&amp;quot;+c35 + &amp;quot;8&amp;quot;+a41+&amp;quot;8&amp;quot;+b41+&amp;quot;8&amp;quot;+c41 +&lt;br /&gt;
     \  &amp;quot;8&amp;quot;+a42+&amp;quot;8&amp;quot;+b42+&amp;quot;8&amp;quot;+c42 + &amp;quot;8&amp;quot;+a43+&amp;quot;8&amp;quot;+b43+&amp;quot;8&amp;quot;+c43 + &amp;quot;8&amp;quot;+a44+&amp;quot;8&amp;quot;+b44+&amp;quot;8&amp;quot;+c44 + &amp;quot;8&amp;quot;+a45+&amp;quot;8&amp;quot;+b45+&amp;quot;8&amp;quot;+c45 +&lt;br /&gt;
     \  &amp;quot;8&amp;quot;+a51+&amp;quot;8&amp;quot;+b51+&amp;quot;8&amp;quot;+c51 + &amp;quot;8&amp;quot;+a52+&amp;quot;8&amp;quot;+b52+&amp;quot;8&amp;quot;+c52 + &amp;quot;8&amp;quot;+a53+&amp;quot;8&amp;quot;+b53+&amp;quot;8&amp;quot;+c53 + &amp;quot;8&amp;quot;+a54+&amp;quot;8&amp;quot;+b54+&amp;quot;8&amp;quot;+c54 +&lt;br /&gt;
     \  &amp;quot;8&amp;quot;+a55+&amp;quot;8&amp;quot;+b55+&amp;quot;8&amp;quot;+c55&lt;br /&gt;
   return clip._VD_GeneralConvolution3D(0, mode, str)&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_GeneralConvolution3D(&amp;quot;output&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;,&lt;br /&gt;
 #   \ &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;033&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;,&lt;br /&gt;
 #   \ &amp;quot;000&amp;quot;, &amp;quot;033&amp;quot;, &amp;quot;034&amp;quot;, &amp;quot;033&amp;quot;, &amp;quot;000&amp;quot;,&lt;br /&gt;
 #   \ &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;033&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;,&lt;br /&gt;
 #   \ &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;, &amp;quot;000&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ############################################&lt;br /&gt;
 # DeinterlaceSmooth by Gunnar Thalin, v1.0 #&lt;br /&gt;
 #                                          #&lt;br /&gt;
 # mode = &amp;quot;interpolate&amp;quot; or &amp;quot;blend&amp;quot;          #&lt;br /&gt;
 # threshold (), edge_detect ()             #&lt;br /&gt;
 # interlaced_area (0-100)                  #&lt;br /&gt;
 ############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_DeinterlaceSmooth(clip clip, bool &amp;quot;deinterlaced_only&amp;quot;, string &amp;quot;mode&amp;quot;, bool &amp;quot;alternate_field_order&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;threshold&amp;quot;, int &amp;quot;edge_detect&amp;quot;, bool &amp;quot;log_frames&amp;quot;, int &amp;quot;interlaced_area&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\deinterlacesmooth.vdf&amp;quot;, &amp;quot;_VD_DeinterlaceSmooth&amp;quot;)&lt;br /&gt;
   mode = default(mode, &amp;quot;interpolate&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;interpolate&amp;quot;) ? 0 : (mode==&amp;quot;blend&amp;quot;) ? 1 : -1 &lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_DeinterlaceSmooth: &amp;quot;mode&amp;quot; parameter must be &amp;quot;interpolate&amp;quot; or &amp;quot;blend&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_DeinterlaceSmooth(default(deinterlaced_only,false)?1:0, mode,&lt;br /&gt;
     \  default(alternate_field_order,false)?1:0, default(threshold,24), default(edge_detect,20),&lt;br /&gt;
     \  default(log_frames,false)?1:0, string(default(interlaced_area,0)))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example (video is converted to 50/60 frames a second before applying the filter by using SeparateFields):&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # SeparateFields()&lt;br /&gt;
 # VD_DeinterlaceSmooth(false, &amp;quot;interpolate&amp;quot;, false, 24, 20, false, 0)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###################################################&lt;br /&gt;
 # Time Based DeInterlacer by Uwe Freese, v1.1     #&lt;br /&gt;
 #                                                 #&lt;br /&gt;
 # textpixel_dist (-), color_threshold (0-255),    #&lt;br /&gt;
 # pixel_threshold (0-100), scene_dist (0-100),    #&lt;br /&gt;
 # interpolate_field (0-100)                       #&lt;br /&gt;
 # mode = scene_det_off/scene_det_on/bar_graph     #&lt;br /&gt;
 #   /scene_changes                                #&lt;br /&gt;
 # mode_spat = inter_bottom/inter_top              #&lt;br /&gt;
 # mode_temp_delay_top = inter_top/inter_bottom    #&lt;br /&gt;
 # mode_temp_delay_bottom = inter_bottom/inter_top #&lt;br /&gt;
 ###################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_DeInterlaceTimeBased(clip clip, string &amp;quot;mode&amp;quot;, int &amp;quot;textpixel_dist&amp;quot;, int &amp;quot;color_threshold&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;pixel_threshold&amp;quot;, int &amp;quot;scene_dist&amp;quot;, bool &amp;quot;detect_scene&amp;quot;, int &amp;quot;interpolate_field&amp;quot;, string &amp;quot;mode_spat&amp;quot;, &lt;br /&gt;
   \  string &amp;quot;mode_temp_delay_bottom&amp;quot;, string &amp;quot;mode_temp_delay_top&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\tbdi.vdf&amp;quot;, &amp;quot;_VD_DeInterlaceTimeBased&amp;quot;, 1)&lt;br /&gt;
   mode = default(mode, &amp;quot;scene_det_on&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;scene_det_off&amp;quot;) ? 0 : (mode==&amp;quot;scene_det_on&amp;quot;) ? 1 : (mode==&amp;quot;bar_graph&amp;quot;) ? 2 : (mode==&amp;quot;scene_changes&amp;quot;) ? 3 : -1 &lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_DeInterlaceTimeBased: &amp;quot;mode&amp;quot; parameter must be &amp;quot;scene_det_off&amp;quot;, &amp;quot;scene_det_on&amp;quot;, &amp;quot;bar_graph&amp;quot; or &amp;quot;scene_changes&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   mode_spat = default(mode_spat, &amp;quot;inter_bottom&amp;quot;)&lt;br /&gt;
   mode_spat = (mode_spat==&amp;quot;inter_bottom&amp;quot;) ? 0 : (mode_spat==&amp;quot;inter_top&amp;quot;) ? 1 : -1 &lt;br /&gt;
   Assert(mode_spat&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_DeInterlaceTimeBased: &amp;quot;mode_spat&amp;quot; parameter must be &amp;quot;inter_bottom&amp;quot; or &amp;quot;inter_top&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   mode_temp_delay_top = default(mode_temp_delay_top, &amp;quot;inter_top&amp;quot;)&lt;br /&gt;
   mode_temp_delay_top = (mode_temp_delay_top==&amp;quot;inter_top&amp;quot;) ? 0 : (mode_temp_delay_top==&amp;quot;inter_bottom&amp;quot;) ? 1 : -1 &lt;br /&gt;
   Assert(mode_temp_delay_top&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_DeInterlaceTimeBased: &amp;quot;mode_temp_delay_top&amp;quot; parameter must be &amp;quot;inter_top&amp;quot; or &amp;quot;inter_bottom&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   mode_temp_delay_bottom = default(mode_temp_delay_bottom, &amp;quot;inter_bottom&amp;quot;)&lt;br /&gt;
   mode_temp_delay_bottom = (mode_temp_delay_bottom==&amp;quot;inter_bottom&amp;quot;) ? 0 : (mode_temp_delay_bottom==&amp;quot;inter_top&amp;quot;) ? 1 : -1 &lt;br /&gt;
   Assert(mode_temp_delay_bottom&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_DeInterlaceTimeBased: &amp;quot;mode_temp_delay_bottom&amp;quot; parameter must be &amp;quot;inter_bottom&amp;quot; or &amp;quot;inter_top&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_DeInterlaceTimeBased(mode_temp_delay_bottom, mode_temp_delay_top, mode, default(textpixel_dist,1000), &lt;br /&gt;
     \  default(color_threshold,15), default(pixel_threshold,55), default(scene_dist,5), default(detect_scene,false)?1:0, &lt;br /&gt;
     \  default(interpolate_field,0), mode_spat)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_DeInterlaceTimeBased(&amp;quot;scene_det_on&amp;quot;, 1000, 15, 55, 5, true, 50, &amp;quot;inter_bottom&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #########################################&lt;br /&gt;
 # Spatial Smoother by Dividee, v1.0     #&lt;br /&gt;
 #                                       #&lt;br /&gt;
 # diameter (3-11, odd), strength (0-18) #&lt;br /&gt;
 #########################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_SpatialSmoother(clip clip, int &amp;quot;diameter&amp;quot;, int &amp;quot;strength&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\ssmooth.vdf&amp;quot;, &amp;quot;_VD_SpatialSmoother&amp;quot;)&lt;br /&gt;
   return clip._VD_SpatialSmoother(default(diameter,5), default(strength,3))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_SpatialSmoother(5, 3)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###############################################&lt;br /&gt;
 # Denoise by tHE fISH, v1.0                   #&lt;br /&gt;
 #                                             #&lt;br /&gt;
 # The output of this filter is 100% identical #&lt;br /&gt;
 # to the output of the deflicker filter with  #&lt;br /&gt;
 # a window size of 1 !                        #&lt;br /&gt;
 #                                             #&lt;br /&gt;
 # softening (0-?)                             #&lt;br /&gt;
 ###############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Denoise(clip clip, int &amp;quot;softening&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\Denoise.vdf&amp;quot;, &amp;quot;_VD_Denoise&amp;quot;, 10)&lt;br /&gt;
   return clip._VD_Denoise(default(softening,10))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_Denoise(10)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #####################################&lt;br /&gt;
 # PicFix by Gabest, v1.04           #&lt;br /&gt;
 #                                   #&lt;br /&gt;
 # threshold (0-16), error_cor (0-4) #&lt;br /&gt;
 #####################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_PicFix(clip clip, int &amp;quot;threshold&amp;quot;, int &amp;quot;error_cor&amp;quot;) &lt;br /&gt;
 { &lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\picfix.dll&amp;quot;, &amp;quot;_VD_PicFix&amp;quot;) &lt;br /&gt;
 return clip._VD_PicFix(default(threshold,6), default(error_cor,3)) &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 # example: &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_PicFix(6, 3)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #########################################&lt;br /&gt;
 # CNR Filter by Gilles Mouchard, v1.1   #&lt;br /&gt;
 #                                       #&lt;br /&gt;
 # luma_m, luma_n, Chroma1_X, Chroma1_Y, #&lt;br /&gt;
 # Chroma2_X, Chroma2_Y (0-100),         #&lt;br /&gt;
 # Chroma_shift (-10..10)                #&lt;br /&gt;
 #########################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_CNR(clip clip, bool &amp;quot;luma_wide&amp;quot;, int &amp;quot;luma_X&amp;quot;, int &amp;quot;luma_Y&amp;quot;,&lt;br /&gt;
   \  bool &amp;quot;chroma1_wide&amp;quot;, int &amp;quot;chroma1_X&amp;quot;, int &amp;quot;chroma1_Y&amp;quot;, bool &amp;quot;chroma2_wide&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;chroma2_X&amp;quot;, int &amp;quot;chroma2_Y&amp;quot;, int &amp;quot;chroma_shift&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\cnr.vdf&amp;quot;, &amp;quot;_VD_CNR&amp;quot;, 1)&lt;br /&gt;
 return clip._VD_CNR(default(luma_wide,true)?1:0, default(round(2.56*luma_X),192), default(round(2.24*luma_Y),35),&lt;br /&gt;
   \  default(chroma1_wide,false)?1:0, default(round(2.56*chroma1_X),256), default(round(2.24*chroma1_Y),47),&lt;br /&gt;
   \  default(chroma2_wide,false)?1:0, default(round(2.56*chroma2_X),256), default(round(2.24*chroma2_Y),47),&lt;br /&gt;
   \  default(chroma_shift,0))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # example: &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_CNR(true, 75, 16, false, 100, 21, false, 100, 21, 0) &lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #############################################&lt;br /&gt;
 # Shadow smoother by Valentim Batista, v0.7 #&lt;br /&gt;
 # threshold (0-8), strength (1-23),         #&lt;br /&gt;
 # difference (0-6)                          #&lt;br /&gt;
 #############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_ShadowSmoother(clip clip, int &amp;quot;threshold&amp;quot;, int &amp;quot;strength&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;difference&amp;quot;, bool &amp;quot;pixellock&amp;quot;, bool &amp;quot;noiselock&amp;quot;, bool &amp;quot;postsmooth&amp;quot;) &lt;br /&gt;
 { &lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\shadowsmoother07.vdf&amp;quot;, &amp;quot;_VD_ShadowSmoother&amp;quot;) &lt;br /&gt;
 return clip._VD_ShadowSmoother(default(threshold,4), default(strength,15), default(difference,2), &lt;br /&gt;
   \  default(pixellock,false)?1:0, default(noiselock,false)?1:0, default(postsmooth,false)?1:0) &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example: &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_ShadowSmoother(4, 15, 2, false, false, false) &lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #####################################################&lt;br /&gt;
 # DeinterlacePALMovie Filter by Gunnar Thalin, v1.1 #&lt;br /&gt;
 #                                                   #&lt;br /&gt;
 #####################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_DeinterlacePALMovie(clip clip, bool &amp;quot;swapfieldfirst&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\DeinterlacePALMovie.vdf&amp;quot;, &amp;quot;_VD_DeinterlacePALMovie&amp;quot;, 1)&lt;br /&gt;
 return clip._VD_DeinterlacePALMovie(default(swapfieldfirst,false)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example: &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_DeinterlacePALMovie(true)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##########################################################&lt;br /&gt;
 # WNR (Wavelet Noise Reduction) filter by thejam79, v0.1 #&lt;br /&gt;
 # Only for PC's using SSE instructions (like pentiums).  #&lt;br /&gt;
 #                                                        #&lt;br /&gt;
 # all values (0-255). This filter is also a native       #&lt;br /&gt;
 # AviSynth filter.                                       #&lt;br /&gt;
 ##########################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_WNR(clip clip, int Y_X0, int Y_Y0, int Y_X1, int Y_Y1, int Y_X2, int Y_Y2, &lt;br /&gt;
   \  int Cb_X0, int Cb_Y0, int Cb_X1, int Cb_Y1, int Cb_X2, int Cb_Y2, &lt;br /&gt;
   \  int Cr_X0, int Cr_Y0, int Cr_X1, int Cr_Y1, int Cr_X2, int Cr_Y2)&lt;br /&gt;
 {&lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\wnr.vdf&amp;quot;, &amp;quot;_VD_WNR&amp;quot;, 0)&lt;br /&gt;
 return clip._VD_WNR(Y_X0*256+Y_Y0, Y_X1*256+Y_Y1, Y_X2*256+Y_Y2, Cb_X0*256+Cb_Y0, Cb_X1*256+Cb_Y1, &lt;br /&gt;
   \  Cb_X2*256+Cb_Y2, Cb_X0*256+Cr_Y0, Cr_X1*256+Cr_Y1, Cr_X2*256+Cr_Y2)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example: &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_WNR(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 255, 0, 255, 0)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ############################################&lt;br /&gt;
 # Pseudocolor filter by Donald Graft, v1.0 #&lt;br /&gt;
 #                                          #&lt;br /&gt;
 ############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Pseudocolor(clip clip, string &amp;quot;filename&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\Pseudocolor.vdf&amp;quot;, &amp;quot;_VD_Pseudocolor&amp;quot;, 0)&lt;br /&gt;
 return clip._VD_Pseudocolor(default(filename, VirtualDub_plugin_directory+&amp;quot;\palettes\topo.map&amp;quot;))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example1:&lt;br /&gt;
 # AviSource(&amp;quot;C:\Program Files\VirtualDub\plugins\palettes\grayramp.avi&amp;quot;)&lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_Pseudocolor(&amp;quot;G:\topo.map&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 # example2:&lt;br /&gt;
 # AviSource(&amp;quot;G:\DivX\anestacia-paid_my_dues(divx412).avi&amp;quot;).Greyscale&lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_Pseudocolor(&amp;quot;G:\topo.map&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 ##################################################################&lt;br /&gt;
 # Tweaker filter by Christopher P. LaRosa, v1.1                  #&lt;br /&gt;
 #                                                                #&lt;br /&gt;
 # download: http://www.geocities.com/cplarosa/video/tweaker.htm  #&lt;br /&gt;
 ##################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Tweaker(clip clip,  string &amp;quot;filename&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
 LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\tweaker.vdf&amp;quot;, &amp;quot;_VD_Tweaker&amp;quot;, 1)&lt;br /&gt;
 return clip._VD_Tweaker(filename)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # AviSource(&amp;quot;j:\spirited.avi&amp;quot;)&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_Tweaker(&amp;quot;g:\tmp\script.fts&amp;quot;)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
[[Category:Shared functions]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>