<?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_I</id>
		<title>VirtualDub I - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/index.php?action=history&amp;feed=atom&amp;title=VirtualDub_I"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VirtualDub_I&amp;action=history"/>
		<updated>2026-04-07T22:27:40Z</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_I&amp;diff=1266&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;This file, when appended with the second half, forms an important tool known as &lt;tt&gt;vdub_filters.avsi&lt;/tt&gt;. Download it and place it in your plugins director...&quot;</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php?title=VirtualDub_I&amp;diff=1266&amp;oldid=prev"/>
				<updated>2013-05-12T21:03:40Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;This file, when appended with the &lt;a href=&quot;/index.php/VirtualDub_II&quot; title=&quot;VirtualDub II&quot;&gt;second half&lt;/a&gt;, forms an important tool known as &amp;lt;tt&amp;gt;vdub_filters.avsi&amp;lt;/tt&amp;gt;. Download it and place it in your plugins director...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This file, when appended with the [[VirtualDub_II|second half]], forms an important tool known as &amp;lt;tt&amp;gt;vdub_filters.avsi&amp;lt;/tt&amp;gt;. Download it and place it in your plugins directory where it will be autoloaded. Its usage is described in further detail in Section #4 of the [[AviSynth FAQ]].&lt;br /&gt;
&lt;br /&gt;
There is also a [[Simple_VDub_Filters|Simple VDub Filters]] file.&lt;br /&gt;
&lt;br /&gt;
 #############################################################&lt;br /&gt;
 # This file provides convenient Avisynth interfaces to      #&lt;br /&gt;
 # various VirtualDub plugins. Load it in your script with:  #&lt;br /&gt;
 #                                                           #&lt;br /&gt;
 #    Import(&amp;quot;vdub_filters.avs&amp;quot;)                             #&lt;br /&gt;
 #                                                           #&lt;br /&gt;
 # Version 1.5+, 05-12-2003;                                 #&lt;br /&gt;
 # sent remarks to w.j.dijkhof@tue.nl                        #&lt;br /&gt;
 #                                                           #&lt;br /&gt;
 # I want to thank all the people who helped me providing    #&lt;br /&gt;
 # these scripts (in particular the people at Doom9).        #&lt;br /&gt;
 #############################################################&lt;br /&gt;
 &lt;br /&gt;
 ########################################################&lt;br /&gt;
 # Change VirtualDub_plugin_directory below to point to #&lt;br /&gt;
 # the directory containing your VirtualDub plugins.    #&lt;br /&gt;
 ########################################################&lt;br /&gt;
 &lt;br /&gt;
 global VirtualDub_plugin_directory = &amp;quot;c:\Program Files\virtualdub\plugins&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ##################################################################&lt;br /&gt;
 # Some general notes:                                            #&lt;br /&gt;
 #                                                                #&lt;br /&gt;
 # 1) Colorspace:                                                 #&lt;br /&gt;
 # VD filters use RGB input as opposed to Avisynth which works    #&lt;br /&gt;
 # in both YUV and RGB space. Simply adding ConvertToRGB32 before #&lt;br /&gt;
 # the VD_xxxx call and everything should work ok and add         #&lt;br /&gt;
 # ConvertToYUY2 after the VD_xxxx call.                          #&lt;br /&gt;
 #                                                                #&lt;br /&gt;
 # 2) Interlaced material:                                        #&lt;br /&gt;
 # Some VirtualDub filters (for example Zoom v1.2) have an option #&lt;br /&gt;
 # to select interlaced while the corresponding script has not.   #&lt;br /&gt;
 # This can be done internally in AviSynth in the following way:  #&lt;br /&gt;
 # clip.SeparateFields.VD_Zoom(...).Weave  or                     #&lt;br /&gt;
 # Weave(VD_Zoom(SeparateFields(clip),...))                       #&lt;br /&gt;
 #                                                                #&lt;br /&gt;
 # 3) If you are using AviSynth2 you can use ConvertbackToYUY2    #&lt;br /&gt;
 # instead of ConvertToYUY2 for converting back to YUV.           #&lt;br /&gt;
 ##################################################################&lt;br /&gt;
 &lt;br /&gt;
 ####################################&lt;br /&gt;
 # Most filters can be found at:    #&lt;br /&gt;
 # http://sauron.mordor.net/dgraft/ #&lt;br /&gt;
 ####################################&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #####################################&lt;br /&gt;
 # 2D Cleaner by Jim Casaburi, v0.6b #&lt;br /&gt;
 #                                   #&lt;br /&gt;
 # threshold (0-255), radius (0-10)  #&lt;br /&gt;
 #                                   #&lt;br /&gt;
 # For athlon/pIII/pIV users there   #&lt;br /&gt;
 # is an optimized version.          #&lt;br /&gt;
 #####################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_2DCleaner(clip clip, int &amp;quot;threshold&amp;quot;, int &amp;quot;radius&amp;quot;, bool &amp;quot;interlaced&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\2dclean.vdf&amp;quot;, &amp;quot;_VD_2DCleaner&amp;quot;)&lt;br /&gt;
   return clip._VD_2DCleaner(default(interlaced,false)?1:0, default(threshold,75), default(radius,1))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:  &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_2DCleaner(75, 1) &lt;br /&gt;
 # ConvertToYUY2() &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ####################################&lt;br /&gt;
 # Temporal Cleaner by Jim Casaburi #&lt;br /&gt;
 ####################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_TemporalCleaner(clip clip, int &amp;quot;threshold&amp;quot;, int &amp;quot;pixel_lock&amp;quot;, int &amp;quot;threshold2&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;pixel_lock2&amp;quot;, int &amp;quot;scene&amp;quot;, bool &amp;quot;partial&amp;quot;, bool &amp;quot;yuv&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\tclean.vdf&amp;quot;, &amp;quot;_VD_TemporalCleaner&amp;quot;, 10)&lt;br /&gt;
   return clip._VD_TemporalCleaner(default(threshold,10), default(pixel_lock,4),&lt;br /&gt;
     \  default(threshold2,16), default(pixel_lock2,8), default(scene,30),&lt;br /&gt;
     \  default(partial,false)?1:0, default(yuv,true)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:  &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_TemporalCleaner(10, 4, 16, 8, 30, false, true) &lt;br /&gt;
 # ConvertToYUY2() &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ############################&lt;br /&gt;
 # Colorize by Donald Graft #&lt;br /&gt;
 ############################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Colorize(clip clip, int &amp;quot;hue&amp;quot;, int &amp;quot;sat&amp;quot;, int &amp;quot;lum&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\colorize.vdf&amp;quot;, &amp;quot;_VD_Colorize&amp;quot;)&lt;br /&gt;
   return clip._VD_Colorize(default(hue, 0), default(sat, 150), default(lum, 150))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ############################################&lt;br /&gt;
 # Hue/Saturation/Intensity by Donald Graft #&lt;br /&gt;
 #                       #&lt;br /&gt;
 # there is a version of this filter called #&lt;br /&gt;
 # &amp;quot;Tweak11 by Donald Graft&amp;quot; which can be   #&lt;br /&gt;
 # used in Avisynth (directly in YUV-space) #&lt;br /&gt;
 ############################################&lt;br /&gt;
 &lt;br /&gt;
 function DG_FloatToInt(f) { return round((default(f,1.0) - 1) * 100) }&lt;br /&gt;
 &lt;br /&gt;
 function VD_Hue(clip clip, int &amp;quot;hue&amp;quot;, bool &amp;quot;preserve_luma&amp;quot;, float &amp;quot;sat&amp;quot;, float &amp;quot;inten&amp;quot;,&lt;br /&gt;
   \  bool &amp;quot;r&amp;quot;, bool &amp;quot;g&amp;quot;, bool &amp;quot;b&amp;quot;, bool &amp;quot;y&amp;quot;, bool &amp;quot;c&amp;quot;, bool &amp;quot;m&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\hue.vdf&amp;quot;, &amp;quot;_VD_Hue&amp;quot;)&lt;br /&gt;
   hue = default(hue, 0)&lt;br /&gt;
   sat = DG_FloatToInt(sat)&lt;br /&gt;
   inten = DG_FloatToInt(inten)&lt;br /&gt;
   flags = (default(r,true)?1:0)+(default(g,true)?2:0)+(default(b,true)?4:0)&lt;br /&gt;
     \ +(default(y,true)?8:0)+(default(c,true)?16:0)+(default(m,true)?32:0)&lt;br /&gt;
   return clip._VD_Hue(hue, default(preserve_luma,false)?1:0, sat, inten, flags)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #############################################&lt;br /&gt;
 # Red/Green/Blue Adjustment by Donald Graft #&lt;br /&gt;
 #############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_RGBAdjustment(clip clip, float &amp;quot;r&amp;quot;, float &amp;quot;g&amp;quot;, float &amp;quot;b&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\rgb.vdf&amp;quot;, &amp;quot;_VD_RGBAdjustment&amp;quot;)&lt;br /&gt;
   return clip._VD_RGBAdjustment(DG_FloatToInt(r), DG_FloatToInt(g), DG_FloatToInt(b))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #############################&lt;br /&gt;
 # Smart Bob by Donald Graft #&lt;br /&gt;
 #############################&lt;br /&gt;
 &lt;br /&gt;
 # NB: the input clip is run through SeparateFields. You may need to use&lt;br /&gt;
 # AssumeFrameBased, AssumeFieldBased, or ComplementParity beforehand.&lt;br /&gt;
 &lt;br /&gt;
 function VD_SmartBob(clip clip, bool &amp;quot;show_motion&amp;quot;, int &amp;quot;threshold&amp;quot;, bool &amp;quot;motion_map_denoising&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\bob.vdf&amp;quot;, &amp;quot;_VD_SmartBob&amp;quot;, 1)&lt;br /&gt;
   return clip.SeparateFields._VD_SmartBob(clip.GetParity()?1:0,&lt;br /&gt;
     \  default(show_motion,false)?1:0, default(threshold,10),&lt;br /&gt;
     \  default(motion_map_denoising,true)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #############################################&lt;br /&gt;
 # Smart Deinterlace by Donald Graft, v2.7b2 #&lt;br /&gt;
 #                                           #&lt;br /&gt;
 # m(otion)_threshold (0-35 ?),              #&lt;br /&gt;
 # s(cene)_c(hange)_threshold (0-10),        #&lt;br /&gt;
 # mode = &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot; or &amp;quot;both&amp;quot;         #&lt;br /&gt;
 # channel = &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;                 #&lt;br /&gt;
 #                                           #&lt;br /&gt;
 # For pII, pIII and pIV users there is an   #&lt;br /&gt;
 # optimized version called QS Deinterlace.  #&lt;br /&gt;
 #############################################&lt;br /&gt;
 &lt;br /&gt;
 # NB: the &amp;quot;Advanced Processing&amp;quot; options (the last four arguments) duplicate built-in Avisynth functionality.&lt;br /&gt;
 &lt;br /&gt;
 function VD_SmartDeinterlace(clip clip, string &amp;quot;mode&amp;quot;, string &amp;quot;channel&amp;quot;, bool &amp;quot;show_motion&amp;quot;, bool &amp;quot;blend&amp;quot;, &lt;br /&gt;
   \  bool &amp;quot;cubic&amp;quot;, bool &amp;quot;motion_map_denoising&amp;quot;, int &amp;quot;m_threshold&amp;quot;, int &amp;quot;sc_threshold&amp;quot;,  &lt;br /&gt;
   \  bool &amp;quot;fs_before&amp;quot;, bool &amp;quot;shift&amp;quot;, bool &amp;quot;fs_after&amp;quot;, bool &amp;quot;disable&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\smart.vdf&amp;quot;, &amp;quot;_VD_SmartDeinterlace&amp;quot;, 1)&lt;br /&gt;
   mode = default(mode, &amp;quot;frame&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;frame&amp;quot;) ? 0 : (mode==&amp;quot;field&amp;quot;) ? 1 : (mode==&amp;quot;both&amp;quot;) ? 2 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_SmartDeinterlace: &amp;quot;mode&amp;quot; parameter must be &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot;, or &amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   channel = default(channel, &amp;quot;luma&amp;quot;)&lt;br /&gt;
   channel = (channel==&amp;quot;luma&amp;quot;) ? 0 : (channel==&amp;quot;all&amp;quot;) ? 1 : -1&lt;br /&gt;
   Assert(channel&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_SmartDeinterlace: &amp;quot;channel&amp;quot; parameter must be &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_SmartDeinterlace(default(show_motion,false)?1:0, default(blend,false)?1:0, &lt;br /&gt;
     \  default(m_threshold,15), default(sc_threshold,100), default(shift,false)?1:0, &lt;br /&gt;
     \  default(fs_before,false)?1:0, default(fs_after,false)?1:0, default(disable,false)?1:0,&lt;br /&gt;
     \  default(motion_map_denoising,false)?1:0, mode, channel, default(cubic,true)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:  &lt;br /&gt;
 # ConvertToRGB() &lt;br /&gt;
 # VD_SmartDeinterlace(&amp;quot;frame&amp;quot;, &amp;quot;luma&amp;quot;, false, true, false, false, 15, 100)&lt;br /&gt;
 # ConvertToYUY2() &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ###########################################&lt;br /&gt;
 # Smart Smoother by Donald Graft, v1.1    #&lt;br /&gt;
 #                                         #&lt;br /&gt;
 # diameter (3-11, odd), threshold (1-200) #&lt;br /&gt;
 ###########################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_SmartSmoother(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;\smooth.vdf&amp;quot;, &amp;quot;_VD_SmartSmoother&amp;quot;)&lt;br /&gt;
   return clip._VD_SmartSmoother(default(diameter,5), default(threshold,25),&lt;br /&gt;
     \  default(interlaced,false)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_SmartSmoother(5, 25, false)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ################################&lt;br /&gt;
 # Unsharp Mask by Donald Graft #&lt;br /&gt;
 ################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_UnsharpMask(clip clip, int &amp;quot;diameter&amp;quot;, int &amp;quot;strength&amp;quot;, int &amp;quot;threshold&amp;quot;,&lt;br /&gt;
   \  bool &amp;quot;interlaced&amp;quot;, int &amp;quot;mask_top&amp;quot;, int &amp;quot;mask_bottom&amp;quot;, int &amp;quot;mask_left&amp;quot;, int &amp;quot;mask_right&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\unsharp.vdf&amp;quot;, &amp;quot;_VD_UnsharpMask&amp;quot;, 1)&lt;br /&gt;
   return clip._VD_UnsharpMask(default(diameter,5), default(strength,32),&lt;br /&gt;
     \  default(threshold,0), default(mask_left,0), default(mask_right,0),&lt;br /&gt;
     \  default(mask_bottom,0), default(mask_top,0), default(interlaced,false)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##########################################################&lt;br /&gt;
 # Subtitler by Avery Lee                                 #&lt;br /&gt;
 #                                                        #&lt;br /&gt;
 # filename is the complete location of the subtitle file #&lt;br /&gt;
 # with parentheses around it                             #&lt;br /&gt;
 ##########################################################&lt;br /&gt;
 &lt;br /&gt;
 # NB: non-antialiased mode is not supported, because&lt;br /&gt;
 # the VD emulation doesn't support NEEDS_HDC&lt;br /&gt;
 &lt;br /&gt;
 function VD_Subtitler(clip clip, string filename)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\subtitler.vdf&amp;quot;, &amp;quot;_VD_Subtitler&amp;quot;)&lt;br /&gt;
   return clip._VD_Subtitler(1, filename)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:  ConvertToRGB()&lt;br /&gt;
 #           VD_Subtitler(&amp;quot;c:\_project\subs.ssa&amp;quot;)&lt;br /&gt;
 #           ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #################################&lt;br /&gt;
 # Border Smear by Simon Walters #&lt;br /&gt;
 #################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_BorderSmear(clip clip, int yt, int yb)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\brdrsmr.vdf&amp;quot;, &amp;quot;_VD_BorderSmear&amp;quot;)&lt;br /&gt;
   return clip._VD_BorderSmear(yt, yb)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##########################&lt;br /&gt;
 # Cartoon Tool by flaXen #&lt;br /&gt;
 ##########################&lt;br /&gt;
 &lt;br /&gt;
 # NB: &amp;quot;Show Inverse Map&amp;quot; not supported since it apparently&lt;br /&gt;
 # is not accessible through the scripting interface&lt;br /&gt;
 &lt;br /&gt;
 function VD_CartoonTool(clip clip, int &amp;quot;scale_base&amp;quot;, int &amp;quot;scale_intensity&amp;quot;, int &amp;quot;pixel_base&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\fxtoon.vdf&amp;quot;, &amp;quot;_VD_CartoonTool&amp;quot;)&lt;br /&gt;
   return clip._VD_CartoonTool(default(scale_base,16), default(scale_intensity,200), default(pixel_base,16))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ########################&lt;br /&gt;
 # VHS Filter by flaXen #&lt;br /&gt;
 ########################&lt;br /&gt;
 &lt;br /&gt;
 function VD_VHS(clip clip, bool &amp;quot;stabilize&amp;quot;, int &amp;quot;luma_threshold&amp;quot;, int &amp;quot;chroma_threshold&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;temporal_error&amp;quot;, int &amp;quot;temporal_bias&amp;quot;, int &amp;quot;noise_threshold&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;pixel_radius&amp;quot;, bool &amp;quot;prefilter&amp;quot;, bool &amp;quot;postfilter&amp;quot;, bool &amp;quot;sharpen&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;sharpen_amount&amp;quot;, bool &amp;quot;eight_direction&amp;quot;, int &amp;quot;chroma_shift_x&amp;quot;,&lt;br /&gt;
   \  int &amp;quot;chroma_shift_y&amp;quot;, bool &amp;quot;shift_i&amp;quot;, bool &amp;quot;shift_q&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\fxvhs.vdf&amp;quot;, &amp;quot;_VD_VHS&amp;quot;)&lt;br /&gt;
   return clip._VD_VHS(default(stabilize,true)?1:0, default(luma_threshold,5),&lt;br /&gt;
     \  default(chroma_threshold,30), default(temporal_error,15), default(temporal_bias,5),&lt;br /&gt;
     \  default(noise_threshold,10), default(pixel_radius,1), default(prefilter,false)?1:0,&lt;br /&gt;
     \  default(postfilter,false)?1:0, default(sharpen,false)?1:0, default(sharpen_amount,15),&lt;br /&gt;
     \  default(eight_direction,false)?1:0, default(chroma_shift_x,-1), default(chroma_shift_y,0),&lt;br /&gt;
     \  default(shift_i,false)?1:0, default(shift_q,false)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # filters from internet:&lt;br /&gt;
 &lt;br /&gt;
 #################################################&lt;br /&gt;
 # 2D Cleaner optimized by Jaan Kalda, v0.9      #&lt;br /&gt;
 # (optimized version of 2D Cleaner, for the     #&lt;br /&gt;
 # athlon users)                                 #&lt;br /&gt;
 #                                               #&lt;br /&gt;
 # Threshold (0-255), Radii around source pixel: #&lt;br /&gt;
 # the values must satisfy                       #&lt;br /&gt;
 # x and y &amp;gt;= 0 and (2x+1)(2y+1)&amp;lt;=121.           #&lt;br /&gt;
 # Either value, but not both may be 0.          #&lt;br /&gt;
 #################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_2DCleaneroptk7(clip clip, int &amp;quot;threshold&amp;quot;, int &amp;quot;radiusx&amp;quot;, int &amp;quot;radiusy&amp;quot;, bool &amp;quot;interlaced&amp;quot;) &lt;br /&gt;
 { &lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\2dcleanopt_k7.vdf&amp;quot;, &amp;quot;_VD_2DCleaneroptk7&amp;quot;) &lt;br /&gt;
   return clip._VD_2DCleaneroptk7(default(interlaced,false)?1:0, default(threshold,10), default(radiusx,2),&lt;br /&gt;
     \  default(radiusy,2)) &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 # example:  ConvertToRGB()&lt;br /&gt;
 #           VD_2DCleaneroptk7(75, 1, 1)&lt;br /&gt;
 #           ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #################################################&lt;br /&gt;
 # 2D Cleaner optimized by Jaan Kalda, v0.9      #&lt;br /&gt;
 # (optimized version of 2D Cleaner, for the     #&lt;br /&gt;
 # pIII or pIV users)                            #&lt;br /&gt;
 #                                               #&lt;br /&gt;
 # Threshold (0-255), Radii around source pixel: #&lt;br /&gt;
 # the values must satisfy                       #&lt;br /&gt;
 # x and y &amp;gt;= 0 and (2x+1)(2y+1)&amp;lt;=121.           #&lt;br /&gt;
 # Either value, but not both may be 0.          #&lt;br /&gt;
 #################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_2DCleaneroptp3(clip clip, int &amp;quot;threshold&amp;quot;, int &amp;quot;radiusx&amp;quot;, int &amp;quot;radiusy&amp;quot;, bool &amp;quot;interlaced&amp;quot;) &lt;br /&gt;
 { &lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\2dcleanopt_p3.vdf&amp;quot;, &amp;quot;_VD_2DCleaneroptp3&amp;quot;) &lt;br /&gt;
   return clip._VD_2DCleaneroptp3(default(interlaced,false)?1:0, default(threshold,10), default(radiusx,2),&lt;br /&gt;
     \  default(radiusy,2)) &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 # example:  ConvertToRGB()&lt;br /&gt;
 #           VD_2DCleaneroptp3(10, 2, 2)&lt;br /&gt;
 #           ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #######################################&lt;br /&gt;
 # Xsharpen by Donald Graft, v1.0b2    #&lt;br /&gt;
 #                                     #&lt;br /&gt;
 # Strength (0-255), Threshold (0-255) #&lt;br /&gt;
 #######################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Xsharpen(clip clip, int strength, int threshold) &lt;br /&gt;
 { &lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\xsharpen.vdf&amp;quot;, &amp;quot;_VD_Xsharpen&amp;quot;) &lt;br /&gt;
   return clip._VD_Xsharpen(threshold, strength) &lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 # example:  ConvertToRGB()&lt;br /&gt;
 #           VD_Xsharpen(10, 128)&lt;br /&gt;
 #           ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #################################################&lt;br /&gt;
 # WarpSharp by Avery Lee and Donald Graft, v1.1 #&lt;br /&gt;
 #                                               #&lt;br /&gt;
 # depth (0-400)                                 #&lt;br /&gt;
 #                                               #&lt;br /&gt;
 # make sure that you got a version of           #&lt;br /&gt;
 # WarpSharp that works in Avisynth, see:        #&lt;br /&gt;
 # http://home.attbi.com/~neuron2/warpsharp.zip  #&lt;br /&gt;
 #################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_WarpSharp(clip clip, int &amp;quot;depth&amp;quot;) &lt;br /&gt;
 { &lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\warpsharp.vdf&amp;quot;, &amp;quot;_VD_WarpSharp&amp;quot;) &lt;br /&gt;
   return clip._VD_WarpSharp(depth) &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:  ConvertToRGB() &lt;br /&gt;
 #           VD_WarpSharp(50) &lt;br /&gt;
 #           ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##########################################################&lt;br /&gt;
 # Dynamic noise reduction by Steven Don and Donald Graft #&lt;br /&gt;
 # (has no version number)                                #&lt;br /&gt;
 #                                                        #&lt;br /&gt;
 # threshold (0-31)                                       #&lt;br /&gt;
 #                                                        #&lt;br /&gt;
 # make sure that you got a version of                    #&lt;br /&gt;
 # WarpSharp that works in AviSynth, see:                 #&lt;br /&gt;
 # http://home.attbi.com/~neuron2/warpsharp.zip           #&lt;br /&gt;
 ##########################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_DNR(clip clip, int threshold) &lt;br /&gt;
 { &lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\dnr.vdf&amp;quot;, &amp;quot;_VD_DNR&amp;quot;) &lt;br /&gt;
   return clip._VD_DNR(threshold)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example:  ConvertToRGB()&lt;br /&gt;
 #           VD_Dnr(25)&lt;br /&gt;
 #           ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##########################################&lt;br /&gt;
 # SmartResize by Donald Graft, v1.1      #&lt;br /&gt;
 #                                        #&lt;br /&gt;
 # colors: green $00ff00                  #&lt;br /&gt;
 #         red $ff0000                    #&lt;br /&gt;
 #         blue $0000ff (or 255)          #&lt;br /&gt;
 #         black $000000 (or 0)           #&lt;br /&gt;
 # (for other colors, look in the filter  #&lt;br /&gt;
 # in Virtual Dub itself)                 #&lt;br /&gt;
 #                                        #&lt;br /&gt;
 # mode = &amp;quot;neighbour&amp;quot;, &amp;quot;bilinear&amp;quot;,        #&lt;br /&gt;
 # &amp;quot;bicubic&amp;quot;, &amp;quot;p_bilinear&amp;quot; or &amp;quot;p_bicubic&amp;quot; #&lt;br /&gt;
 #                                        #&lt;br /&gt;
 # The calculator isn't included in       #&lt;br /&gt;
 # the script, if you want to use it      #&lt;br /&gt;
 # I suggest to open your avi/avs in      #&lt;br /&gt;
 # Virtual Dub and use the calculator     #&lt;br /&gt;
 # to determine how to resize.            #&lt;br /&gt;
 ##########################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_SmartResize(clip clip, int &amp;quot;new_width&amp;quot;, int &amp;quot;new_height&amp;quot;, bool &amp;quot;interlaced&amp;quot;, bool &amp;quot;letterbox&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;frame_width&amp;quot;, int &amp;quot;frame_height&amp;quot;, string &amp;quot;mode&amp;quot;, int &amp;quot;color&amp;quot;, string &amp;quot;calculator&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\Resize.vdf&amp;quot;, &amp;quot;_VD_SmartResize&amp;quot;)&lt;br /&gt;
   mode = default(mode, &amp;quot;p_bicubic&amp;quot;)&lt;br /&gt;
   interlaced = default(interlaced, false)&lt;br /&gt;
   mode = (mode==&amp;quot;neighbour&amp;quot; &amp;amp;&amp;amp; interlaced==false) ? 0 : (mode==&amp;quot;bilinear&amp;quot; &amp;amp;&amp;amp; interlaced==false) ? 1 : (mode==&amp;quot;bicubic&amp;quot; &amp;amp;&amp;amp; interlaced==false) ? 2 : &lt;br /&gt;
     \  (mode==&amp;quot;p_bilinear&amp;quot; &amp;amp;&amp;amp; interlaced==false) ? 3 : (mode==&amp;quot;p_bicubic&amp;quot; &amp;amp;&amp;amp; interlaced==false) ? 4 : (mode==&amp;quot;neighbour&amp;quot; &amp;amp;&amp;amp; interlaced==true) ? 128 : &lt;br /&gt;
     \  (mode==&amp;quot;bilinear&amp;quot; &amp;amp;&amp;amp; interlaced==true) ? 129 : (mode==&amp;quot;bicubic&amp;quot; &amp;amp;&amp;amp; interlaced==true) ? 130 : (mode==&amp;quot;p_bilinear&amp;quot; &amp;amp;&amp;amp; interlaced==true) ? 131 : &lt;br /&gt;
     \  (mode==&amp;quot;p_bicubic&amp;quot; &amp;amp;&amp;amp; interlaced==true) ? 132 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_SmartResize: &amp;quot;mode&amp;quot; parameter must be &amp;quot;neighbour&amp;quot;, &amp;quot;bilinear&amp;quot;, &amp;quot;bicubic&amp;quot;, &amp;quot;p_bilinear&amp;quot;, &amp;quot;p_bicubic&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_SmartResize(new_width, new_height, default(letterbox,false)?1:0, mode, default(frame_width,new_width), &lt;br /&gt;
     \  default(frame_height,new_height), default(color,0), default(calculator,&amp;quot;&amp;quot;))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # example1:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_SmartResize(320, 240, false, true, 320, 320)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 # example2:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_SmartResize(320, 240, false, true, 320, 320, &amp;quot;p_bicubic&amp;quot;, $ff0000)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ####################################################################&lt;br /&gt;
 # QS Deinterlace by Pavel Kuznetsov, v0.52b (optimized version of  #&lt;br /&gt;
 # Smart Deinterlace, for the pentium II users)                     #&lt;br /&gt;
 #                                                                  #&lt;br /&gt;
 # mode = &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot; or &amp;quot;both&amp;quot;                                #&lt;br /&gt;
 # channel = &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;                                        #&lt;br /&gt;
 #                                                                  #&lt;br /&gt;
 # http://freetime.sinor.ru/observatory/article.phtml?qsdeinterlace #&lt;br /&gt;
 # Please use http://babelfish.altavista.com for translation.       #&lt;br /&gt;
 ####################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_QSdeinterlaceII(clip clip, string &amp;quot;mode&amp;quot;, string &amp;quot;channel&amp;quot;, bool &amp;quot;show_motion&amp;quot;, bool &amp;quot;blend&amp;quot;, &lt;br /&gt;
   \  bool &amp;quot;cubic&amp;quot;, bool &amp;quot;motion_map_denoising&amp;quot;, int &amp;quot;m_threshold&amp;quot;, int &amp;quot;sc_threshold&amp;quot;,  &lt;br /&gt;
   \  bool &amp;quot;fs_before&amp;quot;, bool &amp;quot;shift&amp;quot;, bool &amp;quot;fs_after&amp;quot;, bool &amp;quot;disable&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\QSdeinterlacePII.vdf&amp;quot;, &amp;quot;_VD_QSdeinterlaceII&amp;quot;, 1)&lt;br /&gt;
   mode = default(mode, &amp;quot;frame&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;frame&amp;quot;) ? 0 : (mode==&amp;quot;field&amp;quot;) ? 1 : (mode==&amp;quot;both&amp;quot;) ? 2 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_QSdeinterlaceIII: &amp;quot;mode&amp;quot; parameter must be &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot;, or &amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   channel = default(channel, &amp;quot;luma&amp;quot;)&lt;br /&gt;
   channel = (channel==&amp;quot;luma&amp;quot;) ? 0 : (channel==&amp;quot;all&amp;quot;) ? 1 : -1&lt;br /&gt;
   Assert(channel&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_QSdeinterlaceII: &amp;quot;channel&amp;quot; parameter must be &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_QSdeinterlaceII(default(show_motion,false)?1:0, default(blend,false)?1:0, &lt;br /&gt;
     \  default(m_threshold,15), default(sc_threshold,100), default(shift,false)?1:0, &lt;br /&gt;
     \  default(fs_before,false)?1:0, default(fs_after,false)?1:0, default(disable,false)?1:0,&lt;br /&gt;
     \  default(motion_map_denoising,false)?1:0, mode, channel, default(cubic,true)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # example VD_QSdeinterlaceII(&amp;quot;frame&amp;quot;, &amp;quot;luma&amp;quot;, false, true, false, false, 15, 100)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##############################################################################&lt;br /&gt;
 # QS Deinterlace by Pavel Kuznetsov, v0.50b and v0.52b (optimized version of #&lt;br /&gt;
 # Smart Deinterlace, for the pentium III users)                              #&lt;br /&gt;
 #                                                                            #&lt;br /&gt;
 # mode = &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot; or &amp;quot;both&amp;quot;                                          #&lt;br /&gt;
 # channel = &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;                                                  #&lt;br /&gt;
 #                                                                            #&lt;br /&gt;
 # http://freetime.sinor.ru/observatory/article.phtml?qsdeinterlace           #&lt;br /&gt;
 # Please use http://babelfish.altavista.com for translation.                 #&lt;br /&gt;
 ##############################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_QSdeinterlaceIII(clip clip, string &amp;quot;mode&amp;quot;, string &amp;quot;channel&amp;quot;, bool &amp;quot;show_motion&amp;quot;, bool &amp;quot;blend&amp;quot;, &lt;br /&gt;
   \  bool &amp;quot;cubic&amp;quot;, bool &amp;quot;motion_map_denoising&amp;quot;, int &amp;quot;m_threshold&amp;quot;, int &amp;quot;sc_threshold&amp;quot;,  &lt;br /&gt;
   \  bool &amp;quot;fs_before&amp;quot;, bool &amp;quot;shift&amp;quot;, bool &amp;quot;fs_after&amp;quot;, bool &amp;quot;disable&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\QSdeinterlacePIII.vdf&amp;quot;, &amp;quot;_VD_QSdeinterlaceIII&amp;quot;, 1)&lt;br /&gt;
   mode = default(mode, &amp;quot;frame&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;frame&amp;quot;) ? 0 : (mode==&amp;quot;field&amp;quot;) ? 1 : (mode==&amp;quot;both&amp;quot;) ? 2 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_QSdeinterlaceIII: &amp;quot;mode&amp;quot; parameter must be &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot;, or &amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   channel = default(channel, &amp;quot;luma&amp;quot;)&lt;br /&gt;
   channel = (channel==&amp;quot;luma&amp;quot;) ? 0 : (channel==&amp;quot;all&amp;quot;) ? 1 : -1&lt;br /&gt;
   Assert(channel&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_QSdeinterlaceIII: &amp;quot;channel&amp;quot; parameter must be &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_QSdeinterlaceIII(default(show_motion,false)?1:0, default(blend,false)?1:0, &lt;br /&gt;
     \  default(m_threshold,15), default(sc_threshold,100), default(shift,false)?1:0, &lt;br /&gt;
     \  default(fs_before,false)?1:0, default(fs_after,false)?1:0, default(disable,false)?1:0,&lt;br /&gt;
     \  default(motion_map_denoising,false)?1:0, mode, channel, default(cubic,true)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # example VD_QSdeinterlaceIII(&amp;quot;frame&amp;quot;, &amp;quot;luma&amp;quot;, false, true, false, false, 15, 100)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##############################################################################&lt;br /&gt;
 # QS Deinterlace by Pavel Kuznetsov, v0.50b and v0.52b (optimized version of #&lt;br /&gt;
 # Smart Deinterlace, for the pentium IV users)                               #&lt;br /&gt;
 #                                                                            #&lt;br /&gt;
 # mode = &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot; or &amp;quot;both&amp;quot;                                          #&lt;br /&gt;
 # channel = &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;                                                  #&lt;br /&gt;
 #                                                                            #&lt;br /&gt;
 # http://freetime.sinor.ru/observatory/article.phtml?qsdeinterlace           #&lt;br /&gt;
 # Please use http://babelfish.altavista.com for translation.                 #&lt;br /&gt;
 ##############################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_QSdeinterlaceIV(clip clip, string &amp;quot;mode&amp;quot;, string &amp;quot;channel&amp;quot;, bool &amp;quot;show_motion&amp;quot;, bool &amp;quot;blend&amp;quot;, &lt;br /&gt;
   \  bool &amp;quot;cubic&amp;quot;, bool &amp;quot;motion_map_denoising&amp;quot;, int &amp;quot;m_threshold&amp;quot;, int &amp;quot;sc_threshold&amp;quot;,  &lt;br /&gt;
   \  bool &amp;quot;fs_before&amp;quot;, bool &amp;quot;shift&amp;quot;, bool &amp;quot;fs_after&amp;quot;, bool &amp;quot;disable&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\QSdeinterlacePIV.vdf&amp;quot;, &amp;quot;_VD_QSdeinterlaceIV&amp;quot;, 1)&lt;br /&gt;
   mode = default(mode, &amp;quot;frame&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;frame&amp;quot;) ? 0 : (mode==&amp;quot;field&amp;quot;) ? 1 : (mode==&amp;quot;both&amp;quot;) ? 2 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_QSdeinterlaceIV: &amp;quot;mode&amp;quot; parameter must be &amp;quot;frame&amp;quot;, &amp;quot;field&amp;quot;, or &amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   channel = default(channel, &amp;quot;luma&amp;quot;)&lt;br /&gt;
   channel = (channel==&amp;quot;luma&amp;quot;) ? 0 : (channel==&amp;quot;all&amp;quot;) ? 1 : -1&lt;br /&gt;
   Assert(channel&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_QSdeinterlaceIV: &amp;quot;channel&amp;quot; parameter must be &amp;quot;luma&amp;quot; or &amp;quot;all&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_QSdeinterlaceIV(default(show_motion,false)?1:0, default(blend,false)?1:0, &lt;br /&gt;
     \  default(m_threshold,15), default(sc_threshold,100), default(shift,false)?1:0, &lt;br /&gt;
     \  default(fs_before,false)?1:0, default(fs_after,false)?1:0, default(disable,false)?1:0,&lt;br /&gt;
     \  default(motion_map_denoising,false)?1:0, mode, channel, default(cubic,true)?1:0)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # example VD_QSdeinterlaceIV(&amp;quot;frame&amp;quot;, &amp;quot;luma&amp;quot;, false, true, false, false, 15, 100)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ##############################################&lt;br /&gt;
 # Zoom by Donald Graft and Avery Lee, v1.2   #&lt;br /&gt;
 #                                            #&lt;br /&gt;
 # mode = &amp;quot;neighbour&amp;quot;, &amp;quot;bilinear&amp;quot;, &amp;quot;bicubic&amp;quot;, #&lt;br /&gt;
 # &amp;quot;p_bilinear&amp;quot; or &amp;quot;p_bicubic&amp;quot;.               #&lt;br /&gt;
 #                                            #&lt;br /&gt;
 # See &amp;quot;simplified_versions.avs&amp;quot; for some     #&lt;br /&gt;
 # examples.                                  #&lt;br /&gt;
 ##############################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_Zoom(clip clip, int &amp;quot;width&amp;quot;, int &amp;quot;height&amp;quot;, int &amp;quot;focusX&amp;quot;, int &amp;quot;focusY&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;start_per&amp;quot;, int &amp;quot;end_per&amp;quot;, int &amp;quot;start_Frame&amp;quot;, int &amp;quot;end_frame&amp;quot;,  &lt;br /&gt;
   \  int &amp;quot;red&amp;quot;, int &amp;quot;green&amp;quot;, int &amp;quot;blue&amp;quot;, string &amp;quot;mode&amp;quot;, int &amp;quot;start2_per&amp;quot;, &lt;br /&gt;
   \  int &amp;quot;end2_per&amp;quot;, int &amp;quot;start2_frame&amp;quot;, int &amp;quot;end2_frame&amp;quot;)  &lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\Zoom.vdf&amp;quot;, &amp;quot;_VD_Zoom&amp;quot;)&lt;br /&gt;
   mode = default(mode, &amp;quot;p_bicubic&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;neighbour&amp;quot;) ? 0 : (mode==&amp;quot;bilinear&amp;quot;) ? 1 : (mode==&amp;quot;bicubic&amp;quot;) ? 2 : &lt;br /&gt;
     \  (mode==&amp;quot;p_bilinear&amp;quot;) ? 3 : (mode==&amp;quot;p_bicubic&amp;quot;) ? 4 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_Zoom: &amp;quot;mode&amp;quot; parameter must be &amp;quot;neighbour&amp;quot;, &amp;quot;bilinear&amp;quot;, &amp;quot;bicubic&amp;quot;, &amp;quot;p_bilinear&amp;quot;, &amp;quot;p_bicubic&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   return clip._VD_Zoom(default(width,320), default(height,240), &lt;br /&gt;
     \  default(focusX,160), default(focusY,120), default(start_per,100), default(end_per,500), &lt;br /&gt;
     \  default(start_frame,0), default(end_frame,500), default(start2_per,0), default(end2_per,0), &lt;br /&gt;
     \  default(start2_frame,0), default(end2_frame,0), default(red,0), default(green,140), default(blue,180), mode)&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # example (clip of 300 frames):&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_Zoom(512, 384, 256, 80, 100, 300, 134, 144, 0, 0, 0, &amp;quot;p_bicubic&amp;quot;, 300, 100, 144, 154)&lt;br /&gt;
 # ConvertToYUY2()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ####################################################################################################################### &lt;br /&gt;
 # LogoAway by Krzysztof Wojdon, v3.5fix1                                                                              #&lt;br /&gt;
 #                                                                                                                     #&lt;br /&gt;
 # Load your avs in VirtualDub without this script. Select &amp;quot;shape XY&amp;quot; (or &amp;quot;shape UGLARM&amp;quot;), select &amp;quot;visible borders&amp;quot;    #&lt;br /&gt;
 # and press preview. Enter and adjust &amp;quot;logo border position&amp;quot; and &amp;quot;logo border size&amp;quot; by looking at the preview. After  #&lt;br /&gt;
 # adjusting close preview and press twice &amp;quot;ok&amp;quot;. Move the slider to a suitable frame and copy the output frame to the  #&lt;br /&gt;
 # clipboard (under &amp;quot;video&amp;quot;, or by pressing ctrl+2). Open the picture on the clipboard in paintshop, corel photo-paint # &lt;br /&gt;
 # or adobe photo-shop and make the alpha mask file by following the help file of the Logoaway filter (called          # &lt;br /&gt;
 # &amp;quot;alpha.bmp&amp;quot; in the examples below.                                                                                  #&lt;br /&gt;
 #                                                                                                                     #&lt;br /&gt;
 # When I wrote this script I couldn't find documentation about the &amp;quot;Shape/Lightmap bitmap&amp;quot; option, called &amp;quot;filename2&amp;quot; #  &lt;br /&gt;
 # in the script. If anyone knows, please mail me.                                                                     #&lt;br /&gt;
 #                                                                                                                     #&lt;br /&gt;
 # mode: off, luminance, XY, uglarm, shape_XY, shape_uglarm or solid                                                   #&lt;br /&gt;
 # color: see script of SmartResize v1.1                                                                               #&lt;br /&gt;
 # upper_left, upper_right, down_right or down_left: &amp;quot;NW&amp;quot;, &amp;quot;NE&amp;quot;, &amp;quot;SW&amp;quot; or &amp;quot;SE&amp;quot;                                          #&lt;br /&gt;
 # border_up, border_right, border_down or border_left: &amp;quot;direct&amp;quot;, &amp;quot;opposite&amp;quot;, or &amp;quot;interpolate&amp;quot;                         #&lt;br /&gt;
 #######################################################################################################################&lt;br /&gt;
 &lt;br /&gt;
 function VD_LogoAway(clip clip, string &amp;quot;mode&amp;quot;, int &amp;quot;border_X&amp;quot;, int &amp;quot;border_Y&amp;quot;, int &amp;quot;logosize_X&amp;quot;, int &amp;quot;logosize_Y&amp;quot;, bool &amp;quot;alpha&amp;quot;, &lt;br /&gt;
   \  bool &amp;quot;visible_border&amp;quot;, string &amp;quot;filename1&amp;quot;, int &amp;quot;keyframe&amp;quot;, int &amp;quot;color&amp;quot;, int &amp;quot;XY_weight&amp;quot;, int &amp;quot;blur&amp;quot;, string &amp;quot;upper_left&amp;quot;, &lt;br /&gt;
   \  string &amp;quot;upper_right&amp;quot;, string &amp;quot;down_right&amp;quot;, string &amp;quot;down_left&amp;quot;, string &amp;quot;border_up&amp;quot;, string &amp;quot;border_right&amp;quot;, string &amp;quot;border_down&amp;quot;, &lt;br /&gt;
   \  string &amp;quot;border_left&amp;quot;, string &amp;quot;filename2&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
   LoadVirtualdubPlugin(VirtualDub_plugin_directory+&amp;quot;\logoaway.vdf&amp;quot;, &amp;quot;_VD_LogoAway&amp;quot;)&lt;br /&gt;
   mode = default(mode, &amp;quot;XY&amp;quot;)&lt;br /&gt;
   mode = (mode==&amp;quot;off&amp;quot;) ? 0 : (mode==&amp;quot;luminance&amp;quot;) ? 1 : (mode==&amp;quot;XY&amp;quot;) ? 2 : &lt;br /&gt;
     \  (mode==&amp;quot;uglarm&amp;quot;) ? 3 : (mode==&amp;quot;shape_XY&amp;quot;) ? 4 : (mode==&amp;quot;shape_uglarm&amp;quot;) ? 5 : (mode==&amp;quot;solid&amp;quot;) ? 6 : -1&lt;br /&gt;
   Assert(mode&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;mode&amp;quot; parameter must be &amp;quot;off&amp;quot;, &amp;quot;luminance&amp;quot;, &amp;quot;XY&amp;quot;, &amp;quot;uglarm&amp;quot;, &amp;quot;shape_XY&amp;quot;, &amp;quot;shape_uglarm&amp;quot;, &amp;quot;solid&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   border_X = default(border_X,560)&lt;br /&gt;
   border_Y = default(border_Y,35)&lt;br /&gt;
   A = border_X*65536+border_Y&lt;br /&gt;
   logosize_X = default(logosize_X,100)&lt;br /&gt;
   logosize_Y = default(logosize_Y,75)&lt;br /&gt;
   B = logosize_X*65536+logosize_Y&lt;br /&gt;
   mode2 = (alpha==false &amp;amp;&amp;amp; visible_border==false) ? 0 : (alpha==false &amp;amp;&amp;amp; visible_border==true) ? 1 : &lt;br /&gt;
     \ (alpha==true &amp;amp;&amp;amp; visible_border==false) ? 2 : (alpha==true &amp;amp;&amp;amp; visible_border==true) ? 3 : -1&lt;br /&gt;
   upper_left = default(upper_left, &amp;quot;NW&amp;quot;)&lt;br /&gt;
   upper_left = (upper_left==&amp;quot;NW&amp;quot;) ? 0 : (upper_left==&amp;quot;NE&amp;quot;) ? 1 : (upper_left==&amp;quot;SW&amp;quot;) ? 2 : (upper_left==&amp;quot;SE&amp;quot;) ? 3 : -1&lt;br /&gt;
   upper_right = default(upper_right, &amp;quot;NE&amp;quot;)&lt;br /&gt;
   upper_right = (upper_right==&amp;quot;NW&amp;quot;) ? 0 : (upper_right==&amp;quot;NE&amp;quot;) ? 1 : (upper_right==&amp;quot;SW&amp;quot;) ? 2 : (upper_right==&amp;quot;SE&amp;quot;) ? 3 : -1&lt;br /&gt;
   down_right = default(down_right, &amp;quot;SE&amp;quot;)&lt;br /&gt;
   down_right = (down_right==&amp;quot;NW&amp;quot;) ? 0 : (down_right==&amp;quot;NE&amp;quot;) ? 1 : (down_right==&amp;quot;SW&amp;quot;) ? 2 : (down_right==&amp;quot;SE&amp;quot;) ? 3 : -1&lt;br /&gt;
   down_left = default(down_left, &amp;quot;SW&amp;quot;)&lt;br /&gt;
   down_left = (down_left==&amp;quot;NW&amp;quot;) ? 0 : (down_left==&amp;quot;NE&amp;quot;) ? 1 : (down_left==&amp;quot;SW&amp;quot;) ? 2 : (down_left==&amp;quot;SE&amp;quot;) ? 3 : -1&lt;br /&gt;
   Assert(upper_left&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;upper_left&amp;quot; parameter must be &amp;quot;NW&amp;quot;, &amp;quot;NE&amp;quot;, &amp;quot;SE&amp;quot;, &amp;quot;SW&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   Assert(upper_right&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;upper_right&amp;quot; parameter must be &amp;quot;NW&amp;quot;, &amp;quot;NE&amp;quot;, &amp;quot;SE&amp;quot;, &amp;quot;SW&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   Assert(down_right&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;down_right&amp;quot; parameter must be &amp;quot;NW&amp;quot;, &amp;quot;NE&amp;quot;, &amp;quot;SE&amp;quot;, &amp;quot;SW&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   Assert(down_left&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;down_left&amp;quot; parameter must be &amp;quot;NW&amp;quot;, &amp;quot;NE&amp;quot;, &amp;quot;SE&amp;quot;, &amp;quot;SW&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   border_up = default(border_up, &amp;quot;direct&amp;quot;)&lt;br /&gt;
   border_up = (border_up==&amp;quot;direct&amp;quot;) ? 0 : (border_up==&amp;quot;opposite&amp;quot;) ? 1 : (border_up==&amp;quot;interpolate&amp;quot;) ? 2 : -1&lt;br /&gt;
   border_right = default(border_right, &amp;quot;direct&amp;quot;)&lt;br /&gt;
   border_right = (border_right==&amp;quot;direct&amp;quot;) ? 0 : (border_right==&amp;quot;opposite&amp;quot;) ? 1 : (border_right==&amp;quot;interpolate&amp;quot;) ? 2 : -1&lt;br /&gt;
   border_down = default(border_down, &amp;quot;direct&amp;quot;)&lt;br /&gt;
   border_down = (border_down==&amp;quot;direct&amp;quot;) ? 0 : (border_down==&amp;quot;opposite&amp;quot;) ? 1 : (border_down==&amp;quot;interpolate&amp;quot;) ? 2 : -1&lt;br /&gt;
   border_left = default(border_left, &amp;quot;direct&amp;quot;)&lt;br /&gt;
   border_left = (border_left==&amp;quot;direct&amp;quot;) ? 0 : (border_left==&amp;quot;opposite&amp;quot;) ? 1 : (border_left==&amp;quot;interpolate&amp;quot;) ? 2 : -1&lt;br /&gt;
   Assert(border_up&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;border_up&amp;quot; parameter must be &amp;quot;direct&amp;quot;, &amp;quot;opposite&amp;quot;, &amp;quot;interpolate&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   Assert(border_right&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;border_right&amp;quot; parameter must be &amp;quot;direct&amp;quot;, &amp;quot;opposite&amp;quot;, &amp;quot;interpolate&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   Assert(border_down&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;border_down&amp;quot; parameter must be &amp;quot;direct&amp;quot;, &amp;quot;opposite&amp;quot;, &amp;quot;interpolate&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   Assert(border_left&amp;gt;=0, &amp;quot;&amp;quot;&amp;quot;VD_LogoAway: &amp;quot;border_left&amp;quot; parameter must be &amp;quot;direct&amp;quot;, &amp;quot;opposite&amp;quot;, &amp;quot;interpolate&amp;quot;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
   t = 1*down_right + 256*down_left + 65536*upper_right + 16777216*upper_left&lt;br /&gt;
   v = 1*border_left + 256*border_down + 65536*border_right + 16777216*border_up &lt;br /&gt;
   return clip._VD_LogoAway(mode, A, B, default(keyframe,1), default(color,0), default(XY_Weight,5), mode2, t, v, &lt;br /&gt;
     \ default(blur,1), default(filename1,&amp;quot;g:\alpha.bmp&amp;quot;), default(filename2,&amp;quot;&amp;quot;))&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # examples:&lt;br /&gt;
 # ConvertToRGB()&lt;br /&gt;
 # VD_LogoAway(&amp;quot;XY&amp;quot;, 560, 35, 100, 75, true, false, &amp;quot;g:\alpha.bmp&amp;quot;, 1, 0, 5, 1)&lt;br /&gt;
 # VD_LogoAway(&amp;quot;XY&amp;quot;, 560, 35, 100, 75, true, false, &amp;quot;g:\alpha.bmp&amp;quot;, 1, 0, 5, 1, &amp;quot;NW&amp;quot;, &amp;quot;NE&amp;quot;, &amp;quot;SE&amp;quot;, &amp;quot;SW&amp;quot;, &amp;quot;direct&amp;quot;, &amp;quot;direct&amp;quot;, &amp;quot;direct&amp;quot;, &amp;quot;direct&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>