<?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/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
		<title>Avisynth wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Special:Contributions/Admin"/>
		<updated>2026-04-07T13:43:40Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.24</generator>

	<entry>
		<id>http://avisynth.nl/index.php/Template:Author/Wilbert_Dijkhof</id>
		<title>Template:Author/Wilbert Dijkhof</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Template:Author/Wilbert_Dijkhof"/>
				<updated>2025-12-06T14:00:12Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.wilbertdijkhof.nl/ Wilbert Dijkhof]&amp;lt;noinclude&amp;gt;[[Category:Author_templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2025-12-06T13:41:55Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: removed reference to avisynth.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Donations}} === __NOEDITSECTION__&lt;br /&gt;
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the content is maintained by several people, and I'm very grateful for their time, the hosting costs a lot of money. If you are happy with the site, please make a donation! I would be very grateful and we can keep this site alive:&lt;br /&gt;
* You can donate by buying me a coffee: https://buymeacoffee.com/avisynth&lt;br /&gt;
* You can donate using PayPal: https://paypal.me/avisynth/&lt;br /&gt;
&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem laborious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises] 20250316: the names of the AviSynth 2.5 plugins are messed up, put 5F before 25 in the filename (thus for example avsmon25a_5F25_dll_20030125.zip instead of avsmon25a_25_dll_20030125.zip)&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.nl avisynth.nl] is released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/External_filters</id>
		<title>External filters</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/External_filters"/>
				<updated>2025-12-06T13:32:50Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: changed wilbertdijkhof.com to wilbertdijkhof.nl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rough classification of third-party filters for AviSynth - a perpetual work in progress.&lt;br /&gt;
&lt;br /&gt;
This page lists both scripts (see [[Import]]) and plugins (see [[Plugins]]).&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
==== Download sites ====&lt;br /&gt;
A large list of filters can be downloaded from the following sites but be aware that some plugins listed '''may be outdated''', only recommended as a backup.&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20130803185015/http://www.64k.it:80/andres/dettaglio.php?sez=avisynth Andres' Filter Collection] &lt;br /&gt;
*[https://chaosking.de/repo/avsfilters/ AviSynth Filter DB by ChaosKing] | [https://web.archive.org/web/20140412062911/http://chaosking.de/avisynth-filter-db mirror]&lt;br /&gt;
*[http://www.avisynth.info/?plugin=attach&amp;amp;pcmd=list&amp;amp;refer=%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96 AviSynth.info Filter Archive]&lt;br /&gt;
*[http://xhmikosr.1f0.de/_old/avisynth/plugins/ XhmikosR's Builds] &lt;br /&gt;
*[http://www.avisynth.nl/users/warpenterprises/ Warp Enterprises' AviSynth Filter Collection]&lt;br /&gt;
&lt;br /&gt;
====64-bit filters====&lt;br /&gt;
'''[[AviSynth%2B_x64_plugins|Comprehensive list of AviSynth+ 64-bit filters]] &amp;amp;rarr;'''&lt;br /&gt;
&lt;br /&gt;
====Outdated AviSynth plugins====&lt;br /&gt;
[[External plugins old|External plugins (old)]] - these older plugins are not recommended, page is there mainly for historical purposes.&lt;br /&gt;
&lt;br /&gt;
==== Using filters ====&lt;br /&gt;
Most scripts will apply filters in the following order:&lt;br /&gt;
&lt;br /&gt;
# Create an AviSynth clip from a video file using a source filter.&lt;br /&gt;
# Correct or remove any unwanted features in the video (e.g. dot crawl, field blending or telecine).&lt;br /&gt;
# Denoise the video (optional).&lt;br /&gt;
# Manipulate the video into the desired format (by e.g. changing the size and frame rate).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--AviSynth filters have been classified under these four basic tasks, with a fifth category for filters that fall outside this scheme, and a sixth category for filters that process audio only.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=135855 BassAudio]&lt;br /&gt;
| [https://www.un4seen.com/ Bass Audio] decoder. Supports wav, aiff, mp3, mp2, mp1, ogg. Support for aac, ac3, alac, ape, cd, flac, midi, mpc, ofr, spx, tta, wma, wv with additional included dll's. The filter is included in the Behappy package.&lt;br /&gt;
| N/A&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=135855 Plugin]&lt;br /&gt;
| dimzon&lt;br /&gt;
|-&lt;br /&gt;
|[[BestAudioSource]]&lt;br /&gt;
|A new sample accurate but somewhat slow FFmpeg based audio source filter for AviSynth+. No indexing required and only available in 64-bit. &lt;br /&gt;
|N/A&lt;br /&gt;
|[[BestAudioSource|Plugin]]&lt;br /&gt;
|{{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DGDecNV]] &lt;br /&gt;
| DGDecNV is a decoder/frameserver for AVC, HEVC, MPEG2, and VC1 streams that runs on the GPU of Nvidia graphics cards that support CUDA video decoding. &lt;br /&gt;
| [[I420]], [[YV12]], [[YUV420P16]] &lt;br /&gt;
| [[DGDecNV|Plugin]]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DGDecode]] &lt;br /&gt;
| Decode MPEG1/MPEG2 streams from: DVD VOBs, captured transport streams, *.mpg/*.m2v/*.pva files, etc. Use this instead of MPEGDecoder/MPEG2Dec3.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]], [[I420]] &lt;br /&gt;
| [{{N2Moved}}/dgmpgdec/dgmpgdec.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170107 DGMVCSource]&lt;br /&gt;
|MVC source filter for AviSynth.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
|[http://rationalqm.us/dgmvcsource/dgmvcsource100b26.zip Plugin]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DSS2mod]]&lt;br /&gt;
| DirectShowSource2 mod, this version does not require Haali Media Splitter. &lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[DSS2mod|Plugin]]&lt;br /&gt;
| forclip&lt;br /&gt;
|-&lt;br /&gt;
| [[FFmpegSource]]&lt;br /&gt;
| Decodes all ffmpeg ([http://en.wikipedia.org/wiki/Libavcodec libavcodec]) supported A/V formats with frame accurate seeking in AVI, MKV and MP4. See [http://forum.doom9.org/showthread.php?t=127037 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]], [[I420]]&lt;br /&gt;
| [http://github.com/FFMS/ffms2/releases Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}, TheFluff, Plorkyeran, others&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=169651 FRIMSource]&lt;br /&gt;
|FRIMSource is an AviSynth plugin for sequential reading of elementary or transport streams (MPEG2, H.264 AVC/MVC-3D, VC1).&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=169651 Plugin]&lt;br /&gt;
|videofan3d&lt;br /&gt;
|-&lt;br /&gt;
| [[ImageSequence]]&lt;br /&gt;
| Load png, jpg, bmp, pcx, tga and gif image sequences using the [http://corona.sourceforge.net/ Corona Image I/O Library]. CoronaSequence/RawSequence.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [[ImageSequence|Plugin]]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135928 Immaavs]&lt;br /&gt;
| ImmaRead uses the ImageMagick libraries to read images. Many formats are supported including animations, multipage files, image sequences and images with different sizes.&lt;br /&gt;
|&lt;br /&gt;
| [http://www.wilbertdijkhof.nl/ Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=184825 ImageSourceNV]&lt;br /&gt;
|CUDA accelerated plugin that uses the [https://docs.nvidia.com/cuda/nvjpeg/index.html nvJPEG API] to decode jpeg source files and convert their color space to YUV444.&lt;br /&gt;
|[[YUV444P8]]&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=184825 Plugin]&lt;br /&gt;
|[https://github.com/ArturAlekseev Argaricolm]&lt;br /&gt;
|-&lt;br /&gt;
| [[JpegSource]]&lt;br /&gt;
| An advanced JPEG decoder for Avisynth 2.6. See [http://forum.doom9.org/showthread.php?t=170028 discussion].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/rjnt0y3ead2c6ef/JpegSource_20140419.7z Plugin] &lt;br /&gt;
| SEt&lt;br /&gt;
|-&lt;br /&gt;
| [[LSMASHSource]]&lt;br /&gt;
| A source plugin for audio and video, it uses Libav ([http://en.wikipedia.org/wiki/Libav#Contained_codecs libavcodec]) to decode all supported A/V formats. See [http://forum.doom9.org/showthread.php?t=167435 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[LSMASHSource|Plugin]]&lt;br /&gt;
| {{Author/VFR-maniac}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MPEG2DecPlus]]&lt;br /&gt;
|MPEG2DecPlus is a MPEG-1/2 decoder plug-in. MPEG2DecPlus is a project to modernize &amp;quot;[[DGDecode]].dll&amp;quot; for AviSynth+.&lt;br /&gt;
|[[YV12]], [[YV16]]&lt;br /&gt;
|[[MPEG2DecPlus|Plugin]]&lt;br /&gt;
|{{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NicAudio]]&lt;br /&gt;
| Audio Plugins for Audio: MPEGAudio/AC3/DTS/LPCM and other uncompressed formats. Formerly known As EvilMPASource. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=89629 discussion], [http://forum.doom9.org/showthread.php?t=135876 continued discussion].&lt;br /&gt;
| N/A&lt;br /&gt;
| [[NicAudio|Plugin]]&lt;br /&gt;
| {{Author/Nic}}&lt;br /&gt;
|-&lt;br /&gt;
| [[RawSource26]]&lt;br /&gt;
| Loads raw video data directly from files. Further modifications (most raw formats, YUV4MPEG2 compatible with latest spec).&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[RawSource26|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VapourSource]]&lt;br /&gt;
| VapourSynth script reader for AviSynth+ and AviSynth2.6x.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[VapourSource|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170311 VideoInputSource]&lt;br /&gt;
| Capture video frames from video capture card or webcam in real-time.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
|[http://github.com/fieliapm/himawari_avs_plugin/raw/master/VideoInputSource/VideoInputSource.dll Plugin]&lt;br /&gt;
|[http://github.com/fieliapm fieliapm]&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/slavanap/ssifSource ssifSource]&lt;br /&gt;
| Open m2ts, ssif and mpls files located in decrypted Blu-ray and Blu-ray 3D discs. Supports horizontal of vertical stack of views as output, views selection and swap autodetection.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[https://github.com/slavanap/ssifSource/releases plugin]&lt;br /&gt;
|[http://github.com/slavanap slavanap]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restoration Filters ==&lt;br /&gt;
&lt;br /&gt;
These remove effects or artifacts introduced (deliberately or accidentally) into the source video. Denoisers are classified separately.&lt;br /&gt;
&lt;br /&gt;
=== Anti-[[aliasing]] ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DAA]]&lt;br /&gt;
| Anti-aliasing with contra-sharpening.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| mcDAA3&lt;br /&gt;
| Motion-Compensated Anti-aliasing with contra-sharpening, can deal with ifade too, created because when applied daa3 to fixed scenes, it could damage some details and other issues. See [http://forum.doom9.org/showthread.php?p=1639679#post1639679 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/?wqkob7zx1p119e0 Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| [[MAA2]]&lt;br /&gt;
| Updated version of the MAA antialising script.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV24]]&lt;br /&gt;
| [http://web.archive.org/web/20140624125132/https://raw.githubusercontent.com/AviSynth/avs-scripts/master/maa2.avsi Script]&lt;br /&gt;
| line0&lt;br /&gt;
|-&lt;br /&gt;
| [[santiag]]&lt;br /&gt;
| Simple anti-aliasing with independent horizontal and vertical anti-aliasing strength.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1393006 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| SharpAAMCmod&lt;br /&gt;
| High quality MoComped AntiAliasing script, also a line darkener since it uses edge masking to apply tweakable warp-sharpening, &amp;quot;normal&amp;quot; sharpening and line darkening with optional temporal stabilization of these edges. Part of [[AnimeIVTC]]. See [http://forum.doom9.org/showthread.php?t=138305] and [http://forum.doom9.org/showthread.php?t=140031]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| [[TIsophote]]&lt;br /&gt;
| A level-set (isophote) smoothing filter.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20070222162751/http://bengal.missouri.edu/~kes25c/TIsophotev091.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
|[[xaa]]&lt;br /&gt;
|Versatile anti-aliasing script.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV24]]&lt;br /&gt;
|[http://www.mediafire.com/download/sygi04y47eknvc2/xaa_v1.1.1.avsi Script]&lt;br /&gt;
|Desbreko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chroma correction ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[caf]]&lt;br /&gt;
|Chromatic Aberration Fixer.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChromaShiftSP.avsi Script]&lt;br /&gt;
| Torchlight&lt;br /&gt;
|-&lt;br /&gt;
| [[ChromaShift]]&lt;br /&gt;
| This filter will shift the chrominance information by an even number of pixels, in either horizontal direction. It can also apply an overall vertical shift of the total chrominance information, up or down. It is primarily intended to correct improper colour registration. See [http://forum.doom9.org/showthread.php?t=33302 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091026153334/http://www.geocities.com/siwalters_uk/chromashift27.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ChromaShiftSP]]&lt;br /&gt;
| This script can shift chroma in all directions with subpixel accuracy.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/images/ChromaShiftSP.avsi Script]&lt;br /&gt;
| IanB, McCauley &lt;br /&gt;
|-&lt;br /&gt;
| [[ColorMatrix]]&lt;br /&gt;
| ColorMatrix corrects the colors of MPEG-2 streams. More correctly, many MPEG-2 streams use slightly different coefficients (called Rec.709) for storing the color information than AviSynth's color conversion routines or the XviD/DivX decoders (called Rec.601) do, with the result that DivX/XviD clips or MPEG-2 clips encoded by TMPGEnc/QuEnc are displayed with slighty off colors. This can be checked by opening the MPEG-2 stream directly in VDubMod.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[ColorMatrix|Plugin]]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeBlot]]&lt;br /&gt;
| Color bleed reduction plugin. &lt;br /&gt;
| [[YUY2]],[[YV12]]&lt;br /&gt;
| [[DeBlot|Plugin]]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaBleeding]]&lt;br /&gt;
| Fixes area of chroma bleeding by shifting the chroma and lowering the saturation in the affected areas. See [http://forum.doom9.org/showthread.php?t=77074 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091026141730/http://www.geocities.com/alex_j_jordan/chroma.txt Script]&lt;br /&gt;
| {{Author/Alex Jordan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaBleedingMod]]&lt;br /&gt;
| Fixes area of chroma bleeding by shifting the chroma and lowering the saturation in the affected areas. See [http://forum.doom9.org/showthread.php?t=77074#post1673932 discussion]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[YV411]]&lt;br /&gt;
| [[FixChromaBleedingMod_source|Script]]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaticAberration]]&lt;br /&gt;
| FixChromaticAberration resizes (and crops) the red/green/blue channels of the image separately. This helps to minimize the colored edges next to the image corners that result from lenses with chromatic aberration. See [http://forum.doom9.org/showthread.php?p=1520786#post1520786 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/index.php/FixChromaticAberration Script]&lt;br /&gt;
| Martin Wagener&lt;br /&gt;
|-&lt;br /&gt;
| [[MoveChroma]]&lt;br /&gt;
| Chroma shifting filter; can be used to independently shift the U/V channels left or right.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[MoveChroma|Plugin]]&lt;br /&gt;
| [http://noraneco.ddo.jp/apechironnup apechironnup]&lt;br /&gt;
|-&lt;br /&gt;
| [[PixelShiftPlus]]&lt;br /&gt;
| Set of functions to independently shift any RGB(A) or YUV(A) plane with subpixel precision.&lt;br /&gt;
| All colorspaces&lt;br /&gt;
| [[PixelShiftPlus|Script]]&lt;br /&gt;
| reel.deal&lt;br /&gt;
|-&lt;br /&gt;
| [[ReInterpolate411]]&lt;br /&gt;
| This is a fast and simple filter to correct the improper 4:1:1 =&amp;gt; 4:2:2 conversion that seems to occur with some DV/4:1:1 codecs.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/ReInterpolate411.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/reinterpolate420/reinterpolate420.html ReInterpolate420]&lt;br /&gt;
| Usually, DV decoders upsample [[PAL]] DV (which is YV12) to YUY2 using point sampling. This plugin re-interpolates the original chroma samples.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/reinterpolate420/reinterpolate420_v3.zip Plugin]&lt;br /&gt;
|  {{Author/Wilbert Dijkhof}}&lt;br /&gt;
{{Author/Fizick}} (v3)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Debanding ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AdaptDBMC&lt;br /&gt;
| Luma / Fade / Blue adaptive debanding script. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=512 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [https://web.archive.org/web/20131111114822/http://www.nmm-hd.org/upload/get~ikKt5ZZhD94/AdaptDBMC_beta.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GradFun2db]]&lt;br /&gt;
| A simple and fast debanding filter.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[GradFun2db|Plugin]]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[GradFun2DBmod]]&lt;br /&gt;
| An advanced debanding script based on GradFun2DB.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144537 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Dither_tools#GradFun3|GradFun3]]&lt;br /&gt;
| This debanding script, part of the [[Dither_tools|Dither]] package, has several gradient smoothing algorithms, including a bilateral filter. It uses an ordered dithering, which has a good resilience to lossy compression.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[Y8]], [[YV411]]&lt;br /&gt;
| [[Dither_tools|Script]]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[f3kdb|flash3kyuu_deband]]&lt;br /&gt;
| Fast debanding plugin ported from AviUtl.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[YV16]], [[YV24]], [[Y8]], [[YV411]]&lt;br /&gt;
| [[f3kdb|Plugin]]&lt;br /&gt;
| [http://github.com/SAPikachu/ SAPikachu]&lt;br /&gt;
|-&lt;br /&gt;
|[[avslibplacebo#Deband|libplacebo_Deband]]&lt;br /&gt;
|Tunable debanding. Based on flash3kyuu, expanded to provide high quality by combining multiple debanding passes.&lt;br /&gt;
|8, 16 or 32-bit planar RGB/YUV formats. &lt;br /&gt;
|[[avslibplacebo|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| LumaDB&lt;br /&gt;
| Fast 8-bit debanding filter with luma-adaptive grain and mask. Used to process luma only. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=668 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20131111114932/http://www.nmm-hd.org/upload/get~3YK_B5TfcyI/LumaDB-0.7.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| LumaDBL&lt;br /&gt;
| Fast 16-bit debanding filter with luma-adaptive grain and mask. Used to process luma only. Works in 16-bit internally and can also input/output 16-bit. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=668 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20131111114947/http://www.nmm-hd.org/upload/get~mQYIS9H6Qas/LumaDBL-0.7.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Neo_f3kdb]]&lt;br /&gt;
| Fast debanding plugin for AviSynth+.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YUY2]], [[YV16]], [[YV24]], [[YV411]], 8-16bit [[planar]] Y/YUV&lt;br /&gt;
| [[Neo_f3kdb|Plugin]]&lt;br /&gt;
| [https://github.com/msg7086 MeteorRain]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deblocking ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-BlockDetect BlockDetect]&lt;br /&gt;
|Determines blockiness of frames.&lt;br /&gt;
|All 8-32 bit [[planar]] formats.&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-BlockDetect/releases Plugin]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| BlockKiller&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?p=1410479#post1410479 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1410479&amp;amp;postcount=19 Script]&lt;br /&gt;
| Jawed&lt;br /&gt;
|-&lt;br /&gt;
| BlockTerminator&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?p=831936#post831936 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=831936&amp;amp;postcount=24 Script]&lt;br /&gt;
| foxyshadis&lt;br /&gt;
|-&lt;br /&gt;
| [[DeBlock]]&lt;br /&gt;
| Deblocking filter. DGDecode also uses DeBlock.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], &amp;lt;br&amp;gt;all 8-32bit Y/YUV [[planar]] colorspaces &lt;br /&gt;
| [[DeBlock|Plugin]]&lt;br /&gt;
| {{Author/Fizick}} / {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Deblock_QED]]&lt;br /&gt;
| &amp;quot;A postprocessed Deblock(): Uses full frequencies of Deblock's changes on block borders, but DCT-lowpassed changes on block interiours.&amp;quot; [http://forum.doom9.org/showpost.php?p=913365&amp;amp;postcount=4 Didée]. See [http://forum.doom9.org/showthread.php?p=944459 discussion.] For updated Deblock QED see this [http://forum.doom9.org/showthread.php?t=154777 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Deblock_QED_MT2Mod.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DeblockPP7]]&lt;br /&gt;
| A port of the MPlayer PP7 deblocking filter.&lt;br /&gt;
|[[YUY2]], [[YV12]]&lt;br /&gt;
|[[DeblockPP7|Plugin]]&lt;br /&gt;
|John Doe&lt;br /&gt;
|-&lt;br /&gt;
| [[FunkyDeBlock]]&lt;br /&gt;
| Deblocking script based on BlindPP and high/low pass separation. See [http://forum.doom9.org/showthread.php?t=72431 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[MDeblock]]&lt;br /&gt;
| Plugin for removing block artifacts.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[MDeblock|Plugin]]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SmoothD]]&lt;br /&gt;
| Filter to deblock frames while keeping high frequency detail.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[SmoothD|Plugin]]&lt;br /&gt;
| Tobias Bergmann&lt;br /&gt;
|-&lt;br /&gt;
| [[SmoothD2]]&lt;br /&gt;
| Deblocking filter.  Rewrite of SmoothD. Faster, better detail preservation, optional chroma deblocking.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[SmoothD2|Plugin]]&lt;br /&gt;
| Jim Conklin&lt;br /&gt;
|-&lt;br /&gt;
| SmoothDeblock&lt;br /&gt;
| Slow and complex, but produces very good results - especially on severely blocky sources - in a similar manner to TempGaussMC and QTGMC. See [http://forum.doom9.org/showthread.php?t=111526 discussion] and an [http://forum.doom9.org/showthread.php?p=945261#post945261 overall comment].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1553458#post1553458 Script]&amp;lt;br&amp;gt;[[SmoothDeblock_source|(alt source)]]&lt;br /&gt;
| redfordxx&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.avisynth.nl/users/fizick/unblock/unblock.html Unblock]&lt;br /&gt;
|UnBlock is a filter that removes the &amp;quot;blockiness&amp;quot; of heavily or moderately compressed images with statistical approach. See [http://forum.doom9.org/showthread.php?t=133059 discussion].&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://www.avisynth.nl/users/fizick/unblock/unblock11.zip Plugin]&lt;br /&gt;
|{{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[[vsDeblockPP7]]&lt;br /&gt;
|A port of the MPlayer PP7 deblocking filter. Includes high bit-depth support.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], &amp;lt;br&amp;gt;all 8-32bit [[planar]] colorspaces &lt;br /&gt;
|[[vsDeblockPP7|Plugin]]&lt;br /&gt;
|Asd-d&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dehaloing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[abcxyz]]&lt;br /&gt;
| Filter to remove halos. See [http://forum.doom9.org/showthread.php?t=144982 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Media:abcxyz_MT2.avsi|Script]]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[BlindDeHalo3]]&lt;br /&gt;
| Filter to remove edge enhancement artifacts. See [http://forum.doom9.org/showthread.php?p=622289#post622289 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=5599&amp;amp;d=1143030001 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeHalo_alpha]]&lt;br /&gt;
| Very powerful filter to remove edge enhancement artifacts. See [http://forum.doom9.org/showthread.php?p=777956#post777956 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Dehalo_alpha_mt.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DeHaloHmod]]&lt;br /&gt;
| Another halo reducer, it includes lots of options to tweak for best performance. See [http://forum.doom9.org/showthread.php?p=1675762#post1675762 discussion]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [[DeHaloHmod|Script]]&lt;br /&gt;
|AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
|[[FineDehalo]]&lt;br /&gt;
|Halo removal script that uses DeHalo_alpha with a few masks and optional contra-sharpening to try remove halos without removing important details (like line edges).&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://avisynth.nl/images/FineDehalo.avsi Script]&lt;br /&gt;
|{{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=172599 HaloBuster]&lt;br /&gt;
|Really slow high quality halo remover.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=172599 Script]&lt;br /&gt;
|feisty2&lt;br /&gt;
|-&lt;br /&gt;
| Mask_DHA&lt;br /&gt;
| A combination of the best of DeHalo_alpha and BlindDeHalo3, plus a few minor tweaks to the masking. See [http://forum.doom9.org/showthread.php?t=148498 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| 'Orum&lt;br /&gt;
|-&lt;br /&gt;
| [[VHSHaloremover]]&lt;br /&gt;
| Quick &amp;amp; dirty halo removal. Will introduce some blurriness, but the halos are so huge you can’t avoid it. See [http://forum.doom9.org/showthread.php?p=1758184#post1758184]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://pastebin.com/s24mSgJ5 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[YAHR]]&lt;br /&gt;
| Basic filter with no variables to remove edge enhancement artifacts. See [http://forum.doom9.org/showthread.php?p=1205653#post1205653]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/YAHR.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| YAHRmod&lt;br /&gt;
| Basic filter used to reduce halos in modern DVD and other cases.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[YAHRmod_source|Script]]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deringing &amp;amp; Mosquito Noise ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpSharpDering]]&lt;br /&gt;
| Tries to clean up slight ringing around edges by heavily aWarpSharp-ing the image and then applying it only to the areas where the difference is small enough so detail isn't destroyed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/AWarpSharpDering.avsi Script]&lt;br /&gt;
| {{Author/Leak}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://rationalqm.us/dgmpgdec/DGDecodeManual.html#BlindPP BlindPP]&lt;br /&gt;
| Deblocking &amp;amp; deringing filter; part of [[DGDecode]]. &amp;lt;br&amp;gt;Mosquito noise removal: &amp;lt;code&amp;gt;BlindPP(quant=16, cpu2=&amp;quot;ooooxx&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/dgmpgdec/dgmpgdec.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=636297#post636297 BlindDeRing]&lt;br /&gt;
| Deringing filter.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Restoration_Filters/Deringing/BlindDeRing___(2005).7z Plugin]&lt;br /&gt;
| krieger2005&lt;br /&gt;
|-&lt;br /&gt;
|[https://gist.github.com/acuozzo/940869257cc79016215600a2392b33eb Deemphasize]&lt;br /&gt;
|This AviSynth function deemphasizes ringing common to SD video signals resulting from a playback device in the transfer chain poorly compensating for pre-emphasis baked into the source signal.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[https://gist.github.com/acuozzo/940869257cc79016215600a2392b33eb Script]&lt;br /&gt;
|[https://github.com/acuozzo acuozzo]&lt;br /&gt;
|-&lt;br /&gt;
|[[Dering]]&lt;br /&gt;
|Deringing filter intended for deringing VHS captured video.&lt;br /&gt;
|[[YUY2]], [[YV12]]&lt;br /&gt;
|[[Dering|C-Plugin]]&lt;br /&gt;
|[https://sourceforge.net/u/alexrayne/profile/ alexrayne]&lt;br /&gt;
|-&lt;br /&gt;
| [[EdgeCleaner]]&lt;br /&gt;
| A simple edge cleaning and weak dehaloing function. See [http://forum.doom9.org/showthread.php?t=164592 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1568521&amp;amp;postcount=13 Script]&lt;br /&gt;
| [http://forum.doom9.org/member.php?u=80518 canuckerfan]&lt;br /&gt;
|-&lt;br /&gt;
| [[HQDering]]&lt;br /&gt;
| Applies deringing by using a smart smoother near edges (where ringing occurs) only. See [http://forum.doom9.org/showthread.php?p=1043583#post1043583 here] and [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=67532 here] for details.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=793930#post793930 Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HQDering mod]]&lt;br /&gt;
| Applies deringing by using a smart smoother near edges (where ringing occurs) only.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140711173345/http://www.nmm-hd.org/upload/get~08CusazVphU/HQDeringmod_v1.8.avsi Script]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/memberlist.php?mode=viewprofile&amp;amp;u=479&amp;amp;sid=ff62d0f6c22fcfdbe97b53c8351429bc mawen1250]&lt;br /&gt;
|-&lt;br /&gt;
| [[LazyDering]]&lt;br /&gt;
| Tries to clean up slight ringing around edges by applying [[aWarpSharp2]] only to areas where the difference is small enough so detail isn't destroyed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20131103155455/http://anime-addict.ani-x.com/files/avisynth/scripts/LazyDering_v0.1.avsi Script]&lt;br /&gt;
| {{Author/Leak}}, RazorbladeByte&lt;br /&gt;
|-&lt;br /&gt;
| [[MosquitoNR]]&lt;br /&gt;
| A noise reduction filter designed for mosquito noise, which is often caused by lossy compression.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]], [[YUY2]]&lt;br /&gt;
| [[MosquitoNR|Plugin]]&lt;br /&gt;
| {{Author/b_inary}}&lt;br /&gt;
|-&lt;br /&gt;
|ungibbs&lt;br /&gt;
|ungibbs, a gibbs artifact remover.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=134502 Script]&lt;br /&gt;
|*.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
|WarpDeRing&lt;br /&gt;
|Uses aWarpSharp2's flattening to clean out ringing/smaller halos, then runs some masks to preserve the edges and avoid the thinning.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[WarpDeRing_source|Script]]&lt;br /&gt;
|mirkosp&lt;br /&gt;
|-&lt;br /&gt;
|WarpDeRing_faster&lt;br /&gt;
|Same as WarpDeRing but may be a bit faster.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[WarpDeRing_faster_source|Script]]&lt;br /&gt;
|mirkosp&lt;br /&gt;
|-&lt;br /&gt;
|[[WDFPlus]]&lt;br /&gt;
|Faster version of mirkosp's warpdering_faster script for AviSynth+.&lt;br /&gt;
|All 8-16 bit Y/YUV colorspaces, except YV411&lt;br /&gt;
|[https://github.com/Reel-Deal/AviSynthPlus-Scripts/blob/main/wdfplus.avsi Script]&lt;br /&gt;
|reel.deal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deinterlacing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[BWDIF]]&lt;br /&gt;
|Motion adaptive deinterlacing based on yadif with the use of w3fdif and cubic interpolation algorithms.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], all 8-32bit [[planar]] colorspaces &lt;br /&gt;
|[[BWDIF|Plugin]]&lt;br /&gt;
|Asd-g&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The FieldDeinterlace filter provides functionality similar to the postprocessing function of Telecide. You can use it for pure interlaced streams (that is, those not containing telecined progressive frames). The name refers to the fact that field mode differencing is used.&lt;br /&gt;
| [[YUY2]], [[YUY2]]&lt;br /&gt;
| [[Decomb|Plugin]]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EEDI2]]&lt;br /&gt;
| EEDI2 resizes an image by 2x in the vertical direction by copying the existing image to 2*y(n) and interpolating the missing field.  It is intended for edge-directed interpolation for deinterlacing (i.e. not really made for resizing a normal image, but can do that as well).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[EEDI2|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EEDI2CUDA]]&lt;br /&gt;
| EEDI2 filter using CUDA.&lt;br /&gt;
| All [[planar]] Y/YUV/RGB 8 to 16-bit colorspaces &lt;br /&gt;
| [[EEDI2CUDA|Plugin]]&lt;br /&gt;
| [https://github.com/misakikasumi misakikasumi], [https://github.com/WolframRhodium WolframRhodium]&lt;br /&gt;
|-&lt;br /&gt;
| [[eedi3|EEDI3]]&lt;br /&gt;
| Another edge directed interpolation filter. Works by minimizing a cost functional involving every pixel in a scan line. eedi3 is good for deinterlacing and enlarging images by the powers of 2.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[eedi3|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EEDI3CL]]&lt;br /&gt;
| OpenCL implementation of eedi3. For AviSynth+ only.&lt;br /&gt;
| all 8-32bit [[planar]] colorspaces &lt;br /&gt;
| [[EEDI3CL|Plugin]]&lt;br /&gt;
| {{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[FieldHint]]&lt;br /&gt;
|FieldHint combines arbitrary fields from the input clip, and optionally adds Telecide-compatible postprocessing hints.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20120223025813/http://ivtc.org/yatta%20support/fieldhint-0.12.rar Plugin]&lt;br /&gt;
|{{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[nnedi3]]&lt;br /&gt;
| nnedi3 is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It also has same rate and double rate modes.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[nnedi3|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NNEDI3CL]]&lt;br /&gt;
| OpenCL implementation of nnedi3. For AviSynth+ only.&lt;br /&gt;
| all 8-32bit [[planar]] colorspaces &lt;br /&gt;
| [[NNEDI3CL|Plugin]]&lt;br /&gt;
| {{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[nnedi3ocl]]&lt;br /&gt;
| OpenCL rewrite of [[nnedi3]]. See [http://forum.doom9.org/showthread.php?t=169766 discussion].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/bmemjsu7jqnlk65/nnedi3ocl_20131208.7z Plugin]&lt;br /&gt;
| SEt&lt;br /&gt;
|-&lt;br /&gt;
| [[QTGMC]]&lt;br /&gt;
| by -Vit- [http://forum.doom9.org/showthread.php?t=156028] A new deinterlacer based on TempGaussMC_beta2. It's faster and has a presets system for speed/quality selection. There are also several new features including progressive support and noise/grain processing. The script also contains extensive comments to better describe the settings and the workings of the TGMC algorithm.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[QTGMC|Script]]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
| [[SangNom2]]&lt;br /&gt;
| Reimplementation of the old [[SangNom]] plugin.&lt;br /&gt;
| [[Y8]],[[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[SangNom2|Plugin]]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TDeint]]&lt;br /&gt;
| TDeint is a bi-directionally, motion adaptive (sharp) deinterlacer. It can also adaptively choose between using per-field and per-pixel motion adaptivity. It can use cubic interpolation, kernel interpolation (with temporal direction switching), or one of two forms of modified ELA interpolation which help to reduce &amp;quot;jaggy&amp;quot; edges in moving areas where interpolation must be used. TDeint also supports user overrides through an input file, and can act as a smart bobber or same frame rate deinterlacer, as well as an IVTC post-processor. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=82264 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[TDeint|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TelecideHints]]&lt;br /&gt;
| The filter process the stats file to get the usual progressive matches and identify VFR sections.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://mod16.org/fansub/Telecidehints11.rar Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TempGaussMC]]&lt;br /&gt;
| Motion-compensated bob deinterlacer, based on temporal gaussian blurring. reduces noise/grain of the source and does NOT leave the original fields unchanged. Output is rich with details and very stable. Is SLOW&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[TempGaussMC|Script]]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[yadifmod]]&lt;br /&gt;
| Modified version of Fizick's avisynth filter port of yadif from mplayer. This version doesn't internally generate spatial predictions, but takes them from an external clip. It also is not an Avisynth_C plugin (just a normal one).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[yadifmod|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[yadifmod2]]&lt;br /&gt;
| Yadif + yadifmod for avisynth2.6/avisynth+. &lt;br /&gt;
| [[YV24]], [[YV16]], [[YV12]], [[YV411]], [[Y8]]&lt;br /&gt;
| [[yadifmod2|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Duplicate Frame Detectors ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[ApparentFPS]]&lt;br /&gt;
| Shows underlying framerate where a clip has had many duplicates inserted, easier than counting unique frames.&lt;br /&gt;
| (see [[ApparentFPS|docs]])&lt;br /&gt;
| [[ApparentFPS|Plugin]]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [[DeDup]]&lt;br /&gt;
| Remove (drop) duplicate frames in the interest of compression quality and speed. Resulting clip will have a variable frame rate.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[DeDup]]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Dup]]&lt;br /&gt;
| A robust duplicate frame detector; a frame that is determined to be close enough to its predecessor to be considered a duplicate will be replaced by a copy of the predecessor. This can significantly reduce the size of encoded clips with virtually no visual effect. Provides the capability to replace frames with a blend of all the duplicates, providing a valuable noise reduction. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[Dup|Plugin]]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=175357 Duplicity2/DropDeadGorgeous]&lt;br /&gt;
|A two faced scheming and double dealing [on your behalf] dupe tool.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=175357 Script]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=134930 Dupped]&lt;br /&gt;
| Another frame duplication function, similar to Dup, but hopefully more accurate.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140420181919/http://www.randomdestination.com/members/corran/misc/dupped/dupped.avsi Script]&lt;br /&gt;
| [https://github.com/eparsons Corran]&lt;br /&gt;
|-&lt;br /&gt;
| [[DupStep]]&lt;br /&gt;
| Duplicate frame detector/decimator filter for [[AviSynth+]], 64-bit version only.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[Avisynthplus_color_formats|8-16 bits]]&lt;br /&gt;
| [[DupStep|Plugin]]&lt;br /&gt;
| [http://github.com/Orum Orum]&lt;br /&gt;
|-&lt;br /&gt;
|[[ExactDedup]]&lt;br /&gt;
| ExactDedup is a filter intended to remove frames that are exact duplicates of each other, leaving only the first and (optionally) last frames of a run intact, and generates a Matroska v2 timecodes file with timing information for the ensuing stream.&lt;br /&gt;
| [[RGB24]] [[RGB32]], [[Y8]], [[YV12]] [[YV16]], [[YV24]]&lt;br /&gt;
| [[ExactDedup|Plugin]]&lt;br /&gt;
|Steve Melenchuk, Arick Chan, StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/getdups/getdups.html GetDups] &lt;br /&gt;
| Selecting unique duplicate frames from clip, it return frames which have copies only, by one from the series (group). Made for 8mm films.&lt;br /&gt;
| [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/getdups/getdups096.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=164372 MorphDups]&lt;br /&gt;
| Replace duplicate frames by interpolations.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=164372 Script]&lt;br /&gt;
| sven_x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fieldblending and Frameblending removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[c_deblend]] &lt;br /&gt;
| c_deblend is a simple blend replacing function like unblend or removeblend. Superseded by [[srestore]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[Cdeint]]&lt;br /&gt;
| Restores 24fps FILM out of a fieldblended FILM -&amp;gt; Telecine -&amp;gt; [[NTSC]] -&amp;gt; Blendconversion -&amp;gt; [[PAL]] - Video (alternative for Restore24).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[Deblend]]&lt;br /&gt;
| See [http://forum.doom9.org/showthread.php?p=760375#post760375 discussion].&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| actionman133&lt;br /&gt;
|-&lt;br /&gt;
| [[ExBlend]]&lt;br /&gt;
| ExBlend is a plugin to repair damage caused by blend deinterlacing of telecined clips, which results in a double blend, every five frames, GGGBBGGGBBGGGBB etc where 'G' is good and 'B' is blend.&lt;br /&gt;
| [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[ExBlend|Plugin]]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [[FixBlendIVTC]]&lt;br /&gt;
| A blend replacing/frame restoring function for doubleblends caused by blend-deinterlacing of telecined sources. Superseded by [[srestore]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[mrestore]]&lt;br /&gt;
| Uses conditional frame evaluation to undo standard conversions with blends. Superseded by [[srestore]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveBlend]]&lt;br /&gt;
| This filter is used to remove blended fields/frames. See [http://forum.doom9.org/showthread.php?t=75772 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [//web.archive.org/web/20061113201230/http://bossanovaguitar.com/video/removeblend-0.3.zip Plugin]&lt;br /&gt;
| {{Author/violao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Restore24]]&lt;br /&gt;
| Restore24 is an AviSynth filter that is able to do the nearly impossible: Restore 24fps FILM out of a fieldblended FILM -&amp;gt; Telecine -&amp;gt; [[NTSC]] -&amp;gt; Blendconversion -&amp;gt; [[PAL]] - Video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=75432 discussion].&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
| [[RestoreFPS]]&lt;br /&gt;
| RestoreFPS reverses the kind of blending generated by [[ConvertFPS]], restoring original framerate. It will work perfectly well on any regular blend pattern.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://wilbertdijkhof.nl/mg262/Restorefps_v10.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Srestore]]&lt;br /&gt;
| Replacement function for mrestore, c_deblend, FixBlendIVTC and DupHq.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Srestore|script]]&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| Specials&lt;br /&gt;
| Helps restore video with blended fields/frames using a reference source. See [http://forum.doom9.org/showthread.php?t=165030 discussion] and much more information [http://horman.net/doctorwho/specials.php here] and [http://forum.doom9.org/showthread.php?t=168832 here].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://horman.net/specials.zip Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| Unblend&lt;br /&gt;
| Unblend is based on warpenterprise's deblend algorithm and neuron2's decimate code, with YV12 support only. The aim is the same of deblend. See [http://forum.doom9.org/showthread.php?t=55019 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/unblend_5F25_dll_2003.zip Plugin]&lt;br /&gt;
| Bach&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Film Damage correction ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[DePulse]]&lt;br /&gt;
|DePulse is dropout remover, removes white/black noise horizontal streaking in analogue captures.&lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
|[[DePulse|Plugin]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[DeScratch]]&lt;br /&gt;
| DeScratch removes vertical scratches from films. Also it can be used for removing of horizontal noise lines such as drop-outs from analog VHS captures (after image rotation). &lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[DeScratch|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}, {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeSpot]]&lt;br /&gt;
| This filter is designed to remove temporal noise in the form of dots (spots) and streaks found in some videos. The filter is also useful for restoration (cleaning) of old telecined 8mm (and other) films from spots (from dust) and some stripes (scratches).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[DeSpot|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[deVCR]]&lt;br /&gt;
| deVCR eliminates (to a certain degree) the annoying horizontal lines that keep crawling around your VHS or Beta recorded video.&lt;br /&gt;
| 8-bit RGB/YUV&lt;br /&gt;
| [[DeVCR#Script|Script]]&lt;br /&gt;
| Ricardo Garcia&lt;br /&gt;
|-&lt;br /&gt;
|[[KillPulse]]&lt;br /&gt;
|KillPulse is dropout remover, removes white/black noise horizontal streaking in analogue captures.&lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
|[[KillPulse|Plugin]]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.net/showthread.php?p=1402690 KillerSpots]&lt;br /&gt;
|Spot removal function based on Didée's idea from 2010 that makes use of MVTools analysis and RemoveDirt to detect and clean up spots with adiacent pixels.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[HBD]] &lt;br /&gt;
|[https://github.com/FranceBB/KillerSpots Script]&lt;br /&gt;
|Didée, GMJCZP and John Meyer.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveDirt]]&lt;br /&gt;
| RemoveDirt is a temporal cleaner for AviSynth 2.6 and AviSynth+.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[RemoveDirt|Plugin]]&lt;br /&gt;
| {{Author/kassandro}}, {{Author/pinterf}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=121197 RemoveLine]&lt;br /&gt;
|Script for removal of horizontal stripes.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|Script&lt;br /&gt;
|Yup&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=181777 SpotLess]&lt;br /&gt;
|Script filter to remove spots and noise using mvTools2 and Medianblur2. Copes with spots on multiple consecutive frames, setting RadT accordingly.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[HBD]] &lt;br /&gt;
|Script&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=182407 SpotRemover]&lt;br /&gt;
|This script is designed to clean video from spots. Based on SpotLess script by StainlessS.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[HBD]] &lt;br /&gt;
|Script&lt;br /&gt;
|Arx1meD&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144271 VideoFred's Film Restoring]&lt;br /&gt;
| A suite of scripts for film restoring.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144271 Script]&lt;br /&gt;
| videoFred&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frequency Interference removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/defreq/defreq.html DeFreq]&lt;br /&gt;
| Defreq uses Fast Fourier Transform method for frequency selecting an removing. See [http://forum.doom9.org/showthread.php?t=82978 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/defreq/defreq07.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/FanFilter/FanFilter.html FanFilter] &lt;br /&gt;
| Regular vertical frequency interference is filtered in spatial domain.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/FanFilter/FanFilter.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IVTC &amp;amp; Decimation ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AnimeIVTC]]&lt;br /&gt;
| What it does:&lt;br /&gt;
* High quality adaptative field matching for hard telecine&lt;br /&gt;
* Bob, remove the blends and decimate back to the desired framerate for DHT/field-blended&lt;br /&gt;
* Creating a VFR clip for hybrid sources&lt;br /&gt;
* Bob the interlaced credits, blend-deinterlacing the background while doing minimal damage on the progressive credits, convert their framerate to match the episode's and splice them with it OR leave them @ 30p to create a VFR clip&lt;br /&gt;
* Very good combing removal and anti-aliasing functions&lt;br /&gt;
See [http://forum.doom9.org/showthread.php?t=138305] and See [http://forum.doom9.org/showthread.php?p=1673928] for mod version.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158230 DOCI]&lt;br /&gt;
| Destruction of Chroma Interlacing fixes a problem where you captured pulleddown video in YV12.  In the combed frames, the chroma from two frames has been blended, leading to a ghosting effect when IVTC'd.  This filter reconstructs the chroma exactly and fixes the problem.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158230 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|-&lt;br /&gt;
| [[FDecimate]]&lt;br /&gt;
| The FDecimate() filter provides extended decimation capabilities not available from Decimate(). It can remove frames from a clip to achieve the desired frame rate, while retaining audio/video synchronization. It preferentially removes duplicate frames where possible. (&amp;quot;FDecimate&amp;quot; stands for &amp;quot;Free Decimate&amp;quot;, which implies that the output frame rate may be freely chosen, and is not limited to 1-in-N decimation).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[FDecimate|Plugin]]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FDecimate2]]&lt;br /&gt;
| FDecimate2 is based on FDecimate v1.0.2. FDecimate2, fixes some problems with bugged metrics in FDecimate v1.0.2.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[FDecimate2|Plugin]]&lt;br /&gt;
| {{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[IT]]&lt;br /&gt;
| Inverse Telecine plugin.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[IT|Plugin]]&lt;br /&gt;
| {{Author/thejam79}} / {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[IVTC_txt60mc|ivtc_txt60mc]]&lt;br /&gt;
| Deinterlaces telecined footage with that has been overlayed scrolling text at 60i.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[IVTC_txt60mc|Script]]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
|JIVTC&lt;br /&gt;
|JIVTC applies inverse telecine in a way to minimize artifacts often seen on Japanese TV broadcasts followed by recalculating the fields that might still contain some.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://raw.githubusercontent.com/lovesyk/avisynth-scripts/master/JIVTC.avsi Script]&lt;br /&gt;
|[http://github.com/lovesyk lovesyk]&lt;br /&gt;
|-&lt;br /&gt;
|[[MDec2]]&lt;br /&gt;
|MDec2 is a 2 pass decimating filter, acting much like the MultiDecimate filter.&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[MDec2|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| MultiDecimate&lt;br /&gt;
| Removes N out of every M frames, taking the frames most similar to their predecessors. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=51901&amp;amp;perpage=20&amp;amp;pagenumber=2 discussion].&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/multidecimate/multidecimate.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| RePal&lt;br /&gt;
|  [http://forum.doom9.org/showthread.php?t=48401 Discussion] / [http://forum.doom9.org/showthread.php?p=1092552#post1092552 repal_29.97Hz_mod]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/repal_5F25_dll_20030523.zip Plugin] - [http://forum.doom9.org/attachment.php?attachmentid=8028&amp;amp;d=1201414683 Mod]&lt;br /&gt;
| Bach&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The Telecide and Decimate filters can be combined to implement IVTC.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[Decomb|Plugin]]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=182369 TelecineBob]&lt;br /&gt;
|If your source soffers from field blending, as long as no deinterlacing is made you will find out that conveniently the blended fields are often paired with a clean one. FieldDeBlend takes advantage of that and checks for frames whose fields don't match to replace the frame with a clean one as long there is one.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[https://www.mediafire.com/file/sa1oae96m63mkje/TelecineBob.zip/file Plugin]&lt;br /&gt;
|Ceppo&lt;br /&gt;
|-&lt;br /&gt;
| [[TIVTC]]&lt;br /&gt;
| A package containing these 7 filters: TFM, TDecimate, MergeHints, FrameDiff, FieldDiff, ShowCombedTIVTC, and RequestLinear. Also contains these 3 conditional functions: IsCombedTIVTC, CFieldDiff, and CFrameDiff. Designed primarily for IVTC operations.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[TIVTC|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| TPRIVTC&lt;br /&gt;
| TPRIVTC stands for TMPEG InVerse Telecine, i.e. the process where an 29.97fps interlaced NTSC clip is converted to 23.976fps while removing interlaced frames. [http://web.archive.org/web/20030808191810/http://kurosu.inforezo.org/avs/TPRIVTC/index.html Readme]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/tprivtc_5F25_dll_20040930.zip Plugin]&lt;br /&gt;
| daxab, {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167875 WeaveMan]&lt;br /&gt;
| Remove arbitrary pulldown patterns manually; meant for perfectionists to undo non-standard 24-&amp;gt;25 fps, 25-&amp;gt;29.97 fps, etc. telecine conversions, along with other weird telecine anomalies created by broadcasters speeding up film-sourced content. See sample case [http://forum.doom9.org/showthread.php?p=1630931&amp;amp;highlight=weaveman#post1630931 here].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20131208232913/http://chidragon.thedessie.com/Doom9/WeaveMan-v0.2.zip Plugin]&lt;br /&gt;
| ChiDragon&lt;br /&gt;
|-&lt;br /&gt;
| [[IvtcBlend]]&lt;br /&gt;
| Waka demonstrated an IvtcBlend function that uses the information in the &amp;quot;extra&amp;quot; fields of a telecined source to help combat temporal noise.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ghost Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| FixVHSOversharp&lt;br /&gt;
| FixVHSOversharp attempts to repair the light and dark halos that follow high contrast edges found in VHS sources. See [http://web.archive.org/web/20131014010552/http://www.videohelp.eu/forum/avisynth/2851-avisynth-fixvhsoversharp-beta.html discussion.] &lt;br /&gt;
| | [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091026142456/http://www.geocities.com/mrtibsvideo/fixvhsoversharp.html Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20091027001215/http://geocities.com/mrtibsvideo/ MrTibs]&lt;br /&gt;
|-&lt;br /&gt;
| [[GhostBuster|Ghostbuster]]&lt;br /&gt;
| A filter for the removal of ghosting.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [[GhostBuster|Plugin]]&lt;br /&gt;
| {{Author/SansGrip}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LGhost]]&lt;br /&gt;
| Plugin intended for ghost removal but can also reduce edge (ringing) artifacts.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[LGhost|Plugin]]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[vsLGhost]]&lt;br /&gt;
| Luminance Ghost reduction filter. Can be used for removing luminance ghost or edge ghost (ringing). &lt;br /&gt;
| All [[Planar]] colorspaces (8-32bit)&lt;br /&gt;
| [[vsLGhost|Plugin]]&lt;br /&gt;
| {{Author/Asd-g}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Logo Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AvsInpaint]]&lt;br /&gt;
| This plugin comes with the intention to provide a suit for the removal of logos, whether opaque or transparent. It provides algorithms for these tasks: logo detection, deblending, and logo inpainting.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[AvsInpaint|C-Plugin]]&lt;br /&gt;
| AMSS0815, {{Author/pinterf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeKafka]]&lt;br /&gt;
| This fairly simple filter washes away those annoying bugs from broadcast clips.&lt;br /&gt;
| Any&lt;br /&gt;
| Script&lt;br /&gt;
| poptone&lt;br /&gt;
|-&lt;br /&gt;
| DeLogo&lt;br /&gt;
| DeLogo Filter for VirtualDub. Removes static elements, e.g. logos or watermarks, from the video stream. It can remove either opaque elements or alpha blended, the latter even without destroying the picture beneath. &lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [{{N2Moved}}/delogo132/delogo.html Plugin] &amp;amp; [http://forum.doom9.org/showthread.php?t=119447 Script]&lt;br /&gt;
| Karel Suhajda&lt;br /&gt;
|-&lt;br /&gt;
|[[DelogoHD]]&lt;br /&gt;
|DelogoHD is an overhaul of the original delogo filter, which was originally written by MakKi many years ago. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], &amp;lt;br&amp;gt; 8-16bit planar YUV&lt;br /&gt;
|[[DelogoHD|Plugin]]&lt;br /&gt;
|MeteorRain&lt;br /&gt;
|-&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=184881 DoomDelogo]&lt;br /&gt;
| DoomDelogo meant to be simpler and perform better than deKafka, s_ExLogo, x-Logo and similar.&lt;br /&gt;
| Any&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=184881 Script]&lt;br /&gt;
| VoodooFX&lt;br /&gt;
|-&lt;br /&gt;
| [[ExInpaint]]&lt;br /&gt;
| Exemplar-Based Image Inpainting. See [http://forum.doom9.org/showthread.php?t=133773 discussion] &lt;br /&gt;
| [[RGB24]] [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[ExInpaint|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176860 InpaintDelogo]&lt;br /&gt;
|InpaintDelogo is an advanced logo and watermark removal function using inpainting and deblending with an adjustable fine process to hide artifacts and get best delogo results.&lt;br /&gt;
Can remove opaque, transparent, semi-transparent and some dynamic logos from video.&lt;br /&gt;
Can be used to remove hardcoded subtitles or extract them to images for OCR.&lt;br /&gt;
|Any&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176860 Script]&lt;br /&gt;
|VoodooFX&lt;br /&gt;
|-&lt;br /&gt;
| [[InpaintFunc]]&lt;br /&gt;
| Script for logo removal using inpainting. Can remove alpha blended or opaque logos with a basic postprocessing to hide artifacts.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[InpaintFunc|Script]]&lt;br /&gt;
| Reuf Toc&lt;br /&gt;
|-&lt;br /&gt;
| LogoNR&lt;br /&gt;
| Post-denoise filter for EraseLogo or [[DelogoHD]]. See [https://web.archive.org/web/20210915185704/https://www.nmm-hd.org/newbbs/viewtopic.php?t=649 discussion]&lt;br /&gt;
| All [[planar]] colorspaces&lt;br /&gt;
| [https://web.archive.org/web/20220702130736/https://pastebin.com/raw/qZBU3NQA Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[rm_logo]]&lt;br /&gt;
| Combination of deblending and inpainting to remove logos with adjustable postprocessing to further hide artifacts. See [http://forum.doom9.org/showthread.php?t=134919]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Rm_logo.avs Script]&lt;br /&gt;
| Spuds &lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=154559 s_ExLogo]&lt;br /&gt;
|De-logo function with clipping (Dekafka mod).&lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
|[http://www.mediafire.com/download/40cpnnctd0uutpv/s_ExLogo_1.1.zip Script]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Uglarm]]&lt;br /&gt;
| Filter for blurring a logo, using LogoAway style Uglarm Interpolation method.&lt;br /&gt;
| [[RGB24]] [[RGB32]],[[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[Uglarm|Plugin]]&lt;br /&gt;
| {{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[X-Logo]]&lt;br /&gt;
| X-Logo AviSynth plugin and VirtualDub filter. Removes opaque logos.&lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[X-Logo|Plugin]]&lt;br /&gt;
| [http://web.archive.org/web/20041204210505/http://members.verizon.net/~vze3kkvm/filters.html Leuf]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Luma Equalization ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Antiflicker]]&lt;br /&gt;
| &amp;quot;A quick-and-dirty port of my VirtualDub filter (which sucks, by the way; it was one of my first filters).&amp;quot; &lt;br /&gt;
See [http://forum.doom9.org/showthread.php?p=224573#post224573 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/antiflicker_5F25_dll_20030304.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeFlicker]]&lt;br /&gt;
| Can remove old film intensity flicker by temporal mean luma smoothing. Can also correct blinding of automatic gain control after flashes.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[YUY2]]&lt;br /&gt;
| [[DeFlicker|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}, {{Author/pinterf}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1326599#post1326599 Dumb Deflicker]&lt;br /&gt;
| Gathers average luma of frames, smoothens that with TemporalSoften, and applies the obtained difference to the original input.  It is pretty simple, read &amp;quot;dumb&amp;quot;. See [http://forum.doom9.org/showthread.php?p=1326599#post1326599 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1326599#post1326599 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EquLines]]&lt;br /&gt;
| Equalizes total luminosity in pairs of even and odd lines. Useful for removing inter-line differences from telecined films.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[EquLines|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LMFlicker]]&lt;br /&gt;
| LMFlicker is intended to reduce flickering in some film/VHS transfers. FieldFade is a similar concept, but applied on a per-field basis, to reduce combing in a video where fades were applied after telecine.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[LMFlicker|Plugin]]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=159493 Local Deflicker]&lt;br /&gt;
| Deflickers only part of a frame. See [http://forum.doom9.org/showthread.php?t=159493 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=159493 Script]&lt;br /&gt;
| prokhozhijj&lt;br /&gt;
|-&lt;br /&gt;
| [[ReduceFlicker]]&lt;br /&gt;
| Plugin to reduce temporal oscillations.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[ReduceFlicker|Plugin]]&lt;br /&gt;
| {{Author/kassandro}}, {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TimeLapseDF]]&lt;br /&gt;
| Designed to remove luminosity flicker in time lapse photography. Unlike most other flicker removal filters, utilizes cumulative distribution function in addition to average frame luminosity.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[TimeLapseDF|Plugin]]&lt;br /&gt;
| {{Author/Denis Zhitenev}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Vinverse]]&lt;br /&gt;
| A simple but effective plugin to remove residual combing.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], 8-16bit planar Y/YUV&lt;br /&gt;
| [[Vinverse|Plugin]]&lt;br /&gt;
| {{Author/Didée}}, {{Author/tritical}}, {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=106898 wdeflicker]&lt;br /&gt;
| Modifies luma of a source clip by refering to a temporally super-smoothed clip. Heights of source and reference clips must match. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=5417&amp;amp;d=1139174468 Plugin]&lt;br /&gt;
| Osmiridium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== [[:Category:Rainbow &amp;amp; Dot Crawl Removal|Rainbow &amp;amp; Dot Crawl Removal]] ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Bifrost]]&lt;br /&gt;
| Bifrost uses temporal blending to remove or at least reduce the effect of rainbows.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Bifrost|Plugin]]&lt;br /&gt;
| {{Author/Myrsloik}}, dubhater&lt;br /&gt;
|-&lt;br /&gt;
| [[CC]]&lt;br /&gt;
| Dot crawl and rainbow removal.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.chiyoclone.net/dl/cc_20040522.lzh Plugin]&lt;br /&gt;
| {{Author/chiyo-clone}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Checkmate]]&lt;br /&gt;
| Spatial-temporal dot crawl removal.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Checkmate|Plugin]]&lt;br /&gt;
| {{Author/mf}} / prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[ChubbyRain]]&lt;br /&gt;
| Spatial-temporal rainbow reducing script.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChubbyRain.avsi Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[ChubbyRain2]]&lt;br /&gt;
| Spatial-temporal rainbow reducing script based on [[ChubbyRain]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChubbyRain2.avsi Script]&lt;br /&gt;
| Lothar&lt;br /&gt;
|-&lt;br /&gt;
| [[DDCR]]&lt;br /&gt;
| A purely spatial dot crawl removal script for AviSynth+.&lt;br /&gt;
| all 8 bit Y/YUV colorspaces&lt;br /&gt;
| [[DDCR|Script]]&lt;br /&gt;
| Reel.Deal&lt;br /&gt;
|-&lt;br /&gt;
| [[DeCrawl]]&lt;br /&gt;
| Spatial and temporal dot crawl removal, particularly for animated material.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/decrawl_20060924.zip Plugin]&lt;br /&gt;
| Dan Donovan&lt;br /&gt;
|-&lt;br /&gt;
| [[DeCross]]&lt;br /&gt;
| Cross Color Reduction. Also known as rainbows.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[DeCross|Plugin]]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeDot]]&lt;br /&gt;
| Removes dot crawl and may also be useful for rainbows.&lt;br /&gt;
| all planar Y, YUV, and YUVA (8-16 bit)&lt;br /&gt;
| [[DeDot|Plugin]]&lt;br /&gt;
| {{Author/thejam79}} / {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeRainbow]]&lt;br /&gt;
| A simple script to reduce rainbows. See [http://forum.doom9.org/showthread.php?p=398106#post398106 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/images/DeRainbow.avsi Script]&lt;br /&gt;
| sh0dan&lt;br /&gt;
|-&lt;br /&gt;
| [[DFMDeRainbow]]&lt;br /&gt;
| Creates mask to process only edges; rainbows are removed by hitting chroma planes with two passes of FluxSmooth (hence &amp;quot;Double-Flux-Mask&amp;quot;).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/DFMDeRainbow-20140223.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DotKill]]&lt;br /&gt;
|Spatio-temporal dotcrawl and rainbow remover.&lt;br /&gt;
|[[YV12]], [[YV16]], [[YV24]], [[YV411]], 8-16bits&lt;br /&gt;
|[[DotKill|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=170328 FadeDeRainbow]&lt;br /&gt;
|Another de-rainbowing script.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=170328 Script]&lt;br /&gt;
|bxyhxyh&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/guavacomb.htm GuavaComb]&lt;br /&gt;
| Removes dot crawl, rainbows, and some kinds of shimmering. See [http://forum.doom9.org/showthread.php?t=37456 discussion]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/guavacomb_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LUTDeCrawl]]&lt;br /&gt;
| Purely spatial; only targets pixels for dot crawl removal if luma is fluctuating and (optionally) chroma is not.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140421001939/http://www.aquilinestudios.org/scripts/LUTDeCrawl-20081003.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LUTDeRainbow]]&lt;br /&gt;
| Purely spatial; only targets pixels for derainbowing if chroma is fluctuating and (optionally) luma is not.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140421001939/http://www.aquilinestudios.org/scripts/LUTDeRainbow-20081003.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [[mfRainbow]]&lt;br /&gt;
| Derainbows in areas of high Y, U and V frequencies, which fluctuate heavily.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/MfRainbow-v0.32.avsi Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Rainbow_Smooth]]&lt;br /&gt;
| A small spatial derainbow function. It uses [[SmoothUV]] to smooth out chroma and edge masking to prevent color bleeding.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Rainbow_smooth.avsi Script]&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[SmartSSIQ]]&lt;br /&gt;
| SSIQ can alter the color on the entire picture. So this script first applies SSIQ to the entire picture. Then it locates the edges. Finally, it layers ONLY the de-rainbowed edges onto the original video.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/SmartSSIQ.avsi Script]&lt;br /&gt;
| LB&lt;br /&gt;
|-&lt;br /&gt;
| [[SSIQ]]&lt;br /&gt;
| Rainbow remover. A port of the VirtualDub plugin [http://www.doki.ca/filters/ Smart Smoother IQ.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/ssiq_20070304.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TComb]]&lt;br /&gt;
| A temporal comb filter (it reduces cross-luminance (rainbowing) and cross-chrominance (dot crawl) artifacts in static areas of the picture).&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[TComb|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[YARK]]&lt;br /&gt;
| Yet Another Rainbow Killer. Based on mfRainbow v0.31, chubbyrain2, and various other scripts shown [http://forum.doom9.org/showthread.php?t=141165 here].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[YARK|Script]]&lt;br /&gt;
| jase99&lt;br /&gt;
|-&lt;br /&gt;
| [[ASTDR]]&lt;br /&gt;
| ASTDR uses mt_motion for motion and edge to deal with moving Rainbow and apply mask once more in the opposite way to keep around the lines as they are. It uses DeCross and other filters to remove Rainbow. ASTDRmc avoids chroma bleeding in moving scenes. See [http://forum.doom9.org/showpost.php?p=1665492&amp;amp;postcount=27 post on doom9.org].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[ASTDR|Script]]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stabilization ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[CelStabilize]]&lt;br /&gt;
| Script which holds a fixed background steady.  Doesn't work well with pans or fades.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/CelStabilize Script]&lt;br /&gt;
| mg262&lt;br /&gt;
|-&lt;br /&gt;
| [[DePan]]&lt;br /&gt;
| Tools for estimation and compensation of global motion (pan).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[DePan|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Depansafe]]&lt;br /&gt;
|Another DePan stabilization script. &lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[DepanSafe|Script]]&lt;br /&gt;
|[http://pastebin.com/u/tophf tophf]&lt;br /&gt;
|-&lt;br /&gt;
| [[Deshaker3D]]&lt;br /&gt;
| Experimental 3D image stabilizer (VDub [http://www.guthspot.se/video/deshaker.htm Deshaker] required).&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [[Deshaker3D|Plugin]]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=172136 SpatialAlign]&lt;br /&gt;
|Fix spatial alignment between two clips containing similar scenes.&lt;br /&gt;
|Any?&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=172136 Script]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/arnean/PerfPan PerfPan]&lt;br /&gt;
|PerfPan is an AviSynth plugin to stabilize scanned film using perforation as a reference.&lt;br /&gt;
|All colorspaces&lt;br /&gt;
|[https://github.com/arnean/PerfPan/tree/master/windows Plugin]&lt;br /&gt;
|[https://github.com/arnean arnean]&lt;br /&gt;
|-&lt;br /&gt;
| [[Stab]]&lt;br /&gt;
| Simple but powerful script to remove small high frequency jitter that appears often on old/bad transfers.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Stab|Script]]&lt;br /&gt;
| g-force&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.videohelp.com/threads/371336-Stabilization-Tools-Pack-v1-8 Stabilization Tools Pack]&lt;br /&gt;
| A set of tools to work with common stabilization issues, mainly from telecine process.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.videohelp.com/threads/371336-Stabilization-Tools-Pack-v1-8 Script]&lt;br /&gt;
|{{Author/Dogway}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=182532 Stab_Light]&lt;br /&gt;
|Another stabilization script; based on Stab3.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[HBD]] &lt;br /&gt;
|Script&lt;br /&gt;
|Arx1meD&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20151223052321/http://code.google.com/p/avisynthrestoration/wiki/TBC TBC]&lt;br /&gt;
| Stabilizes horizontal jitter in video from analog VCRs, similar to the function of a Time Base Corrector.(note: will cause SEt's Avisynth 2.6 MT to stop working)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20151223052318/https://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Denoisers ==&lt;br /&gt;
Strength/Quality of Denoisers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(need subclassification)&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AdaptiveMedian]]&lt;br /&gt;
| This is an adaptive Median Filter for eliminating certain types of noise. It uses local statistics (minimum, maximum and median values) of a moving local grid, and changes grid size depending on local statistics.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[AdaptiveMedian|Plugin]]&lt;br /&gt;
|{{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Deathray]]&lt;br /&gt;
|OpenCL GPU accelerated spatial/temporal non-local means de-noising.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[Deathray|Plugin]]&lt;br /&gt;
|[http://github.com/JawedAshraf Jawed]&lt;br /&gt;
|-&lt;br /&gt;
| [[DeNoise]]&lt;br /&gt;
| This is an adaptive local noise reduction filter. It uses global variance of the noise, local mean and local variance in a moving grid of specified size. It tries to preserve edges as closely as possible. The global variance value can be specified or it can be computed from a window. The global variance can have one value for the entire clip or can vary frame to frame linearly or computed from a window with its coordinates linearly moving with frame numbers.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[DeNoise|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071105084352/http://www.geocities.com/fredthompson6/Kiraru2002/Kiraru2002sROOM.htm#dnr2 DNR2]&lt;br /&gt;
| Dynamic Noise Reduction 2 is based on the VirtualDub [http://www.shdon.com/vid/dnr DNR] filter by Steve Don and Avery Lee. &lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/dnr2_5F25_dll_20021225.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeSaltPepper]]&lt;br /&gt;
| Remove white and black noise.&lt;br /&gt;
| Any&lt;br /&gt;
| [[DeSaltPepper|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FFTQuiver]]&lt;br /&gt;
| Remove periodic noise. Useful for analog interference.&lt;br /&gt;
| [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[FFTQuiver|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TNLMeans]]&lt;br /&gt;
| TNLMeans is an implementation of the NL-means denoising algorithm.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=171817 TfNLMeans] - an AviSynth 2.6 fork of TNLMeans 1.0.3&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[TNLMeans|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[KNLMeansCL]]&lt;br /&gt;
| KNLMeans is an optimized OpenCL implementation of the Non-local means denoising algorithm.&lt;br /&gt;
| [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[KNLMeansCL|Plugin]]&lt;br /&gt;
| [http://github.com/Khanattila Khanattila]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=172966 xNLMeans]&lt;br /&gt;
|xNLMeans is an AviSynth plugin implementation of the Non Local Means denoising proposition. This implementation provides several optimizations and extensions over the original proposition and other implementations.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://www.mediafire.com/download/4stpv24pvpfclzm/xNLMeans_0.03_20160324.zip Plugin] &amp;lt;!--[http://www.mediafire.com/download/bmldoqgmmboij8n/xNLMeans_0.01_151212.zip older version]--&amp;gt;&lt;br /&gt;
|martin53&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spatial Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[_2DCleanYUY2]]&lt;br /&gt;
| Averages pixels in a configurable radius around a source pixel that are within a configurable threshold of the central pixel. A port of the VirtualDub plugin [{{N2Moved}}/2dcleaner.html 2D Cleaner.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[_2DCleanYUY2|Plugin]]&lt;br /&gt;
| {{Author/kiraru2002}}, {{Author/xeon533}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DctFilter]]&lt;br /&gt;
| An experimental filter that operates on DCT coefficients. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[DctFilter|Plugin]]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun7]]&lt;br /&gt;
| Fractal denoising. See [http://forum.doom9.org/showthread.php?t=110200 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Frfun7|Plugin]]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20101201051903/http://gpubilateral.sourceforge.net/ GPUBilateral]&lt;br /&gt;
| In short, bilateral filter is a edge-preserving smooth filter. See [http://forum.doom9.org/showthread.php?t=136370 discussion.]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/gpubilateral/files/ Plugin]&lt;br /&gt;
| Sompon Virojanadara    &lt;br /&gt;
|-&lt;br /&gt;
|Kuwahara&lt;br /&gt;
|This filter is an edge preserving spatial noise reduction filter. It applies spatial smoothing while preserving the edges. See [http://forum.doom9.org/showthread.php?p=1689773 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.nl/Kuwahara_v11.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MiniDeen]]&lt;br /&gt;
|MiniDeen is a spatial denoising filter. It replaces every pixel with the average of its neighbourhood. This is a port of the &amp;quot;a2d&amp;quot; method from the AviSynth plugin [[Deen]], version beta 2.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], 8-16bit planar YUV in AviSynth+&lt;br /&gt;
|[[MiniDeen|Plugin]]&lt;br /&gt;
|{{Author/dubhater}} / MeteorRain&lt;br /&gt;
|-&lt;br /&gt;
|[[Neo_VagueDenoiser]]&lt;br /&gt;
|Wavelet based Denoiser. Refactored version of the original VagueDenoiser; includes optimizations, additional colorspaces, and high bit depth support.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], 8-16bit planar YUV in AviSynth+&lt;br /&gt;
|[[Neo_VagueDenoiser|Plugin]]&lt;br /&gt;
| HolyWu, [https://github.com/msg7086 MeteorRain]&lt;br /&gt;
|-&lt;br /&gt;
|[[sbr]]&lt;br /&gt;
|sbr is helper function to make a highpass on a blur's difference.&lt;br /&gt;
|All YUV [[planar]] 8 to 16-bit colorspaces &lt;br /&gt;
|[[sbr|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SmoothUV2]]&lt;br /&gt;
| SmoothUV2 is a spatial derainbow filter. This filter performs structure-preserving smoothing (blurring) on the U/V (chrominance or colour) information of the image, leaving Y (luminance) intact.  &lt;br /&gt;
| All YUV, YUVA [[planar]] 8 to 16-bit colorspaces &lt;br /&gt;
| [[SmoothUV2|Plugin]]&lt;br /&gt;
| {{Author/dubhater}}, {{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[SPresso]]&lt;br /&gt;
|A fast script to make SD content compress better while keeping the &amp;quot;original look&amp;quot;.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[SPresso|Script]]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TBilateral]] &lt;br /&gt;
| TBilateral is a spatial smoothing filter that uses the bilateral filtering algorithm.  It does a nice job of smoothing while retaining picture structure.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[TBilateral|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VagueDenoiser]]&lt;br /&gt;
| This is a Wavelet based Denoiser. Basically, it transforms each frame from the video input into the wavelet domain, using various wavelet filters. Then it applies some filtering to the obtained coefficients.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[VagueDenoiser|Plugin]]&lt;br /&gt;
| {{Author/Lefungus}}, {{Author/Kurosu}}, {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[[vsMSmooth]]&lt;br /&gt;
|vsMSmooth is a spatial smoother that doesn't touch edges. &lt;br /&gt;
||[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], all planar Y, YUV, and RGB formats,  8 to 16 bit&lt;br /&gt;
|[[vsMSmooth|Plugin]]&lt;br /&gt;
|{{Author/dubhater}}, {{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[vsTBilateral]]&lt;br /&gt;
|vsTBilateral is a spatial smoothing filter that uses the bilateral filtering algorithm.&lt;br /&gt;
|All [[planar]] 8 to 16-bit colorspaces&lt;br /&gt;
|[[vsTBilateral |Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Cnr2]]&lt;br /&gt;
| A fast chroma denoiser. Very effective against stationary rainbows and huge analogic chroma activity. Useful to filter VHS/TV caps.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[Cnr2|Plugin]]&lt;br /&gt;
| {{Author/Marc FD}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FluxSmooth]]&lt;br /&gt;
| Examines each pixel and compares it to the corresponding pixel in the previous and last frame.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[FluxSmooth|Plugin]]&lt;br /&gt;
| {{Author/SansGrip}}, {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| MDegrain&lt;br /&gt;
| Strong and effective temporal denoiser. Part of the [[MVTools]] package.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[MVTools|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TTempSmooth]] &lt;br /&gt;
| TTempSmooth is a motion adaptive (it only works on stationary parts of the picture), temporal smoothing filter.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20151125175557/http://bengal.missouri.edu/~kes25c/TTempSmoothv094.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Temporal Degrain]]&lt;br /&gt;
| SLOW but very effective at removing most grain from video sources.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/TemporalDegrain.avs Script]&lt;br /&gt;
| Didée, Sagekilla &lt;br /&gt;
|-&lt;br /&gt;
| [[TemporalDegrain2]]&lt;br /&gt;
| Temporal Degrain enhanced with parts of QTGMC, potentially slower but more effective at removing grain from video sources while retaining more details.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]] (8-16 bit)&lt;br /&gt;
| [[TemporalDegrain2|Script]]&lt;br /&gt;
| Didée, Sagekilla, Vit, real.finder, ErazorTT&lt;br /&gt;
|-&lt;br /&gt;
|[[vsCnr2]]&lt;br /&gt;
|vsCnr2 is a temporal denoiser designed to denoise only the chroma. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], all planar Y, YUV, and YUVA (8-16 bit) &lt;br /&gt;
|[[vsCnr2|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[vsTTempSmooth]]&lt;br /&gt;
|vsTTempSmooth is a motion adaptive (it only works on stationary parts of the picture), temporal smoothing filter. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], all planar Y, YUV, and YUVA (8-32 bit) &lt;br /&gt;
|[[vsTTempSmooth|Plugin]]&lt;br /&gt;
|HolyWu, {{Author/Asd-g}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spatio-Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[BM3DCUDA]]&lt;br /&gt;
|BM3D denoising filter for AviSynth+, implemented in CUDA.&lt;br /&gt;
|32-bit [[planar]] colorspaces&lt;br /&gt;
|[[BM3DCUDA|Plugin]]&lt;br /&gt;
|[https://github.com/WolframRhodium WolframRhodium]&lt;br /&gt;
|-&lt;br /&gt;
| [[Convolution3D]]&lt;br /&gt;
| Convolution3D is a spatio-temporal smoother, it applies a 3D convolution filter to all pixels of consecutive frames.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Convolution3D|Plugin]]&lt;br /&gt;
| {{Author/Vlad59}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Deen]]&lt;br /&gt;
| Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Deen|Plugin]]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| DenoiseMF&lt;br /&gt;
| A fast and accurate denoiser for a Full HD video from a H.264 camera. See [http://forum.doom9.org/showthread.php?t=162603 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [https://web.archive.org/web/20160604213634/http://forum.doom9.org/showthread.php?t=162603 Script]&lt;br /&gt;
| rean&lt;br /&gt;
|-&lt;br /&gt;
| [[dfttest]]&lt;br /&gt;
| A 2D/3D frequency domain denoiser.&lt;br /&gt;
| [[YUY2]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[dfttest|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| dfttestMC&lt;br /&gt;
| A script that motion compensates dfttest. See [http://forum.doom9.org/showthread.php?t=147676 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147676 Script]&lt;br /&gt;
| thewebchat&lt;br /&gt;
|-&lt;br /&gt;
| [[DeGrainMedian]]&lt;br /&gt;
| Two stage Spatio-Temporal Limited Median filter for grain removal.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[DeGrainMedian|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FFT3DFilter]]&lt;br /&gt;
| A 3D Frequency Domain filter - gives strong denoising and moderate sharpening.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[YUY2]], any Y, YUV and Planar RGB 8-32 bit&lt;br /&gt;
| [[FFT3DFilter|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}, martin53, {{Author/pinterf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FFT3DGPU]]&lt;br /&gt;
| Similar algorithm to FFT3DFilter, but uses graphics hardware for increased speed.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[YUY2]], Planar RGB 8 bit&lt;br /&gt;
| [[FFT3DGPU|Plugin]]&lt;br /&gt;
| {{Author/tsp}}, {{Author/pinterf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[hqdn3d]] &lt;br /&gt;
| High Quality DeNoise 3D is an Avisynth 2.5 port of the MPlayer filter of the same name. It performs a 3-way low-pass filter, which can completely remove high-frequency noise while minimizing blending artifacts. &lt;br /&gt;
| 8-16bit planar YUV&lt;br /&gt;
| [[hqdn3d|Plugin]]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=174804 mclean]&lt;br /&gt;
|Typical spatial filters work by removing large variations in the image on a small scale, reducing noise but also making the image less sharp or temporally stable. mClean removes noise whilst retaining as much detail as possible, as well as provide optional image enhancement.&lt;br /&gt;
|[[YV12]], [[HBD]]&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=174804 Script]&lt;br /&gt;
|burfadel&lt;br /&gt;
|-&lt;br /&gt;
| [[MC_Spuds]]&lt;br /&gt;
| Motion compensated noise removal with sharpening. Extremely slow, but extremely effective.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[MC_Spuds|Script]]&lt;br /&gt;
| Spuds, {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MCTemporalDenoise]]&lt;br /&gt;
| Another high quality motion compensated noise removal script with an accompanying post-processing component (with loads of excess feature such as MC-Post-sharpening, MC-antialiasing, deblock, edgeclean and much more)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[MCTemporalDenoise|Script]]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| RemoveDirtMC&lt;br /&gt;
| See [http://forum.doom9.org/showthread.php?p=1485300#post1485300 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [https://github.com/realfinder/AVS-Stuff/raw/master/avs%202.5%20and%20up/RemoveDirtMC_SE.avsi Script]&lt;br /&gt;
| Nephilis/A.SONY&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveGrainHD]]&lt;br /&gt;
| RemoveGrainHD is like RemoveGrain but intended for high definition content. It includes various spatial and temporal functions. See [http://web.archive.org/web/20130412014246/http://www.removegrainhd.de.tf/ documentation.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[RemoveGrainHD|Plugin]]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| RemoveNoiseMC&lt;br /&gt;
| Motion compensated filter for removing noise, larger spots and other dirt. Written as an alternative to the old Dust. Last update Nov 2006. It uses mvtools v1. Jenyok collected together all RemoveNoise and various filters functions and adapted to MVTools v2.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=110078 Script]&lt;br /&gt;
| Heini011&lt;br /&gt;
|-&lt;br /&gt;
| [[RgTools]]&lt;br /&gt;
| Modern rewrite of &amp;lt;tt&amp;gt;[[RgTools/RemoveGrain|RemoveGrain]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/Repair|Repair]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/BackwardClense|BackwardClense]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/Clense|Clense]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/ForwardClense|ForwardClense]]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[[RgTools/VerticalCleaner| VerticalCleaner]]&amp;lt;/tt&amp;gt; all in a single plugin. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[RgTools|Plugin]]&lt;br /&gt;
| {{Author/tp7}}, {{Author/pinterf}}&lt;br /&gt;
|-&lt;br /&gt;
|[[SMDegrain]]&lt;br /&gt;
|SMDegrain is a convenience function for using MDegrain, including 16bit and interlaced support, with extra capabilities for light sharpening and spatial filtering.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
|[[SMDegrain|Script]]&lt;br /&gt;
|{{Author/Dogway}}&lt;br /&gt;
|-&lt;br /&gt;
|[[STPresso]]&lt;br /&gt;
|A fast script to make SD/720p content compress better without losing detail and original grain structure.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[STPresso|Script]]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|[[vsDeGrainMedian]]&lt;br /&gt;
|vsDeGrainMedian is a spatio-temporal limited median denoiser.&lt;br /&gt;
|All [[planar]] 8 to 16bit colorspaces&lt;br /&gt;
|[[vsDeGrainMedian|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| zzz_denoise&lt;br /&gt;
| Simple wrapper around a combination of dfttest and MDegrain3. Requires the [[External_filters#Deepcolor_Filters|Dither]] package.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1390594#post1390594 Script]&lt;br /&gt;
| {{Author/cretindesalpes}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adjustment Filters ==&lt;br /&gt;
&lt;br /&gt;
=== Averaging/Layering/Masking ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Average]]&lt;br /&gt;
| A simple plugin that calculates weighted frame-by-frame average from multiple clips. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[Average|Plugin]]&lt;br /&gt;
| {{Author/tp7}}, {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
|[[AviSynthGimpLayer]]&lt;br /&gt;
|AviSynth Gimp-style Layer merge plugin.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[[AviSynthGimpLayer|Plugin]]&lt;br /&gt;
| [http://sourceforge.net/u/panzerboy66/profile/ panzerboy66]&lt;br /&gt;
|-&lt;br /&gt;
|[[AVS_SoftLight]]&lt;br /&gt;
|AviSynth+ plugin. It makes a softlight blend with a negative of average. Only x64 version available and with CUDA support. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[AVS_SoftLight|Plugin]]&lt;br /&gt;
|Argaricolm&lt;br /&gt;
|-&lt;br /&gt;
| BlockAverage&lt;br /&gt;
| A simple filter that just averages the Y values of each 2x2 pixel block in a YV12 image – U and V values are left alone as they already common to each 2x2 block in a progressive YV12 image. Just made to see if it satisfies the requirements in [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=91580&amp;amp;perpage=10&amp;amp;pagenumber=1 this thread].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/blockaverage01.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
|CheckMask&lt;br /&gt;
|A YV12 spatial dot finding filter for AviSynth.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://www.avisynth.nl/users/warpenterprises/files/checkmask_5F25_dll_20050310.zip Plugin]&lt;br /&gt;
|[http://web.archive.org/web/20090618112048/http://kawaii-shoujo.net/AntiAliased/index.html Dan Donovan]&lt;br /&gt;
|-&lt;br /&gt;
|[[ClipBlend]]&lt;br /&gt;
|Filter to blend consecutive frames in a clip. &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[[ClipBlend|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/colorkeyframe/colorkeyframe.html ColorKeyFrame]&lt;br /&gt;
| Linear interpolation of color correction with key frames. &lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/colorkeyframe/colorkeyframe03.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorScreenMask]]&lt;br /&gt;
|ColorScreenMask is a special effects plugin for processing chroma key (i.e., a green screen or blue screen) backgrounds. It uses color thresholds rather than absolute values as the criteria for setting the alpha channel transparency. &lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[ColorScreenMask|Plugin]]&lt;br /&gt;
|Grandpa Oddball&lt;br /&gt;
|-&lt;br /&gt;
|[[ColourMask]]&lt;br /&gt;
|Creates colour masks.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[ColourMask|Plugin]]&lt;br /&gt;
|{{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
|[[CombMask]]&lt;br /&gt;
|A filter to create and process comb masks. These filters were written from scratch, but most of logic comes from tritical's [[TIVTC]] plugin.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[CombMask|Plugin]]&lt;br /&gt;
|{{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Fusion]]&lt;br /&gt;
|Pyramidal image processing for video, it uses image pyramids to blend clips together (more commonly used in the creation of HDR images and image stitching).&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[Fusion|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GraMaMa]]&lt;br /&gt;
| Gradient Mask Maker: Creates a mask (either a gradient or black/white) given a prescribed shape (such as circle, ellipse, line, square or rectangle).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[GraMaMa|Plugin]]&lt;br /&gt;
| {{author/E-Male}}, &lt;br /&gt;
{{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://umezawa.dyndns.info/archive/imck/imck-2.3.0-readme.html ImasMultiColorKeying]&lt;br /&gt;
|Chroma keying filter (Japanese)&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://umezawa.dyndns.info/archive/imck/ Plugin]&lt;br /&gt;
|Umezawa Takeshi&lt;br /&gt;
|-&lt;br /&gt;
|MaskCrop&lt;br /&gt;
|Non-clip plugin and function to speed up filtering with a mask.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.dropbox.com/s/8c4rxlwbs020ib1/MaskCrop0.1.2.7z?dl=1 Plugin] &amp;lt;!--[http://www.dropbox.com/s/98bcjuiy2ojkz75/MaskCrop0.1.1.7z?dl=1 Old v0.1.1 plugin] [http://www.dropbox.com/s/xcrlno31jqavqob/MaskCrop.7z?dl=1 Old v0.1.0 plugin]--&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.videohelp.com/threads/369143-ResizersPack-MasksPack-PlaygroundPack-SmoothContrast-Logo-mod-functions?s=7811fcf9c429ffb99f2e0a4b8043832d&amp;amp;p=2364052&amp;amp;viewfull=1#post2364052 MasksPack]&lt;br /&gt;
|This is a set of functions related to masks, so localized filtering will be able, giving you finer control on how and where to filter or protect certain zones.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://www.mediafire.com/download/mch99c0z5957u9z/MasksPack2.3.zip Script]&lt;br /&gt;
|{{Author/Dogway}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Median]]&lt;br /&gt;
|A filter plugin for AviSynth which generates a pixel-by-pixel median of several clips. This is particularly useful for filtering out noise and glitches from multiple VHS/SVHS/8mm/Hi8 tape captures, but can be used for other purposes also.&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[[Median|Plugin]]&lt;br /&gt;
|{{Author/ajk}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MTCombMask]]&lt;br /&gt;
|This filter produces a mask showing areas that are combed, it uses 3-point sampling to determine combing in a pixel. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], 8-32bit planar Y/YUV/YUVA&lt;br /&gt;
|[[MTCombMask|Plugin]]&lt;br /&gt;
|{{Author/Manao}}, [https://github.com/Asd-g Asd-g]&lt;br /&gt;
|-&lt;br /&gt;
|[[OverlayPlus]]&lt;br /&gt;
|Layering scrip similar to AviSynth's internal Overlay but includes more blending modes and some additional features.&lt;br /&gt;
|All 8-32bit colorspaces&lt;br /&gt;
|[[OverlayPlus|Script]]&lt;br /&gt;
|reel.deel &lt;br /&gt;
|-&lt;br /&gt;
| ParameterisedBlend&lt;br /&gt;
| ParameterisedBlend allows you to blend any number of frames within a clip, or blend any number of different clips together.  You can use it as an extended, gamma-aware replacement for Merge().&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [https://web.archive.org/web/20201020085042/https://sites.google.com/site/ourenthusiasmsasham/soft#TOC-ParameterisedBlendd Plugin]&lt;br /&gt;
| [https://web.archive.org/web/20201020085035/https://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=172388 Polygon]&lt;br /&gt;
|The very raw beginning of a plugin for drawing high quality polygons (mainly to be used as masks) in AviSynth.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=172388 Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[RedAverage]]&lt;br /&gt;
|Frame-by-frame averaging/merging of multiple clips. Includes a masked average, weighted average, and a merge filter. &lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[RedAverage|Plugin]]&lt;br /&gt;
|redfordxx&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/jojje/shapemask ShapeMask]&lt;br /&gt;
|A filter plugin for AviSynth that identifies bright areas such as projector screens at conferences and creates a mask out of them. The use case for which it was created is to deal with overly bright lectures, such as screen casts or talks where the speaker or producer hasn't followed presentation 101; Use light text on a dark background! See [http://forum.doom9.org/showthread.php?t=172308 discussion.]&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20150702103042/http://snarl.zapto.org/files/ShapeMask-1.0.zip Plugin]&lt;br /&gt;
|[http://github.com/jojje jojje]&lt;br /&gt;
|-&lt;br /&gt;
|[[TColorMask]]&lt;br /&gt;
|A simple color masking plugin for AviSynth.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]], 8/16bit planar YUV&lt;br /&gt;
|[[TColorMask|Plugin]]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[[TCombMask]]&lt;br /&gt;
|TCombMask is a simple filter that creates a comb map that can (could) be used by other filters.  It currently supports optional motion adaption, optional spatial adaption, optional luma &amp;lt;-&amp;gt; chroma linking, different thresholds for chroma and luma, and much more.&lt;br /&gt;
|[[YUY2]], [[YV12]]&lt;br /&gt;
|[[TCombMask|Plugin]]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
|[[TempLinearApproximate]]&lt;br /&gt;
|TempLinearApproximate takes several frames and for each pixel calculates linear approximation of its values through time, then returns its value in the middle (unless close to beginning or end of clip) of that line.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[[TempLinearApproximate|Plugin]]&lt;br /&gt;
|Mystery Keeper&lt;br /&gt;
|-&lt;br /&gt;
|[[TMaskCleaner]]&lt;br /&gt;
|A really simple mask cleaning plugin for AviSynth based on mt_hysteresis.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[TMaskCleaner|Plugin]]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TMM]]&lt;br /&gt;
| TMM builds a motion-mask for TDeint, which TDeint uses via its 'emask' parameter.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[TMM|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TMM2]]&lt;br /&gt;
| A rewrite of TMM&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[TMM2|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Unpremultiply]] &lt;br /&gt;
| This plugin convert the input RGBA clip from premultiplied alpha to straight matted alpha.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [[Unpremultiply|Plugin]]&lt;br /&gt;
| [http://web.archive.org/web/20160610124858/http://code.google.com/p/avisynth-unpremultiply/ Josh Sutinen]&lt;br /&gt;
|-&lt;br /&gt;
| [[uu_mt_blend]]&lt;br /&gt;
| ''Blend'' (''[[Overlay]], [[Layer]]'') two clips using [[MaskTools2|MaskTools]]. Wide selection of blend modes.&lt;br /&gt;
| [[YV12]],[[RGB24]],[[RGB32]]&lt;br /&gt;
| [[Media:UU_mt_blend.avs|Script]]&lt;br /&gt;
| rafriff42&lt;br /&gt;
|-&lt;br /&gt;
|[[Watermark2]]&lt;br /&gt;
|Creates a transparent deformation in the video akin to a watermark. The watermark is defined by a black and white image which may be a dynamic image. The intensity of the effect is controlled by several parameters.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[Watermark2|Plugin]]&lt;br /&gt;
|[http://sourceforge.net/u/phillvanleersum/profile/ DrPhill], {{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[YRangeMask]]&lt;br /&gt;
| AviSynth script to create a mask by specifying the range of the brightness. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[YRangeMask|Script]]&lt;br /&gt;
| Chikuzen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blurring ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-BlurDetect BlurDetect]&lt;br /&gt;
|Determines blurriness of frames.&lt;br /&gt;
|All 8-16 bit [[planar]] formats.&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-BlurDetect/releases Plugin]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.animemusicvideos.org/forum/viewtopic.php?t=101724 BlurMod/ApplyOnAngle]&lt;br /&gt;
|BlurMod() shrinks, blurs, then resizes; resulting in a very strong blur. ApplyonAngle() rotates, filters, then rotates back; making any filter appear as if applied on an angle.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|Script&lt;br /&gt;
|Phantasmagoriat&lt;br /&gt;
|-&lt;br /&gt;
| [[BucketMedian]]&lt;br /&gt;
| BucketMedian is an implementation of spatial median filter adapting bucket (counting) sort algorithm.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[BucketMedian|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FastBlur]]&lt;br /&gt;
| Fast approximate Gaussian blurs.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[FastBlur|Plugin]]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GBlur]]&lt;br /&gt;
| Gaussian blur.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[GBlur|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MedianBlur]]&lt;br /&gt;
| A plugin with 5 different types of median blur filters.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[MedianBlur|Plugin]]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MedianBlur2]]&lt;br /&gt;
| Implementation of [http://nomis80.org/ctmf.html constant time median filter] for AviSynth 2.6, similar to MedianBlur.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[MedianBlur2|Plugin]]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[[neo_TMedian]]&lt;br /&gt;
|Temporal denoising filter that replaces every pixel with the median of its temporal neighbourhood. &lt;br /&gt;
|8-16 and 32-bit planar&lt;br /&gt;
|[[neo_TMedian|Plugin]]&lt;br /&gt;
|[https://github.com/msg7086 MeteorRain]&lt;br /&gt;
|-&lt;br /&gt;
| [[VariableBlur]]&lt;br /&gt;
| VariableBlur is a Gaussian, binomial or average blur filter with a variable radius (variance).&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]],&lt;br /&gt;
| [[VariableBlur|Plugin]]&lt;br /&gt;
| {{Author/tsp}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VariableMedian]]&lt;br /&gt;
| A simple median filter. See [http://forum.doom9.org/showthread.php?t=83985 discussion]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091027134543if_/http://www.geocities.com/siwalters_uk/variablemedian.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Borders and Cropping ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[AutoCrop]]&lt;br /&gt;
|Automatically crops black borders ([http://en.wikipedia.org/wiki/Letterbox wikipedia:Letterbox], [http://en.wikipedia.org/wiki/Pillar_box_%28film%29 wikipedia:Pillar box], [http://en.wikipedia.org/wiki/Windowbox_%28film%29 wikipedia:Windowbox]) from a clip. Operates in preview mode (overlays the recommended cropping information) or cropping mode. Can also ensure width and height are multiples of specified numbers. See original [http://forum.doom9.org/showthread.php?t=37204 discussion] and updated AutoCrop [http://forum.doom9.org/showthread.php?t=87602 discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://len0x.leffe.dnsalias.com/autocrop12.zip Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20050404182221/http://www.videofringe.com/autocrop/ Glenn Bussell], len0x&lt;br /&gt;
|-&lt;br /&gt;
|[[BorderControl]]&lt;br /&gt;
| It's designed to allow you to manipulate the regions at the top, bottom and sides of a frame. Set a black border, set a border region to be faded out and you can &amp;quot;smear&amp;quot; the border to save having to crop and resize the whole frame for the sake of a few pixels. Each border (top,bottom.left and right) can be manipulated independently. See [http://forum.doom9.org/showthread.php?t=33479 discussion] and [http://avisynth.org.ru/docs/english/externalfilters/bordercontrol.htm documentation].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20140709005736/http://www.geocities.com/siwalters_uk/bordercontrol14.zip Plugin]&lt;br /&gt;
|{{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/slavanap/ssifSource CropDetect]&lt;br /&gt;
| Plugin to detect black bounding box in video and crop it easily. See [http://forum.doom9.org/showthread.php?p=1761842#post1761842 discussion]. Note, CropDetect small plugin merged within ssifSource project. Look for &amp;quot;CropDetect&amp;quot; function in Sub3D.dll&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[https://github.com/slavanap/ssifSource/releases plugin]&lt;br /&gt;
|[http://github.com/slavanap slavanap]&lt;br /&gt;
|-&lt;br /&gt;
|CropEven&lt;br /&gt;
|Script to crop evenly based on the dimensions given. It will crop the extra pixels off the bottom and right sides if the target resolution is odd. See [https://forum.doom9.org/showthread.php?t=172577 discussion].&lt;br /&gt;
|All colorspaces&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?p=1739589#post1739589 Script]&lt;br /&gt;
|Desbreko&lt;br /&gt;
|-&lt;br /&gt;
|[[EdgeFixer]]&lt;br /&gt;
|EdgeFixer repairs bright and dark line artifacts near the border of an image. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[[EdgeFixer]]&lt;br /&gt;
|[https://github.com/sekrit-twc sekrit-twc]&lt;br /&gt;
|-&lt;br /&gt;
|[[FillBorders]]&lt;br /&gt;
|This is a simple filter that fills the borders of a clip, without changing the clip's dimensions.&lt;br /&gt;
|All [[planar]] colorspaces &lt;br /&gt;
|[[FillBorders]]&lt;br /&gt;
|[http://github.com/dubhater dubhater] / Asd&lt;br /&gt;
|-&lt;br /&gt;
|Padding&lt;br /&gt;
|Duplicate edge pixels to the outside with [[PointResize]]. See [http://forum.doom9.org/showthread.php?t=165946 discussion.]&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1596804&amp;amp;postcount=5 Script]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|PadFFT&lt;br /&gt;
|A simple plugin to add borders evenly on each side. See [https://forum.doom9.org/showthread.php?p=1769503#post1769503 discussion]&lt;br /&gt;
|[[Y8]], [[YV12]]&lt;br /&gt;
|[https://web.archive.org/web/20221113033752if_/https://files.videohelp.com/u/223002/PaddFFT_dll_v0.02_20160604.zip Plugin]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|PadToMod&lt;br /&gt;
|Script to pad to a specified mod. See [https://forum.doom9.org/showthread.php?t=172577 discussion].&lt;br /&gt;
|All colorspaces&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?p=1746579#post1746579 Script]&lt;br /&gt;
|Desbreko&lt;br /&gt;
|-&lt;br /&gt;
|[[RoboCrop]]&lt;br /&gt;
| RoboCrop is an automatic cropping solution to crop black borders from video clips, loosely based on (but using no code from) AutoCrop by Glenn Bussell. See [http://forum.doom9.org/showthread.php?t=168053 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[RoboCrop|Plugin]]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Colourspace Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=183453 ColorMatrixTransform]&lt;br /&gt;
|AviSynth+ plugin for applying a color matrix transform to 32 bit floating point clips.&lt;br /&gt;
|[[RGBPS]]&lt;br /&gt;
|[https://github.com/TomArrow/ColorMatrixTransform/releases Plugin]&lt;br /&gt;
|[https://github.com/TomArrow TomArrow]&lt;br /&gt;
|-&lt;br /&gt;
| ConvertToYCgCo&lt;br /&gt;
| Converts to the YCgCo colorspace. See [http://forum.doom9.org/showthread.php?t=161736 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12748&amp;amp;d=1331769022 Plugin]&lt;br /&gt;
| xv&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=183990 LabConvert]&lt;br /&gt;
|AviSynth+ plugin to convert to LChab (derivative of LAB) color space and back for beautiful color manipulations. &lt;br /&gt;
|[[RGBPS]], [[YUV444PS]]&lt;br /&gt;
|[https://github.com/TomArrow/LabConvertAVS/releases/ Plugin]&lt;br /&gt;
|[https://github.com/TomArrow TomArrow]&lt;br /&gt;
|-&lt;br /&gt;
| ManualColorMatrix&lt;br /&gt;
| Can perform any matrix-based color conversion. See [http://forum.doom9.org/showthread.php?t=161777 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YV24]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12346&amp;amp;d=1309522614 Plugin]&lt;br /&gt;
| xv&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3_resize16]]&lt;br /&gt;
|An advanced script for high quality 16-bit image resizing and colorspace conversion. &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3_resize16 Script]&lt;br /&gt;
|mawen1250&lt;br /&gt;
|-&lt;br /&gt;
|[[PlanarTools]]&lt;br /&gt;
|This plugin is a set of filters that offers converting packed(interleaved) formats to planar formats and vice versa.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[YV16]]&lt;br /&gt;
|[[PlanarTools|Plugin]]&lt;br /&gt;
|{{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[[YV12To422]]&lt;br /&gt;
|YV12 to YV16/YUY2 converter for AviSynth 2.6.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[YV12To422|Plugin]]&lt;br /&gt;
|{{Author/Chikuzen}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AddGrainC]]&lt;br /&gt;
| Generates film like grain or other effects (like rain) by adding random noise to clip. Noise can be horizontally or vertically correlated causing streaking. Contains AddGrain &amp;amp; AddGrainC &lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]],&lt;br /&gt;
[[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[AddGrainC|Plugin]]&lt;br /&gt;
|{{Author/Tom Barry}}, {{Author/Foxyshadis}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Author/LaTo}}, {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| AddStaticGrainM&lt;br /&gt;
| This function adds static grain in dark areas based on a mask.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[AddStaticGrainM_source|Script]]&lt;br /&gt;
| [http://canihaziframe.wordpress.com/2011/02/23/addstaticgrainm/ Daiz]&lt;br /&gt;
|-&lt;br /&gt;
| [http://kvcd.net/sansgrip/avisynth/Blockbuster-readme.html AddNoise/Blockbuster]&lt;br /&gt;
| Makes encoder allocate more bits to darker areas, thus eliminating DCT blocks by decreasing the clips compressibility.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/blockbuster_5F25_src_20021229.zip Plugin]&lt;br /&gt;
| Ross Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=87295 AviShader]&lt;br /&gt;
| generic plugin that uses your 3D card's hardware to assist with rendering&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avishader_5F25_dll_20041228.zip Plugin]&lt;br /&gt;
| Antitorgo&lt;br /&gt;
|-&lt;br /&gt;
|[[AGM]]&lt;br /&gt;
|Uses an adaptive mask based on frame and pixels brightness to apply grain.&lt;br /&gt;
|All YUV [[planar]] colorspaces &lt;br /&gt;
|[[AGM|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=167217 Checker]&lt;br /&gt;
|Checkerboard combining filter.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[https://www.mediafire.com/?ewq8rc0aprzmk8r Plugin] /// [https://web.archive.org/web/20230206191644if_/https://files.videohelp.com/u/223002/checker.zip Archived]&lt;br /&gt;
|{{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=184052 ChickenDream]&lt;br /&gt;
|Realistic film-grain rendering for AviSynth+.&lt;br /&gt;
|[[Y32]], [[RGBPS]]&lt;br /&gt;
|[https://github.com/EleonoreMizo/chickendream/releases Plugin]&lt;br /&gt;
|{{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorLooks]]&lt;br /&gt;
| This plugin is based on Trev's VDub filter Colorlooks and Donald Graft's Colorize (well it works a bit similar). I also added some new stuff. The plugin contains the following filters: Technicolor, Colorize, Sepia and Posterize.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[ColorLooks|Plugin]]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [[crt_display]]&lt;br /&gt;
| CRT emulation with scanline and phosphor effects. crt_display emulates a CRT display using aperture grille (Trinitron) or Cromaclear technologies.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[crt_display|Script]]&lt;br /&gt;
|{{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EffectsMany]]&lt;br /&gt;
| Creates 34 types of special &amp;quot;animated&amp;quot; effects. Effects act on the input clip in the range of the frame numbers specified. The Audio is not affected.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[EffectsMany|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EffectsPlus]]&lt;br /&gt;
| '''AviSynth+ only'''. Creates 26 types of special &amp;quot;animated&amp;quot; effects. Effects act on the input clip in the range of the frame numbers specified. The Audio is not affected.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[HBD]] colorspaces&lt;br /&gt;
| [[EffectsPlus|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[f3kgrain]]&lt;br /&gt;
| Another 8/16-bit luma adaptive grain generator.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://web.archive.org/web/20131111114900/http://www.nmm-hd.org/upload/get~ElhZlazJbsQ/f3kgrain_v0.4.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[f3kgrainPlus]]&lt;br /&gt;
| Another 8/16-bit luma adaptive grain generator for AviSynth+.&lt;br /&gt;
| All 8-16 bit Y/YUV colorspaces, except YV411 &lt;br /&gt;
| [[f3kgrainPlus|Script]]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Fingerprint]]&lt;br /&gt;
|Video fingerprint filter. &lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[Fingerprint|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactory3]]&lt;br /&gt;
| Noise generator that tries to simulate the behavior of silver grain on film. See [http://forum.doom9.org/showthread.php?t=141303 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[GrainFactory3|Script]]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactory3mod]]&lt;br /&gt;
| Luma adaptive grain generating filter in 8-bit precision. Based on Didée's [[GrainFactory3]] script.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140722190952/http://www.nmm-hd.org/upload/get~kvNvGpuyxfc/GrainFactory3mod_v1.2.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactoryLite]]&lt;br /&gt;
| Luma adaptive grain generating filter with stacked 16-bit input/output support. Based on Didée's [[GrainFactory3]] script, processing in 16-bit precision, and some commonly unused parameters removed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140722185917/http://www.nmm-hd.org/upload/get~FaqsQaMom9s/GrainFactoryLite_v1.2.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/HollywoodSq/HollywoodSq.html HollywoodSQ]&lt;br /&gt;
| Creates popup album, akin to Hollywood squares TV show&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/HollywoodSq/HollywoodSq.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| KenBurnsEffect&lt;br /&gt;
| Given clip, zooms, pans &amp;amp; rotates clip. See [http://en.wikipedia.org/wiki/Ken_Burns_Effect wikipedia:Ken Burns Effect]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135776 Script]&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| [[Scanlines]]&lt;br /&gt;
| Add Scanlines (black horizontal bars) to a video. see [http://en.wikipedia.org/wiki/Scan_line wikipedia:Scan Line]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/scanlines_5F25_dll_20031103.zip Plugin]&lt;br /&gt;
| turulo&lt;br /&gt;
|-&lt;br /&gt;
|[[ShufflessS]]&lt;br /&gt;
|Shuffle spacial columns or rows (1D), or blocks(2D) of frames, or temporal shuffle (frame order), all shuffles Inversable, ie undoable.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[HBD]] formats in AviSynth+&lt;br /&gt;
|[[ShufflessS|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/sorayuki/TawawaFilter TawawaFilter]&lt;br /&gt;
|An AviSynth plugin to make video in blue color.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
|[https://github.com/sorayuki/TawawaFilter/releases/ Plugin]&lt;br /&gt;
|[https://github.com/sorayuki sorayuki]&lt;br /&gt;
|-&lt;br /&gt;
| [[TurnsTile]]&lt;br /&gt;
| Applies mosaic and/or palette effects to a clip.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[TurnsTile|Plugin]]&lt;br /&gt;
| {{Author/Robert Martens}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Field Order ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| PFR&lt;br /&gt;
| Tries to restore the original progressive field order of a movie (or any predominantly filmed material transferred to video) where the field order changes at scene changes in a seemingly random fashion! See [http://forum.doom9.org/showthread.php?t=49815 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/pfravs.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| ReverseFieldDominance&lt;br /&gt;
| This filter is intended to reverse the field dominance of [[PAL]] DV video. See [http://forum.doom9.org/showthread.php?t=46765 discussion.]&lt;br /&gt;
| [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/reversefielddominance.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frame Rate Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AlterFPS]]&lt;br /&gt;
| AlterFPS can be used to speed up or slow down a video by adding or removing fields. It works like the 3:2 pulldown of NTSC film material, except you can choose your new speed. It can also blend frames for progressive frame results, and blend fields like ConvertFPS.&lt;br /&gt;
| Any&lt;br /&gt;
| Script&lt;br /&gt;
| actionman133&lt;br /&gt;
|-&lt;br /&gt;
| [[convert60ito24p]]&lt;br /&gt;
| convert60ito24p converts a 60fps interlaced NTSC Video into a 24fps progressive Video using different blending techniques.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]]&lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
|[[FixFPS]]&lt;br /&gt;
|Fix the frames to a more consistent pattern with the help of Matroska Version 2 Timecodes.  Mostly useful for fixing weird framerate from using a third party program to capture (ex. .kkapture with Mupen).  Generally used with the plugin ExactDedup.  It should be noted that FixFPS would try it's best not to lose any frames from the source.  It does this by pushing frames to the next available spot, if possible, but it can cause side effects. See [http://tasvideos.org/forum/viewtopic.php?t=18914 discussion].&lt;br /&gt;
|Any&lt;br /&gt;
|[https://www.mediafire.com/?7bip52hu7v1pps2 Plugin]&lt;br /&gt;
|Aktan&lt;br /&gt;
|-&lt;br /&gt;
| [http://github.com/arkeet/fpsdown/blob/master/README.md FPSDown]&lt;br /&gt;
| This filter reduces the framerate of a video by 1/2, by blending odd and even frames together. However, it does this in a smart way such that in case of duplicate frames, it will do the smart thing to remove unnecessary blurring in the output video.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://github.com/arkeet/fpsdown/blob/master/README.md Plugin]&lt;br /&gt;
| [http://github.com/arkeet/ arkeet]&lt;br /&gt;
|-&lt;br /&gt;
| [[FrameRateConverter]]&lt;br /&gt;
| FrameRateConverter uses motion interpolation with fine artifact removal.&lt;br /&gt;
| [[YV24]], [[YV16]], [[YV12]], [[Y8]]&lt;br /&gt;
| [[FrameRateConverter|Plugin]]&lt;br /&gt;
| [https://github.com/mysteryx93 MysteryX]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.spirton.com/uploads/InterFrame/InterFrame2.html InterFrame]&lt;br /&gt;
| Frame rate conversion script. Interframe works very well at converting 24FPS to 60FPS; converts videos to higher frame rates like newer TVs do. Common names are frame doubling, smooth motion, among others. See [http://forum.doom9.org/showthread.php?t=160226 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1486831&amp;amp;postcount=1 Script]&lt;br /&gt;
|{{Author/SubJunk}}&lt;br /&gt;
|-&lt;br /&gt;
|[[JohnFPS]]&lt;br /&gt;
|Frame Rate Converter based on the example from the MVTools documentation with some modifications. This script is also known as &amp;quot;jm_fps&amp;quot;. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[[JohnFPS|Script]]&lt;br /&gt;
|johnmeyer, StainlessS &lt;br /&gt;
|-&lt;br /&gt;
| NTSC tools&lt;br /&gt;
| Automatic [[NTSC]] to [[PAL]] conversion with 24p, 30p, 60i detection. See [http://forum.doom9.org/showthread.php?t=114054 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/NTSC_tools.avsi Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
|[[RIFE]]&lt;br /&gt;
|Real-Time Intermediate Flow Estimation for Video Frame Interpolation.&lt;br /&gt;
|[[RGBPS]]&lt;br /&gt;
|[[RIFE|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SickJumps]]&lt;br /&gt;
| Speed ramping, aka time-remapping (smooth speed changes). Processes both video and audio.&lt;br /&gt;
| [[RGB]], [[YUV]]&lt;br /&gt;
| [[SickJumps|Plugin]]&lt;br /&gt;
| {{Author/Robert Martens}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SVPflow]]&lt;br /&gt;
| SVPflow provides fast and high quality GPU accelerated frame rate interpolation.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[SVPflow|Plugin]]&lt;br /&gt;
| [http://www.svp-team.com/wiki/Credits SVP Team]&lt;br /&gt;
|-&lt;br /&gt;
| [http://github.com/gnaggnoyil/tc2cfr tc2cfr]&lt;br /&gt;
| This plugin that can read a timecode file and convert a given video clip in to one with a constant framerate by adding duplicate frames. Note: only supports Matroska V1 timecodes.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://github.com/gnaggnoyil/tc2cfr/releases Plugin]&lt;br /&gt;
| [http://github.com/gnaggnoyil gnaggnoyil]&lt;br /&gt;
|-&lt;br /&gt;
| [[TimecodeFPS]]&lt;br /&gt;
| Converts clip from VFR to CFR.  Timing information from clip is discarded, and matroska v2 timecodes from the timecodes file are used instead.&lt;br /&gt;
| Any&lt;br /&gt;
| [[TimecodeFPS|C-Plugin]]&lt;br /&gt;
| natt&lt;br /&gt;
|-&lt;br /&gt;
| [[VFRtoCFR]]&lt;br /&gt;
| Converts a variable frame rate (VFR) video to a constant frame rate (CFR) video with the help of Matroska Version 2 Timecodes.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[VFRtoCFR|Plugin]]&lt;br /&gt;
| Aktan&lt;br /&gt;
|-&lt;br /&gt;
| [[VfrToCfr]]&lt;br /&gt;
| This plugin converts variable frame rate clips to constant frame rate by introducing null frames.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[VfrToCfr|Plugin]]&lt;br /&gt;
| joyje&lt;br /&gt;
|-&lt;br /&gt;
|[[YFRC]]&lt;br /&gt;
| Yushko Frame Rate Converter - doubles the frame rate with strong artifact detection and scene change detection.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://avisynth.nl/images/YFRC-01dd-10mm-2015yyyy.avsi Script]&lt;br /&gt;
| Oleg Yushko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frame Replacement/Range Processing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[ApplyEvery]]&lt;br /&gt;
|A collection of AviSynth functions that operate at regular intervals in a clip. &lt;br /&gt;
|&lt;br /&gt;
|[[ApplyEvery|Plugin]]&lt;br /&gt;
|{{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.avisynth.nl/users/fizick/badframes/badframes.html BadFrames]&lt;br /&gt;
|Replaces given bad frames by neighbors or blend (interpolation). Useful for frames with very large defects. &lt;br /&gt;
|&lt;br /&gt;
|[http://www.avisynth.nl/users/fizick/badframes/badframes20.zip Plugin]&lt;br /&gt;
|{{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[[ClipClop]]&lt;br /&gt;
|Clipclop is a simple plugin to replace ranges in a source clip with the same range, from a replacement clip. Supports up to 255 replacement clips, with unlimited number of replacements into output clip.&lt;br /&gt;
|&lt;br /&gt;
|[[ClipClop|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[FrameRepeat]]&lt;br /&gt;
|FrameRepeat() is a simple plugin to select frames to repeat. Requires AviSynth 2.6.&lt;br /&gt;
|&lt;br /&gt;
|[[FrameRepeat|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[FrameSel|FrameSel/FrameRep]]&lt;br /&gt;
|FrameSel() is a simple plugin to select individual frames from a clip. Can select frames numbers by direct arguments to filter, or in a string, or in a command file.&lt;br /&gt;
|&lt;br /&gt;
|[[FrameSel|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=164766 MatchFrames/LocateFrames]&lt;br /&gt;
|MatchFrames, intended for matched frames extraction,LocateFrames, intended to be usable by other scripts to identify matches.&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Script]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[Prune]]&lt;br /&gt;
|Prune is a simple plugin to trim() multiple source clips and splice the results into a new clip. Supports up to 256 source clips, with unlimited number of trims/splices into output clip. Prune can fade Audio (to reduce clicks between splices) for supported audio formats. The plugin will do [[AlignedSplice]] only.&lt;br /&gt;
|&lt;br /&gt;
|[[Prune|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[RemapFrames]]&lt;br /&gt;
|A collection of functions to rearrange frames between clips. Remaps the frame indices in a clip or from a second clip as specified by an input text file or by an input string. Efficient alternatives to long chains of &amp;lt;tt&amp;gt;FreezeFrame, DeleteFrame, or ApplyRange&amp;lt;/tt&amp;gt;. &lt;br /&gt;
|&lt;br /&gt;
|[[RemapFrames|Plugin]]&lt;br /&gt;
|{{Author/stickboy}}, {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/TomArrow/SelectRangeEveryReversing SelectRangeEveryReversing]&lt;br /&gt;
|Modified version of the internal [[SelectRangeEvery]] filter, except every second range is reversed in direction. See [https://forum.doom9.org/showthread.php?t=183239 discussion] for more information.&lt;br /&gt;
|&lt;br /&gt;
|[https://github.com/TomArrow/SelectRangeEveryReversing/releases Plugin]&lt;br /&gt;
|[https://github.com/TomArrow TomArrow]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Levels and Chroma ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AutoAdjust]]&lt;br /&gt;
| A high quality automatic adjustement filter. It calculates statistics of clip, averages them temporally to stabilize data and uses them to adjust luminance gain &amp;amp; color balance.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[AutoAdjust|Plugin]]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=173208#post1757661 AutoContrast]&lt;br /&gt;
|Auto contrast adjustment.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=173208#post1757661 Script]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Autolevels]]&lt;br /&gt;
| Improvement of the [[ColorYUV]] filter's autogain feature. It stretches the luma histogram to use the entire specified range, averaging the amount of &amp;quot;gain&amp;quot; over consecutive frames to better handle flashes and to avoid flickering.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[Autolevels|Plugin]]&lt;br /&gt;
| {{Author/frustum}} &amp;amp; Theodor Anschütz &amp;amp; StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[AVSCube]]&lt;br /&gt;
|[[AviSynth+]] plugin to load and apply .cube [http://en.wikipedia.org/wiki/3D_lookup_table 3D LUTs].&lt;br /&gt;
|[[Avisynthplus_color_formats|RGBP16]]&lt;br /&gt;
|[[AVSCube|Plugin]]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=168062 AWB]&lt;br /&gt;
| Automatic white balance for real world footage, similar to the known function in digital cameras.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=168062 Script]&lt;br /&gt;
| martin53&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|Restore dark and bright zones.&lt;br /&gt;
|8-16 planar Y/YUV&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=182411 Script]&lt;br /&gt;
|Arx1meD&lt;br /&gt;
|-&lt;br /&gt;
| ChangeColour&lt;br /&gt;
| Simple plugin to replace one specified color to another, see [https://forum.doom9.org/showthread.php?t=88727 discussion] for additional information.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [https://web.archive.org/web/20220322043620/https://files.videohelp.com/u/223002/changecolour01.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ChanMix]]&lt;br /&gt;
| Creates a grayscale image from an RGB24 source, it has 3 parameters to specify how much of each color-channel is used.&lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [[ChanMix|Plugin]]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
| [[ChannelMixer]]&lt;br /&gt;
| Very similar to the ChannelMixer function found in Photoshop. 9 Adjustments are possible, 3 for each color channel.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[ChannelMixer|Plugin]]&lt;br /&gt;
| Gustaf Ullberg&lt;br /&gt;
|-&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=173364 ChromaJig]&lt;br /&gt;
| Automatic Colorization.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1775733#post1775733 Script]&lt;br /&gt;
| MWilson&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorBalance]]&lt;br /&gt;
| Same tool that is found in Gimp &amp;amp; Cinepaint.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[ColorBalance|Plugin]]&lt;br /&gt;
| Gavino &amp;amp; mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorLooks]]&lt;br /&gt;
| The plugin contains the following filters: Technicolor, Colorize, Sepia and Posterize.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[[ColorLooks|Plugin]]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorYUV2]]&lt;br /&gt;
|YUV color adjustment plugin with a graffer. &lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[ColorYUV2|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ColourLike]]&lt;br /&gt;
| Makes a clip look like a 'reference' clip by adjusting each colour mask.&lt;br /&gt;
| [[RGB32]], [[YV12]]&lt;br /&gt;
| [[ColourLike|Plugin]]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ColourWarp]]&lt;br /&gt;
| Smooth remapping of UV colour values using control points for colour correction.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[ColourWarp|Plugin]]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DGCube]]&lt;br /&gt;
|[[AviSynth+]] plugin to load and apply .cube [http://en.wikipedia.org/wiki/3D_lookup_table 3D LUTs]. (GPU accelerated - CUDA)&lt;br /&gt;
|[[Avisynthplus_color_formats|RGBP16]]&lt;br /&gt;
|[[DGCube|Plugin]]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DGHDRtoSDR]]&lt;br /&gt;
|[[AviSynth+]] plugin to convert UHD BluRay HDR10 to SDR. (GPU accelerated - CUDA)&lt;br /&gt;
|[[Avisynthplus_color_formats|YUV420P16]]&lt;br /&gt;
|[[DGHDRtoSDR|Plugin]]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DGPQtoHLG]]&lt;br /&gt;
|[[AviSynth+]] plugin to convert UHD BluRay HDR10 PQ to HDR10 HLG. GPU accelerated - CUDA) &lt;br /&gt;
|[[Avisynthplus_color_formats|YUV420P16]]&lt;br /&gt;
|[[DGPQtoHLG|Plugin]]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[[DGTonemap]]&lt;br /&gt;
|[[AviSynth+]] plugin for basic Reinhard tonemapping for HDR-&amp;gt;SDR.&lt;br /&gt;
|[[Avisynthplus_color_formats|RGBPS]]&lt;br /&gt;
|[[DGTonemap|Plugin]]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/erazortt/DoViBaker DoViBaker]&lt;br /&gt;
|This plugin reads the Base Layer, Enhancement Layer and RPU data from a profile 7 DolbyVision stream to create a clip with the DolbyVision data baked in. Additionally it provides static and dynamic tonemapping of HDR PQ sources to lower dynamic range targets. Conversions from PQ to HLG and SDR (BT.2020 and BT.709) are also supported.&lt;br /&gt;
|[[Avisynthplus_color_formats|YUV420P10-16, YUV444P10-16]]&lt;br /&gt;
|[https://github.com/erazortt/DoViBaker/releases Plugin]&lt;br /&gt;
|[https://github.com/erazortt erazortt]&lt;br /&gt;
|-&lt;br /&gt;
| [[ExpLabo]]&lt;br /&gt;
| ExpLabo is a multi-filters plugin, focused on the non-linear transformation of image color space.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[ExpLabo|Plugin]]&lt;br /&gt;
| brabbudu&lt;br /&gt;
|-&lt;br /&gt;
|[https://web.archive.org/web/20180916224719/http://mpierce.pie2k.com/pages/211.php Exposure]&lt;br /&gt;
|Exposure function for AviSynth.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
|[https://web.archive.org/web/20171023011558if_/http://mpierce.pie2k.com/downloads/exposure.zip Plugin]&lt;br /&gt;
|Matt Pierce&lt;br /&gt;
|-&lt;br /&gt;
| [[FlimsYlevels]]&lt;br /&gt;
| Luma adjustment function to give a more &amp;quot;film-ish&amp;quot; look. (Based on {{Author/Didée}}'s [[Ylevels]]).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| FlimsyFeet &lt;br /&gt;
|-&lt;br /&gt;
|[[GamMac]]&lt;br /&gt;
|Useful to correct color cast on old 8mm films.&lt;br /&gt;
|[[RGB32]], [[RGB24]]&lt;br /&gt;
|[[GamMac|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
|[[GamMatch]]&lt;br /&gt;
|Gamma Matcher; useful to correct bad color clip where there is a better color source of perhaps lower rez available.&lt;br /&gt;
|[[RGB32]], [[RGB24]]&lt;br /&gt;
|[[GamMatch|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GiCocu]]&lt;br /&gt;
| Use GIMP/Photoshop curve files.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[GiCocu|Plugin]]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/magiblot/gradation Gradation]&lt;br /&gt;
|Gradation Curves filter for VirtualDub and AviSynth+ &lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[https://github.com/magiblot/gradation/releases Plugin]&lt;br /&gt;
|[https://github.com/magiblot magiblot]&lt;br /&gt;
|-&lt;br /&gt;
|[[GradationCurve]]&lt;br /&gt;
|[[AviSynth+]] plugin that loads Photoshop ACV and GIMP crv curve files. Also can compute the gradation curve through given anchor points. Like what Photoshop and Gimp do in the Curves setting.&lt;br /&gt;
|[[Avisynthplus_color_formats|PlanarRGB, PlanarYUV]]&lt;br /&gt;
|[[GradationCurve|Plugin+Script]]&lt;br /&gt;
|ErazorTT&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=167027#post1629321 Gray_Balance]&lt;br /&gt;
|A gray balance script, which is based on Black/White/Gray balance picker.&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=167027#post1629321 Script]&lt;br /&gt;
|Kisa_AG&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-grayworld grayworld]&lt;br /&gt;
|Port of [https://ffmpeg.org/ffmpeg-filters.html#grayworld FFmpeg's grayworld] filter to AviSynth+. See [https://forum.doom9.org/showthread.php?t=183750 discussion]&lt;br /&gt;
|[[RGBPS]], [[RGBAPS]]&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-grayworld/releases Plugin]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HDRAGC]]&lt;br /&gt;
| High Dynamic Range Automatic Gain Control - Increase dynamic range of video clips (enhance shadows). It's &amp;quot;simply&amp;quot; gaining (brightening) dark areas of image without causing blow of highlights. Amount of gain is calculated automatically, but can be influenced by parameters.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[HDRAGC|Plugin]]&lt;br /&gt;
| {{Author/paviko}}&lt;br /&gt;
|-&lt;br /&gt;
|[[HDRTools]]&lt;br /&gt;
|HDR color conversion plugin for AviSynth+.&lt;br /&gt;
|[[RGB32]], [[RGB64]], Planar YUV/RGB (8-16 and 32bit)&lt;br /&gt;
|[[HDRTools|Plugin]]&lt;br /&gt;
|[https://github.com/jpsdr jpsdr]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=161986 HighlightLimiter]&lt;br /&gt;
| &amp;quot;Darkening highlight&amp;quot;. Works well on over exposed clips. It can also be combined with ContrastMask to create HDR effect&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1522100#post1522100 Script]&lt;br /&gt;
| javlak&lt;br /&gt;
|-&lt;br /&gt;
| [[HistogramAdjust]]&lt;br /&gt;
| Adjusts the histogram of a frame by either equalizing it or by matching with histogram of another image, or with given histogram table of values.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[HistogramAdjust|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Histograms in RGB &amp;amp; CMY]]&lt;br /&gt;
| Similar to Histogram(&amp;quot;levels&amp;quot;) but for RGB and CMY instead of YUV. It also includes a RGB parade color scope.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[Histograms in RGB &amp;amp; CMY|Script]]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/magiblot/HSLTint HSLTint]&lt;br /&gt;
|An [[AviSynth+]] filter for creating monochromatic tints with user-defined hue and saturation.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]] - all bit-depths&lt;br /&gt;
|[https://github.com/magiblot/HSLTint/blob/master/HSLTint.avsi Script]&lt;br /&gt;
|magiblot&lt;br /&gt;
|-&lt;br /&gt;
|[[HSVAdjust]]&lt;br /&gt;
|HSVAdjust/HSLAdjust/HSIAdjust let's you rotate hues, control the strength of color (saturation), or modify the brightness of a clip. The type of brightness depends on the filter. It's value for HSVAdjust, lightness for HSLAdjust or intensity for HSIAdjust.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[[HSVAdjust|Plugin]]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Hue]]&lt;br /&gt;
|This plugin is a port of Donald Graft's VirtualDub [http://rationalqm.us/hue.html Hue] filter.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[[Hue|Plugin]]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[[avslibplacebo#Tonemap|libplacebo_Tonemap]]&lt;br /&gt;
|Dynamic HDR tone mapping, includes peak and scene-change detection, chroma-preserving (luma-only) tone mapping, highlight desaturation, dynamic exposure control and a variety of industry-standard EETFs including BT.2390. &lt;br /&gt;
|16-bit planar RGB or YUV444P16 &lt;br /&gt;
|[[avslibplacebo|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176091 LinearTransformation]&lt;br /&gt;
|This script performs Linear Transformations based on a matrix conversion. Matrices are made by Francesco Bucciantini (FranceBB).&lt;br /&gt;
|[[YV12]], [[YV16]], [[YV24]], [[RGB24]], [[RGB32]], [[RGB32]], [[RGB48]],[[RGBPS]]&lt;br /&gt;
|[https://github.com/FranceBB/LinearTransformation Linear Transformation]&lt;br /&gt;
|[https://forum.doom9.org/member.php?u=219051 FranceBB]&lt;br /&gt;
|-&lt;br /&gt;
|[[MatchHistogram]]&lt;br /&gt;
| Tries to modify the histogram of the input clip to match that of a reference clip. Should be used for analysis only, not for production.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[MatchHistogram|Plugin]]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [[OutRange]]&lt;br /&gt;
| A simple function to scan the whole video and output a log file, in which out-of-tv-range frames are logged.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[OutRange|Script]]&lt;br /&gt;
| 06_taro&lt;br /&gt;
|-&lt;br /&gt;
|[[RGBAdapt]]&lt;br /&gt;
|Another RGB color correction plugin, it also also includes a graffer.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[[RGBAdapt|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
|[[RgbAmplifier]]&lt;br /&gt;
|An AviSynth forensic plugin to amplify color shifts.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[[RgbAmplifier|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [https://forum.doom9.org/showthread.php?t=181857 SafeColorLimiter]&lt;br /&gt;
| Automatic Clipping to get a broadcast safe output in Limited TV Range.&lt;br /&gt;
| [[Y8]], [[Y10]], [[Y12]], [[Y14]], [[Y16]], [[Y32]], [[YV12]], [[YV411]], [[YUY2]], [[YV16]], [[YV24]]&lt;br /&gt;
| [https://github.com/FranceBB/SafeColorLimiter Script]&lt;br /&gt;
| [http://forum.doom9.org/member.php?u=219051 FranceBB]&lt;br /&gt;
|-&lt;br /&gt;
|[[SelectiveColour]]&lt;br /&gt;
|AviSynth implementation of Photoshop's selective colour adjustment. &lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[SelectiveColour|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SGradation]]&lt;br /&gt;
| SGradation is much like a gamma function, but '2nd order'.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| Script&lt;br /&gt;
| martin53&lt;br /&gt;
|-&lt;br /&gt;
|[[ShowChannels]]&lt;br /&gt;
|Simple plugin whose only function is to display the average Y,U and V values for a YUV frame or R,G, and B for an RGB frame. Also shows accumulated average for all frames visited so far.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[ShowChannels|Plugin]]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowOverRange]]&lt;br /&gt;
| Shows illegal &amp;quot;TV range&amp;quot; by painting pixels blue for anything less than 16 and red for anything greater than 235.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[ShowOverRange|Plugin]]&lt;br /&gt;
| {{Author/SAPikachu}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SmoothAdjust]]&lt;br /&gt;
| SmoothAdjust is a set of 5 plugins to make YUV adjustments. These 5 plugins have a smoothing &amp;amp; dithering algorithm to avoid banding issue. SmoothAdjust is [[SmoothLevels|SmoothLevels']] successor. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[SmoothAdjust|Plugin]]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Tint]]&lt;br /&gt;
| Tints the image toward a specified colour.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| actionman133 &lt;br /&gt;
|-&lt;br /&gt;
| [[TweakColor]]&lt;br /&gt;
| Target specific hue and saturation ranges for hue and saturation adjustments.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[TweakColor|Plugin]]&lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VideoScope]]&lt;br /&gt;
| Similar to Histogram(&amp;quot;classic&amp;quot;) but with additional features, it shows waveform monitors and a vectorscope. &lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [[VideoScope|Plugin]]&lt;br /&gt;
| {{Author/Randy French}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1832763#post1832763 VideoTek]&lt;br /&gt;
| VideoTek is a Tektronix-like waveform monitor for AviSynth.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [https://github.com/FranceBB/VideoTek/blob/master/VideoTek.avsi Script]&lt;br /&gt;
| [http://forum.doom9.org/member.php?u=219051 FranceBB]&lt;br /&gt;
|-&lt;br /&gt;
| [[WhiteBalance]]&lt;br /&gt;
| Correct the white balance of a clip with a large degree of control and accuracy over other methods of correcting white balance.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[WhiteBalance|Plugin]]&lt;br /&gt;
| SomeJoe&lt;br /&gt;
|-&lt;br /&gt;
| [[Ylevels]]&lt;br /&gt;
| A simple replacement for Avisynth's internal [[Levels]] command, with a few neat differences.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Line Darkening ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| FastLineDarkenMOD&lt;br /&gt;
| Line darkening script. See original [http://forum.doom9.org/showthread.php?t=82125 discussion.] Updated [http://forum.doom9.org/showthread.php?p=1060081#post1060081 script.] Additional [http://forum.doom9.org/showthread.php?p=1023638#post1023638 information.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1060081#post1060081 Script]&lt;br /&gt;
| Vectrangle / {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Hysteria]]&lt;br /&gt;
|Hysteria, a line darkening script by Scintilla.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://pastebin.com/raw/fvDdiV6m Script]&lt;br /&gt;
|Scintilla&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=993939&amp;amp;postcount=2 LineDarkenToon]&lt;br /&gt;
| LineDarkenToon use the idea of mf_toon (0.5) for linedarken. I wanted a really small fast code like FastLineDarken but with similar output like mf_toon and this is the result.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=993939&amp;amp;postcount=2 Script]&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[mfToon]]&lt;br /&gt;
| mfToon darkens cartoon edges. In default operation, it performs line darkening, Xsharpening, and warp sharpening. &lt;br /&gt;
See [http://forum.doom9.org/showthread.php?t=53364 discussion.] Additional information [http://forum.doom9.org/showthread.php?t=125128 here] and [http://forum.doom9.org/showthread.php?t=52066 here]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090212071718/http://mf.creations.nl/avs/functions/mfToon-v0.52.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
|[[proToon]]&lt;br /&gt;
|Line darkening script, used to be known as vmToon and before that mfToon.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://pastebin.com/raw/Aw9En26L Script]&lt;br /&gt;
|TheProfileth&lt;br /&gt;
|-&lt;br /&gt;
| [[SuperToon]]&lt;br /&gt;
| An attempt to optimize/speed up the previous versions of mfToon, vmToon, etc. See [http://forum.doom9.org/showthread.php?t=163987 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=163987 Script]&lt;br /&gt;
| Hadien&lt;br /&gt;
|-&lt;br /&gt;
| [[Toon]]&lt;br /&gt;
| Simple and fast line darkener. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropbox.com/s/guk5plphkthdy2f/Toon-v1.1.7z Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ToonLite]]&lt;br /&gt;
| It's the same as [[Toon]], just without the warpsharp processing..&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090218093135/http://mf.creations.nl/avs/filters/Toon-v1.0-lite.dll Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[vmToon]]&lt;br /&gt;
| The successor to mfToon. Darkens lines, thins lines, and does supersampled sharpening all in one, but slow. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Vmtoon-v0.74.avsi Script]&lt;br /&gt;
| Vectrangle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resizers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=181665 AiUpscale]&lt;br /&gt;
|An AviSynth+ implementation of some Super-Resolution Convolutional Neural Networks.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[Avisynthplus_color_formats|plus HBD formats in AVS+]]&lt;br /&gt;
|[https://github.com/Alexkral/AviSynthAiUpscale Script]&lt;br /&gt;
|[https://github.com/Alexkral Alexkral]&lt;br /&gt;
|-&lt;br /&gt;
|[[Anime4KCPP]]&lt;br /&gt;
|Anime4K is a simple high-quality anime upscale algorithm with GPU acceleration support. [[AviSynth+]] x64 only.&lt;br /&gt;
|[[RGB24]], [[YV24]], [[YV16]], [[YV12]]&lt;br /&gt;
|[[Anime4KCPP|Plugin]]&lt;br /&gt;
|TianZerL&lt;br /&gt;
|-&lt;br /&gt;
| [[avsresize]]&lt;br /&gt;
| [http://github.com/sekrit-twc/zimg z.lib] resizers for [[AviSynth+]]. avsresize provides resizing, colorspace and bit depth conversation. &lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], [[Avisynthplus_color_formats|plus HBD formats in AVS+]]&lt;br /&gt;
| [[avsresize|Plugin]]&lt;br /&gt;
| [http://github.com/sekrit-twc sekrit-twc]&lt;br /&gt;
|-&lt;br /&gt;
| [[AreaResize]]&lt;br /&gt;
| An area-average resizer plugin; only use to downscale.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[AreaResize|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}, Aktanusa&lt;br /&gt;
|-&lt;br /&gt;
|[https://gist.github.com/kgrabs/b042214d715176ac9ab563c188995457 Desample]&lt;br /&gt;
|Desampling functions for AviSynth+, replaces DebilinearM and lineart_rpow2. Also includes DeCrossConversionMT which is a replacement for ccc, ccc_720.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[Avisynthplus_color_formats|plus HBD formats in AVS+]]&lt;br /&gt;
|[https://gist.github.com/kgrabs/b042214d715176ac9ab563c188995457 Script]&lt;br /&gt;
|[https://github.com/kgrabs kgrabs]&lt;br /&gt;
|-&lt;br /&gt;
|[[Descale]]&lt;br /&gt;
|AviSynth+ filter to undo upscaling.&lt;br /&gt;
|All planar Y/YUV/RGB color formats&lt;br /&gt;
|[[Descale|Plugin]]&lt;br /&gt;
|[https://github.com/Frechdachs Frechdachs]&lt;br /&gt;
|-&lt;br /&gt;
|[[DPID]]&lt;br /&gt;
|DPID is an algorithm that preserves visually important details in downscaled images and is especially suited for large downscaling factors. &lt;br /&gt;
|All [[planar]] colorspaces&lt;br /&gt;
|[[DPID|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1738351#post1738351 edi_rpow2]&lt;br /&gt;
|An improved rpow2 function for nnedi3, nnedi3ocl, eedi3, and eedi2. Requires [http://www.mediafire.com/download/lcbtb7uta4ta5pc/ResizeX_v1.0.avsi ResizeX]&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://www.mediafire.com/view/pcmkxaauku375xd/edi_rpow2_v1.0.avsi Script]&lt;br /&gt;
|Desbreko&lt;br /&gt;
|-&lt;br /&gt;
|[[FCBI]]&lt;br /&gt;
|Fast Curvature Based Interpolation.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], 8-16bit planar clips&lt;br /&gt;
|[[FCBI|Plugin]]&lt;br /&gt;
|{{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[fmtconv]]&lt;br /&gt;
| fmtconv is a format-conversion plug-in, it provides resizing, colorspace and bitdepth conversation. &lt;br /&gt;
| All [[planar]] 8 to 32-bit colorspaces&lt;br /&gt;
| [[fmtconv|Plugin]]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[JincResize]]&lt;br /&gt;
| Jinc (EWA Lanczos) Resampler Plugin for AviSynth/AviSynth+.&lt;br /&gt;
| All 8-32bit [[planar]] colorspaces&lt;br /&gt;
| [[JincResize|Plugin]]&lt;br /&gt;
| innocenat&lt;br /&gt;
|-&lt;br /&gt;
|[[avslibplacebo#Resample|libplacebo_Resample]]&lt;br /&gt;
|High-quality, optimized upscaling and downscaling including support for polar filters (&amp;quot;Jinc&amp;quot;), anti-aliasing, anti-ringing and gamma correct scaling&lt;br /&gt;
|8, 16 or 32-bit planar RGB/YUV formats. &lt;br /&gt;
|[[avslibplacebo|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3/nnedi3_rpow2|nnedi3_rpow2]]&lt;br /&gt;
| Enlarge images by the powers of 2 using Neural Network New-Edge Directed Interpolation ; nnedi3_rpow2 is a function included in [[nnedi3]].&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[[nnedi3|Plugin]]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3ocl/nnedi3x_rpow2|nnedi3x_rpow2]]&lt;br /&gt;
| Enlarge images by the powers of 2 using Neural Network New-Edge Directed Interpolation ; nnedi3x_rpow2 is a script function included in [[nnedi3ocl]].&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[nnedi3ocl|Script and Plugin]]&lt;br /&gt;
|SeT&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3_resize16]]&lt;br /&gt;
|An advanced script for high quality image resizing and colorspace conversion. &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3_resize16 Script]&lt;br /&gt;
|mawen1250 &lt;br /&gt;
|-&lt;br /&gt;
| [[PointSize]]&lt;br /&gt;
| A set of [http://en.wikipedia.org/wiki/Image_scaling pixel art resizers]; Includes Scale2x/3x, LQ2x/3x/4x, HQ2x/3x/4x, xBRZ (2x to 6x).&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [[PointSize|Plugin]]&lt;br /&gt;
| `Orum&lt;br /&gt;
|-&lt;br /&gt;
| [[ResampleHQ]]&lt;br /&gt;
| ResampleHQ provides gamma-aware resizing and colorspace conversion.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [[ResampleHQ|Plugin]]&lt;br /&gt;
| Cory Nelson&lt;br /&gt;
|-&lt;br /&gt;
|[[ResampleMT]]&lt;br /&gt;
|Internaly multi-threaded resampling functions, also includes desampling functions (DeBilinear, DeBicubic,...).&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[Avisynthplus_color_formats|plus HBD formats in AVS+]]&lt;br /&gt;
|[[ResampleMT|Plugin]]&lt;br /&gt;
|[http://github.com/jpsdr jpsdr]&lt;br /&gt;
|-&lt;br /&gt;
|[[Resize8]]&lt;br /&gt;
|&amp;lt;tt&amp;gt;Resize8()&amp;lt;/tt&amp;gt; works just like AviSynth's internal resizers but with some extra features. It had correct chroma placement, optional adaptive anti-ringing algorithm and few other features.  &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://web.archive.org/web/20150911013350/http://www.nmm-hd.org/upload/get~8y1IjaaqvoI/Resize8_v1.2.avsi Script]&lt;br /&gt;
|mawen1250 &lt;br /&gt;
|-&lt;br /&gt;
|ResizeX&lt;br /&gt;
|ResizeX is a wrapper function for AviSynth's internal resizers and Dither_resize16 that corrects for the chroma shift caused by the internal resizers when they're used on horizontally subsampled chroma with MPEG2 placement.&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://www.mediafire.com/download/lcbtb7uta4ta5pc/ResizeX_v1.0.avsi Script]&lt;br /&gt;
|Desbreko&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135735 Seamer]&lt;br /&gt;
| Seam Carving/Liquid Rescale for Content-Aware Image Resizing. See [http://en.wikipedia.org/wiki/Seam_carving wikipedia:Seam Carving]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/Seamer/Seamer.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|SincResize&lt;br /&gt;
|SincResize is an experimental plugin that uses DCT to perform resizing. See [http://forum.doom9.org/showthread.php?p=953002#post953002 discussion], read on for more information.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://cafxx.strayorange.com/files/SincResize4.7z Plugin]&lt;br /&gt;
|[http://cafxx.strayorange.com/ CAFxX]&lt;br /&gt;
|-&lt;br /&gt;
| [[SimpleResize]]&lt;br /&gt;
| Resizing plugin with 4 filters: SimpleResize, WarpResize, InterlacedResize and InterlacedWarpedResize.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[SimpleResize|Plugin]]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147117 SplineResize]&lt;br /&gt;
| SplineResize contains two kinds of spline based resizers: The first ones are the (cubic) spline based resizers from Panorama tools: Spline100Resize (using 10 sample points) and Spline144Resize (using 12 sample points) are examples. Other ones are available in AviSynth itself. The second ones are natural cubic splines that use the kernel itself as a spline.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.wilbertdijkhof.nl/SplineResize_v02.zip Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=175945 Unwiden/Widen]&lt;br /&gt;
|Resize filters to unwiden/widen, see discussion. &lt;br /&gt;
|[[RGB32]], [[YV24]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=175945 Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[w2xncnnvk]]&lt;br /&gt;
|[https://en.wikipedia.org/wiki/Waifu2x waifu2x] implemented in Vulkan.&lt;br /&gt;
|[[RGBPS]]&lt;br /&gt;
|[[w2xncnnvk|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/sunnyone/Waifu2xAvisynth waifu2x]&lt;br /&gt;
|Single-Image Super-Resolution for anime/fan-art using Deep Convolutional Neural Networks.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://github.com/sunnyone/Waifu2xAvisynth/releases Plugin]&lt;br /&gt;
|[http://github.com/sunnyone sunnyone]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1111789#post1111789 ZoomBox]&lt;br /&gt;
| Replacement for ResizeKAR. Resizes clip Keeping the Aspect Ratio. Can set Source/Target PAR/DAR, option to zoom in/out in order to hide/show black borders.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sharpeners ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aSharp]] &lt;br /&gt;
| Simple unsharp mask filter with optional adaptive sharpening.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[aSharp|Plugin]]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
|[[AVSShock]]&lt;br /&gt;
|This Shock Filter sharpens edges of images by applying erosions or dilations depending on the sign of the Laplacian (or the so called Haralick-Canny edge detector). &lt;br /&gt;
|[[YUY2]], [[YV12]]&lt;br /&gt;
|[[AVSShock|C-Plugin]]&lt;br /&gt;
|AMSS0815&lt;br /&gt;
|-&lt;br /&gt;
| [[aWarpSharp2]]&lt;br /&gt;
| A modern rewrite of aWarpSharp with several bugfixes and optimizations.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], all planar Y, YUV formats,  8 to 16-bit&lt;br /&gt;
| [[aWarpSharp2|Plugin]]&lt;br /&gt;
| {{Author/SEt}}&lt;br /&gt;
|-&lt;br /&gt;
| [[blah]]&lt;br /&gt;
| Sharpening. See [http://forum.doom9.org/showthread.php?t=155030 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1406843 Script]&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
|[[CAS]]&lt;br /&gt;
|Contrast Adaptive Sharpening.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], all planar Y, YUV(A), RGB(A) formats,  8 to 32-bit&lt;br /&gt;
|[[CAS|Plugin]]&lt;br /&gt;
|Asd-g&lt;br /&gt;
|-&lt;br /&gt;
| [[FineSharp]]&lt;br /&gt;
| Small and relatively fast realtime-sharpening function, designed for 1080p, or after scaling 720p -&amp;gt; 1080p during playback (to make 720p look more being like 1080p). See [http://forum.doom9.org/showthread.php?p=1569035#post1569035 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1569035#post1569035 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LimitedSharpen]]&lt;br /&gt;
| LimitedSharpen can be used like a traditional sharpener, but producing much less artifacts. It can be used as a replacement for the common &amp;quot;resize(x4)-XSharpen-resize(x1)&amp;quot; combo, with very similar results (perhaps even better) - but at least 2 times faster, since it requires much less oversampling.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/LimitedSharpenFaster.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LSFmod]]&lt;br /&gt;
| A LimitedSharpenFaster mod with a lot of new features and optimizations. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=142706 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=173515 MCLS_16]&lt;br /&gt;
|Motion Compensate Limited Sharpen 16bit&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=173515 Script]&lt;br /&gt;
|Motenai Yoda&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=153201 MedSharp]&lt;br /&gt;
|Soft thresholded median sharpening function. See [http://forum.doom9.org/showthread.php?t=153201 discussion].&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=153201 Script]&lt;br /&gt;
|*.mp4 guy &lt;br /&gt;
|-&lt;br /&gt;
| [[MSharpen]]&lt;br /&gt;
| &amp;lt;tt&amp;gt;MSharpen&amp;lt;/tt&amp;gt; is a very simple masked sharpening plugin for AviSynth. This version is a reimplementation of neuron2's old &amp;lt;tt&amp;gt;MSharpen&amp;lt;/tt&amp;gt; plugin.&lt;br /&gt;
| [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[MSharpen|Plugin]]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NonlinUSM]]&lt;br /&gt;
| Non-linear Unsharp Masking.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1555234&amp;amp;postcount=46 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[pSharpen]]&lt;br /&gt;
| Performs two-point sharpening to avoid overshoot. See [http://forum.doom9.org/showthread.php?t=172422 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=172422#post1732663 Script]&lt;br /&gt;
| ilpippo80, colours&lt;br /&gt;
|-&lt;br /&gt;
|[[ReCon]]&lt;br /&gt;
|'''ReCon'''volution - makes things sharp by mixing pixels together. See [http://forum.doom9.org/showthread.php?t=153201 discussion].&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1409582#post1409582 Script]&lt;br /&gt;
|*.mp4 guy &lt;br /&gt;
|-&lt;br /&gt;
| [[SeeSaw]]&lt;br /&gt;
| SeeSaw uses a balance of denoising and sharpening to enhance a clip. The aim is to enhance weak detail without over-sharpening or creating jaggies on strong detail, and produce a result that is temporally stable without detail shimmering.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/SeeSaw.avs Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| SharpenComplex2&lt;br /&gt;
| Port of MPC-HC's Sharpen Complex 2 to AviSynth. Despite the name, this script is very simple, see [http://forum.doom9.org/showthread.php?t=158385 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[SharpenComplex2_source|Script]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SSXSharpen&lt;br /&gt;
| Included in SharpTools. Sharpens the picture using [[supersampling]] techniques.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20100120201434/http://mf.creations.nl/avs/functions/SharpTools-v0.3.avs Script]&lt;br /&gt;
| {{Author/mf}}, {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SSSharp]]&lt;br /&gt;
| Also known as Super Slow Sharpen - a very slow, but high quality sharpener. See [http://forum.doom9.org/showthread.php?t=132330 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1071731 Script]&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
| [[TUnsharp]]&lt;br /&gt;
| TUnsharp is a basic sharpening filter that uses a couple different variations of unsharp masking and allows for controlled sharpening based on edge magnitude and min/max neighborhood value clipping.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[TUnsharp|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnFilter]]&lt;br /&gt;
| This filter softens/sharpens a clip. It implements horizontal and vertical filters designed to (slightly) reverse previous efforts at softening or edge enhancement that are common (but ugly) in DVD mastering.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[UnFilter|Plugin]]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnsharpHQ]]&lt;br /&gt;
| A strong and fast unsharp mask with some new features. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[UnsharpHQ|Plugin]]&lt;br /&gt;
| list&lt;br /&gt;
|-&lt;br /&gt;
|[[vsMSharpen]]&lt;br /&gt;
|vsMSharpen is a sharpener that tries to sharpen only edges. This plugin is a port of the VapourSynth plugin MSharpen. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]], all planar Y, YUV, and RGB formats,  8 to 16 bit&lt;br /&gt;
|[[vsMSharpen|Plugin]]&lt;br /&gt;
|Dubhater, Asd-g&lt;br /&gt;
|-&lt;br /&gt;
| [[WarpSharp]]&lt;br /&gt;
| WarpSharp contains these sharpeners: &amp;lt;tt&amp;gt;UnsharpMask, WarpSharp, Xsharpen&amp;lt;/tt&amp;gt;.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[WarpSharp|Plugin]]&lt;br /&gt;
|???, {{Author/seraphy}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rotation/Shear/Skew/Perspective ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DeBarrel]]&lt;br /&gt;
| Remove barrel and pincushion distortion, where straight lines appear curved.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]]&lt;br /&gt;
| [[DeBarrel|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Defish]]&lt;br /&gt;
|Barrel and pincushion distortion correction filter.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[Defish|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171922 Defish Different Projections]&lt;br /&gt;
|Defish with different map projections, like Lambert Cylindrical Equal Area, Mercator and Miller projections.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171922 Script]&lt;br /&gt;
|Kisa_AG&lt;br /&gt;
|-&lt;br /&gt;
| [[FTurn]]&lt;br /&gt;
| Fast implementation of [[TurnLeft]](), [[TurnRight]]() and [[Turn180]]() AviSynth functions.&lt;br /&gt;
| [[Y8]], [[YV12]],[[YV24]]&lt;br /&gt;
| [[FTurn|Plugin]]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=165978 Quad]&lt;br /&gt;
|An Avisynth plugin to perform quadrilateral transformations. Quad is now superseded by [[warp]].&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/quad.zip Plugin] -- [http://forum.doom9.org/showpost.php?p=1602709&amp;amp;postcount=22 no SSE]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Reform]]&lt;br /&gt;
| Skewed images are corrected or vice versa, useful if video is recorded with slightly incorrectly located camera. Sometimes referred to as perspective correction.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[Reform|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Reformer]]&lt;br /&gt;
| Perspective correction and warping.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[Reformer|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Rotate]]&lt;br /&gt;
| Rotate or shear on any given angle.&lt;br /&gt;
| [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[Rotate|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner.html Spinner]&lt;br /&gt;
| Spinner plugin rotates a frame or selected part of it about the given axis coordinates in floating point precision.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner_2_6.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[warp]]&lt;br /&gt;
|A collection of geometry correction filters (also includes new version of Quad).&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[[warp|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[xyremap]]&lt;br /&gt;
|xyremap is a filter for remapping pixels using formulae written in [http://en.wikipedia.org/wiki/Reverse_Polish_notation reverse Polish notation].&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[[xyremap|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Zoom]]&lt;br /&gt;
| Zoom, Pan &amp;amp; Rotate Clip. Adds alpha layer to clip.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [[Zoom|Plugin]]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Subtitling ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AssRender]]&lt;br /&gt;
| Libass-based subtitle renderer. &lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YV24]], [[YV12]], [[Y8]]&lt;br /&gt;
| [[AssRender|C-Plugin]]&lt;br /&gt;
| lachs0r, TheFluff&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=183148 DetSub]&lt;br /&gt;
|Can be used to remove hardcoded subtitles with halo from video or extract them to images for OCR.&lt;br /&gt;
|Any&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=183148 Script]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
|[[FreeSub]]&lt;br /&gt;
|Subtitle with bdf fonts.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YV24]]&lt;br /&gt;
|[[FreeSub|C-Plugin]]&lt;br /&gt;
|Natt&lt;br /&gt;
|-&lt;br /&gt;
|[[FreeSubPlus]]&lt;br /&gt;
|Script that adds support for additional colorspaces to the FreeSub plugin. &lt;br /&gt;
|All colorspaces&lt;br /&gt;
|[[FreeSubPlus|Script]]&lt;br /&gt;
|reel.deel&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176860 InpaintDelogo]&lt;br /&gt;
|Can be used to remove hardcoded subtitles from video or extract them to images for OCR.&lt;br /&gt;
|Any&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176860 Script]&lt;br /&gt;
|VoodooFX&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/slavanap/ssifSource sub3d]&lt;br /&gt;
|Plugin for rendering subtitles on 3D video with correct depth.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[https://github.com/slavanap/ssifSource/tree/master/Sub3D Sources] [https://github.com/slavanap/ssifSource/releases Binaries][http://forum.doom9.org/showthread.php?t=173143 Discussion] &lt;br /&gt;
|slavanap&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-SubImageFile SubImageFile]&lt;br /&gt;
|AviSynth+ plugin that renders image-based subtitles such as VOBSUB and PGS.&lt;br /&gt;
|[[RGB24]], [[Y8]]&lt;br /&gt;
|[https://github.com/Asd-g/AviSynthPlus-SubImageFile/releases/ Plugin]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SubtitleEx]]&lt;br /&gt;
| Similar to the original [[Subtitle]] function but can do more: apply text to range; effects - bold, underline, italic, center, fading, motion, blur, emboss, etc...; alpha channel.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[SubtitleEx|Plugin]]&lt;br /&gt;
|[http://web.archive.org/web/20070821222318/http://mvideo.ddpp.net/eng/index.htm basilik]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=119390 SUPtext]&lt;br /&gt;
|Overlays SUP-subtitles on a video clip.&lt;br /&gt;
|[[RGB32]], [[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/attachment.php?attachmentid=7846&amp;amp;d=1196858433 Plugin]&lt;br /&gt;
|emmel&lt;br /&gt;
|-&lt;br /&gt;
| [[SupTitle]]&lt;br /&gt;
| Blu-ray PGS .SUP Subtitle Renderer Plugin for AviSynth. See [http://forum.doom9.org/showthread.php?t=148167 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[SupTitle|Plugin]]&lt;br /&gt;
| {{Author/ZachSaw}}&lt;br /&gt;
|-&lt;br /&gt;
|[[tcasFilter]]&lt;br /&gt;
|Renders TCAS subtitle effects.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[[tcasFilter|Plugin]]&lt;br /&gt;
|milkyjing&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm VSFilter]&lt;br /&gt;
| Supported Subtitle Formats: VOBsub (.sub/.idx), SubStation Alpha/Advanced SubStation Alpha (.ssa/.ass), SubRip (.srt), MicroDVD (.sub), SAMI (.smi), PowerDivX (.psb), Universal Subtitle Format (.usf), Structured Subtitle Format (.ssf). See [http://en.wikipedia.org/wiki/VSFilter]&lt;br /&gt;
| &lt;br /&gt;
| [http://sourceforge.net/project/showfiles.php?group_id=205650&amp;amp;package_id=246121&amp;amp;release_id=541232 Plugin]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[VSFilterMod]]&lt;br /&gt;
| VSFilterMod is modification of original VSFilter subtitle renderer by Gabest. This mod brings up new features and some minor bugfixes. &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YV12]]&lt;br /&gt;
| [[VSFilterMod|Plugin]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[xy-VSFilter]]&lt;br /&gt;
|High performance VSFilter compatible subtitle filters.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YV12]]&lt;br /&gt;
|[[xy-VSFilter|Plugin]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transitions ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| DissolveAGG&lt;br /&gt;
| Wipe Transition with a soft edge. See [http://forum.doom9.org/showthread.php?t=118016 discussion]. &lt;br /&gt;
'''Note:''' There exist multiple variants of the script as the result of the interaction between authors in that discussion.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=900674#post900674 Script (v1)], [http://forum.doom9.org/showthread.php?p=1152440#post1152440 Script (v2)], [http://forum.doom9.org/showthread.php?p=1152632#post1152632 Script (v3)] &lt;br /&gt;
| {{Author/zemog}}, {{Author/mikeytown2}}, {{Author/Gavino}} and others&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=62277 JDL_MaskTransition]&lt;br /&gt;
| Combines two clips using the specified mask clip.  The audio tracks are blended during the transition. About any transition can be made with this function.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/stickboy/jdl-effects.avsi Script]&lt;br /&gt;
| {{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TransAll]]&lt;br /&gt;
| Around 150 distinct transitions can be created with this plugin. &lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[TransAll|Plugin]]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Transition_AlbertGasset|Transition (Albert Gasset)]]&lt;br /&gt;
| Various wipe and random block modes. Has 19 built in patterns or it can use an external file.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[Transition_AlbertGasset|C-Plugin]]&lt;br /&gt;
| {{Author/Albert Gasset}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Transition_Shubin|Transition (Shubin)]]&lt;br /&gt;
| Contains 2 transition modes: circle and line.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[Transition_Shubin|Plugin]]&lt;br /&gt;
| {{Author/shubin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Filters ==&lt;br /&gt;
&lt;br /&gt;
=== Debugging/Diagnostic Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AVInfo&lt;br /&gt;
| AVIInfo gives information about the streams in the clip without loading any frames. filename can be a WAV file or an AVI file with several audio streams (it won't open AVI files with embedded subtitles though). It will return the info as a string. &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avinfo_5F25_dll_20050417.zip Plugin]&lt;br /&gt;
| trevlac, wilbert &lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=174797 AVSMeter]&lt;br /&gt;
| AVSMeter is a CLI (command line interface) tool which measures the speed/efficiency of Avisynth scripts and checks if Avisynth and its plugin sub-system are set up and working correctly. Documentation for usage and features is included in the distribution package.&lt;br /&gt;
|&lt;br /&gt;
| Command line executable&lt;br /&gt;
| Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=176079 Avisynth Info Tool]&lt;br /&gt;
| This program performs a thorough test of your Avisynth installation and associated plugins, checking if external dependencies are installed, etc.&lt;br /&gt;
|&lt;br /&gt;
| Windows application with graphical user interface&lt;br /&gt;
| Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=173259 avsr]&lt;br /&gt;
|CLI (command line interface) tool which simply executes an Avisynth script. This is useful when, for example, you want to write an image sequence to the disk by using &amp;quot;ImageWriter&amp;quot;.&lt;br /&gt;
|&lt;br /&gt;
| Command line executable&lt;br /&gt;
| Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
|[[Butteraugli]]&lt;br /&gt;
|Butteraugli is an estimating filter for the psychovisual similarity of two images.&lt;br /&gt;
|8-32bit planar RGB/RGBA&lt;br /&gt;
|[[Butteraugli|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[ColorDiff]]&lt;br /&gt;
|ColorDiff makes a greyscale (Y8) frame according to the input frame's pixels' &amp;quot;distance&amp;quot; from a specified color. The diff is calculated by simply getting the diff of the individual color components from the desired color's components and summing them up. Also, weights can be set for the individual diffs.&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]] &lt;br /&gt;
|[[ColorDiff|C-Plugin]]&lt;br /&gt;
|Ignus2&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=182817 DebugColourSpaces]&lt;br /&gt;
|Debugging filter which applies a specified filter to multiple Avisynth+ colourspaces and displays a labelled grid of the results.&lt;br /&gt;
|Any&lt;br /&gt;
|[http://horman.net/avisynth/download/DebugColourSpaces.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DumpPixelValues]]&lt;br /&gt;
| Samples the colors from selected pixels for every frame in a video source and outputs the data to a text or binary file. See [http://www.theneitherworld.com/mcpoodle/Tools/DumpPixelValues.html homepage.]&lt;br /&gt;
| [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://www.theneitherworld.com/mcpoodle/Tools/DumpPixelValues.zip Plugin]&lt;br /&gt;
| [http://www.theneitherworld.com/mcpoodle/Tools/index.html McPoodle]&lt;br /&gt;
|-&lt;br /&gt;
|[[FFTSpectrum]]&lt;br /&gt;
|FFTSpectrum is a filter that displays the FFT frequency spectrum of a given clip.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[FFTSpectrum|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[GrainEvaluate]]&lt;br /&gt;
| A script to analyze and log the strength of grain for each frame. See [http://forum.doom9.org/showthread.php?t=167455 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
|[http://www.nmm-hd.org/upload/get~-eJfUjEXJY4/GrainEvaluate.avsi Script]&lt;br /&gt;
|{{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1462931&amp;amp;postcount=81 Glitch Analyzer]&lt;br /&gt;
| Glitch Analyzer generates a diagnostic video, then analyzes the recorded version of it, to detect swapped, dropped, or repeated fields.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1467907#post1467907 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid]]&lt;br /&gt;
| Overlays a grid, useful for pixel counting.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Grid/Grid.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Info2]]&lt;br /&gt;
| A faster, prettier alternative to info().&lt;br /&gt;
|Any&lt;br /&gt;
|[[Info2|Plugin]]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[KPassFilterCL]]&lt;br /&gt;
|KPassFilterCL is a set of tools in the frequency domain.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[KPassFilterCL|Plugin]]&lt;br /&gt;
|[http://github.com/Khanattila Khanattila ]&lt;br /&gt;
|-&lt;br /&gt;
|[[LinesLumaDiff]]&lt;br /&gt;
|AviSynth+ plugin to check if luma difference between lines are below or above given threshold and writes frame number in text file.&lt;br /&gt;
|[[Planar]] YUV&lt;br /&gt;
|[[LinesLumaDiff|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MaxCLLFind]]&lt;br /&gt;
| PQ HDR Analyzer plugin for [[AviSynth+]], analyzes MaxCLL and MaxFALL and writes it to a text file.&lt;br /&gt;
|[[RGB64]]&lt;br /&gt;
|[[MaxCLLFind|Plugin]]&lt;br /&gt;
|Tom Arrow&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20160610124531/http://code.google.com/p/avisynthrestoration/wiki/Measure Measure]&lt;br /&gt;
| Measures luminence of greyscale bars and prints results on-screen.  Can be used to set brightness/contrast in capture settings accurately.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20151223052318/https://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
|[[Pixelscope]]&lt;br /&gt;
|This debugging filter displays individual pixel values.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=175688 Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/EmiyaSyahriel/RollCompare RollCompare]&lt;br /&gt;
|AviSynth Plugin to create rolling comparison between videos.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[https://github.com/EmiyaSyahriel/RollCompare/releases Plugin]&lt;br /&gt;
|EmiyaSyahriel&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/lcferrum/segment-display-ocr SegmentDisplayOCR]&lt;br /&gt;
|SegmentDisplayOCR is a seven-segment display recognition filter for AviSynth. It has built in logging functionality (it will log frame recognition results) and also can be used in AviSynth conditional filters. The main purpose of this filter is to process readings of various digital instruments (e.g. digital multimeters) captured on video. So if your favourite instrument lacks interface for connecting it to PC you can capture it's readings on cam and convert them to computer readable format with SegmentDisplayOCR filter.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://sourceforge.net/projects/segmentdisplayocr/files/SegmentDisplayOCR/ Plugin]&lt;br /&gt;
|[http://github.com/lcferrum lcferrum]&lt;br /&gt;
|-&lt;br /&gt;
|[[SSIM]]&lt;br /&gt;
|A filter that compute an objective video quality metric between two videos. Based on SSIM work from [http://web.archive.org/web/20060515090025/http://www.cns.nyu.edu/~zwang/files/research/ssim/index.html Zhou Wang]. It has been created with the help of Mfa.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[[SSIM|Plugin]]&lt;br /&gt;
|[http://web.archive.org/web/20060507012947/http://perso.wanadoo.fr/reservoir/ Lefungus]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowPixelValues]]&lt;br /&gt;
| This filter displays the actual Y U and V (or R G and B) values from pixels within a frame. See [http://forum.doom9.org/showthread.php?t=64192 discussion] and [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/showpixelvalues.html homepage.]&lt;br /&gt;
| [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028122947/http://geocities.com/siwalters_uk/showpixelvalues1.4c.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176131 SysInfo]&lt;br /&gt;
|This plugin returns info about OS/CPU*/Memory/Screen/AviSynth.&lt;br /&gt;
|Any&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=176131 Plugin]&lt;br /&gt;
|Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=168241 Timer]&lt;br /&gt;
|AviSynth script to add a highly customizable timer to your video.&lt;br /&gt;
|Any&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=168241 Script]&amp;lt;!-- https://gist.github.com/darealshinji/9770276 --&amp;gt;&lt;br /&gt;
|djcj&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20151223052321/http://code.google.com/p/avisynthrestoration/wiki/Testpatterns Testpatterns]&lt;br /&gt;
| This filter creates a sinewave frequency sweep directly in YV12, useful to measuring video response.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20151223052318/https://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/tmonitor.htm TMonitor]&lt;br /&gt;
| TMonitor is a filter very similar to AVSMon. It enables monitoring of an Avisynth clip via previewing the video, viewing clip information (such as video width, height, colorspace, number of frames, audio samples, sample rate, number of audio channels, and more), and adjusting the audio delay. It also supports multiple instances per script, allowing viewing of differences between different parts of a processing chain.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20151125175557/http://bengal.missouri.edu/~kes25c/TMonitorv094.zip Plugin]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=53238 ViewFields/UnViewFields]&lt;br /&gt;
| [http://web.archive.org/web/20140709004333/http://www.geocities.com/siwalters_uk/unviewfields.html UnViewFields], [http://web.archive.org/web/20140708181324/http://www.geocities.com/siwalters_uk/viewfields.html ViewFields]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
|[[VMAF]]&lt;br /&gt;
|VMAF is a perceptual video quality assessment algorithm developed by Netflix. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]],&amp;lt;br&amp;gt; 8-10bit planar YUV&lt;br /&gt;
|[[VMAF|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Comptest]]&lt;br /&gt;
| The script Compressibility test can be used for a compressibility test on a clip.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[SeeTheDifference]]&lt;br /&gt;
| SeeTheDifference just makes the difference visible between an encoded and an original videoclip. So you can see what you really &amp;quot;lose&amp;quot; when encoding a video.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Edge Detection ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpsharp2/aSobel|aSobel]]&lt;br /&gt;
| Sobel edge dectecion filter included in [[aWarpSharp2]]. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[aWarpSharp2|Plugin]]&lt;br /&gt;
| {{Author/SEt}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MaskTools2/Mt edge| mt_edge]]&lt;br /&gt;
| Edge detection filter included in [[MaskTools2]].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[MaskTools2|Plugin]]&lt;br /&gt;
| {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
|[[scharr]]&lt;br /&gt;
|Edge detection using the [https://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators Scharr operator].&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[scharr|Script]]&lt;br /&gt;
|zorr &lt;br /&gt;
|-&lt;br /&gt;
| [[tcanny]]&lt;br /&gt;
| Contains a canny edge detection filter and distance transform filter.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[tcanny|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TCannyMod]]&lt;br /&gt;
| Canny edge detection filter for Avisynth 2.6. Reimplementation of tcanny. See [http://forum.doom9.org/showthread.php?t=168449  discussion]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[TCannyMod|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TEdgeMask]]&lt;br /&gt;
| TEdgeMask creates an edge mask based off gradient vector magnitude.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[TEdgeMask|Plugin]]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TEMmod]]&lt;br /&gt;
| TEdgeMask modified for Avisynth 2.6. It creates an edge mask using gradient vector magnitude. See [http://forum.doom9.org/showthread.php?t=168390  discussion]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[TEMmod|Plugin]]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[vsTCanny]]&lt;br /&gt;
| Builds an edge map using canny edge detection. &lt;br /&gt;
| All 8-32bit [[planar]] colorspaces&lt;br /&gt;
| [[vsTCanny|Plugin]]&lt;br /&gt;
| {{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
| [[vsTEdgeMask]]&lt;br /&gt;
| vsTEdgeMask is an edge detection filter. This is a port of the TEdgeMask/TEMmod AviSynth plugins.&lt;br /&gt;
| All 8-16bit [[planar]] colorspaces&lt;br /&gt;
| [[vsTEdgeMask|Plugin]]&lt;br /&gt;
| {{Author/Asd-g}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Export Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can write directly to media files. &lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135928 Immaavs]&lt;br /&gt;
| ImmaWrite uses the ImageMagick libraries to write images. Many formats are supported including animations and multipage files.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.wilbertdijkhof.nl/ Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=172837 TWriteAVI]&lt;br /&gt;
| Serve AVI file to program requesting it as well as write an avi file. Useful for speeding up 2 pass encodes at the cost of hard drive space. [http://forum.doom9.org/showthread.php?t=172761 Update for AviSynth 2.6]. [http://forum.doom9.org/showthread.php?p=1750415#post1750415 Usage]. [http://forum.doom9.org/showthread.php?p=1073371#post1073371 Old mod by squid_80].&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [https://github.com/Asd-g/AviSynth-TWriteAVI/releases Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1403600 Sashimi]&lt;br /&gt;
(function &amp;quot;RawWriter&amp;quot;)&lt;br /&gt;
| Sashimi writes (and reads) almost any regular raw uncompressed data format you can define.  You'll find a fuller description under [[#Source_Filters|Source Filters]].&lt;br /&gt;
| [[RGB]], [[YUY2]],[[YV12]]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin with scripts]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|-&lt;br /&gt;
| [[SoundOut]]&lt;br /&gt;
| SoundOut is a GUI driven sound file output module for AviSynth (it exports audio to several compressors).&lt;br /&gt;
| All audio.&lt;br /&gt;
| [[SoundOut|Plugin]]&lt;br /&gt;
| {{Author/Sh0dan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Import Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are used to import filters written for other audio and video packages.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?threadid=92174 FreeFrame]&lt;br /&gt;
| Allows [http://freeframe.sourceforge.net/ freeframe] filters (mostly effects) to be used directly in AviSynth.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/freeframe_5F25_dll_20050426.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Meta-Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are primarily designed to be used with other filters, to restrict or augment their effect.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[AVSTP]]&lt;br /&gt;
|A library for multithreaded plug-in development&lt;br /&gt;
|Any&lt;br /&gt;
|[[AVSTP|Plugin]]&lt;br /&gt;
|{{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MP_Pipeline]]&lt;br /&gt;
|Run parts of an AviSynth script in external processes.&lt;br /&gt;
|Any&lt;br /&gt;
|[[MP_Pipeline|Plugin]]&lt;br /&gt;
|[http://github.com/SAPikachu/ SAPikachu]&lt;br /&gt;
|-&lt;br /&gt;
| [[MT]]&lt;br /&gt;
| MT is a filter that enables other filters to run multithreaded. This should hopefully speed up processing on hyperthreaded/multicore processors or multiprocessor systems. See [http://forum.doom9.org/showthread.php?t=94996]&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mt_20070301.zip Plugin]&lt;br /&gt;
| tsp&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools]] &lt;br /&gt;
| MVTools provides filters for estimation and compensation of objects' motion in video clips. Motion compensation may be used for strong temporal denoising, advanced framerate conversions, image restoration and other tasks. See [http://forum.doom9.org/showthread.php?t=131033]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[MVTools|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=164073 SoraThread]&lt;br /&gt;
|Sora's avs multi-process/multi-thread plugin package&lt;br /&gt;
|Any&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=164073 Plugin]&lt;br /&gt;
|leiming2006&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=154886 ThreadRequest]&lt;br /&gt;
|Yet another plugin for multithread processing. [http://web.archive.org/web/20130124045626/http://lantis.homeunix.org/avisynth.shtml Archive homepage (Japanese)]&lt;br /&gt;
|Any&lt;br /&gt;
|[http://www.mediafire.com/download/4xux7d7l1u3toy8/ThreadRequest+102a.rar Plugin]&lt;br /&gt;
|lantis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Multipurpose Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=174433 amDCT]&lt;br /&gt;
|amDCT() is an adaptive video filter providing deblocking, sharpening, local range expansion, smoothing, and bright noise removal in a single filter that can be used on video of any level of quality. These four operations work synergistically to drastically reduce block artifacts while maintaining detail and increasing local contrast.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[https://github.com/pinterf/amDCT Plugin]&lt;br /&gt;
|jconklin, [https://github.com/pinterf pinterf]&lt;br /&gt;
|-&lt;br /&gt;
|[[AVExtensions]]&lt;br /&gt;
|Audio-video extensions is a collection of various AviSynth filters used to modify audio or video. &lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[[AVExtensions|Plugin]]&lt;br /&gt;
|nutbread&lt;br /&gt;
|-&lt;br /&gt;
|[[AviSynthShader]]&lt;br /&gt;
|This plugin allows running HLSL pixel shaders within AviSynth. This gives access to various HLSL filters that haven't been programmed in AviSynth.&lt;br /&gt;
|[[RGB32]], [[YV24]], [[YV12]]&lt;br /&gt;
|[[AviSynthShader|Plugin]]&lt;br /&gt;
|[http://github.com/mysteryx93 MysteryX]&lt;br /&gt;
|-&lt;br /&gt;
|[[avs-mlrt]]&lt;br /&gt;
|This project provides AviSynth+ ML filter runtimes for variety of platforms. &lt;br /&gt;
|Y32, RGPS&lt;br /&gt;
|[[avs-mlrt|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|-&lt;br /&gt;
|[[CLExpr]]&lt;br /&gt;
|AviSynth Expr filter implemented in OpenCL for runtime calculation of expressions on 8 and 16-bit depths clips. Makes mt_lutxy and mt_lutxyz possible on 16-bit.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[CLExpr|Plugin]]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=183823 CTools]&lt;br /&gt;
|Includes various filters for IVTC, deinterlacing, denoising, dehalo and duplicate frames.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[https://github.com/CeppoTools/CTools/releases Plugin]&lt;br /&gt;
|Ceppo&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=166061 HybridFuPP]&lt;br /&gt;
| An adaptive processor, allowing picture cleaning and compressibility gain. Original [http://forum.doom9.org/showthread.php?t=146632 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/download/6g09aazs4z7m11a/HybridFuPP_0.992b.zip Script]&lt;br /&gt;
| Fupp&lt;br /&gt;
|-&lt;br /&gt;
| [[MaskTools2]]&lt;br /&gt;
| This plugin provides tools for the creation, enhancement and manipulation of masks for each [[YUV]] component.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [[MaskTools2|Plugin]]&lt;br /&gt;
| {{Author/Manao}}, {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools]]&lt;br /&gt;
| This plugin provides a collection of functions for motion estimation and compensation.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[MVTools|Plugin]]&lt;br /&gt;
| Various&lt;br /&gt;
|-&lt;br /&gt;
|[[avslibplacebo#Shader|Shader]]&lt;br /&gt;
|Loads GLSL shaders written in mpv's .hook syntax.&lt;br /&gt;
|16-bit planar YUV&lt;br /&gt;
|[[avslibplacebo|Plugin]]&lt;br /&gt;
|{{Author/Asd-g}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Scene Change Detection ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171624 DBSC]&lt;br /&gt;
|A scene change detection tool set/kit/box (work-in-progress).&lt;br /&gt;
|All&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171624 Script]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=145143 EDLmaker]&lt;br /&gt;
| Simple scenechange detector that writes to EDL file.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=145143 Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools2/MSCDetection|MSCDetection]]&lt;br /&gt;
| Part of MVTools2; MSCDetection creates a scene detection mask clip from motion vectors data. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[MVTools|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| SCDetect&lt;br /&gt;
| Detect scene change and output scene change frames to a file.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140614152525/http://www.nmm-hd.org/upload/get~TfPm2QO4jbk/SCDetect_v0.3.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://akuvian.org/src/avisynth/sclavc/readme.txt SceneChangeLavc]&lt;br /&gt;
| SClavc is an AviSynth plugin intended to allow access to libavcodec's scene-change metrics. See [http://akuvian.org/src/avisynth/sclavc/ homepage.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/scenechangelavc_5F25_dll_20041201.zip Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SCXvid]]&lt;br /&gt;
| SCXvid produces first pass Xvid logs from AviSynth at the equivalent of the default VFW preset. These logs are primarily intended to get scene change information from but may have other uses.&lt;br /&gt;
|  [[YV12]]&lt;br /&gt;
| [http://dl.dropbox.com/s/402hlckyn669p9n/SCXvid-1.1.rar Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SCXvidMask]]&lt;br /&gt;
| A tiny AviSynth plugin that reads an SCXvid log and creates a binary mask based on it.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/SCXvidMask/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Support filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are primarily designed to augment the creation of custom script-based filters.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[ApplyInterlacedFilter]]&lt;br /&gt;
| ApplyInterlacedFilter safely processes interlaced video with spatial and temporal filters.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162874 ArcFuns]&lt;br /&gt;
|This plugin expands the available numerical functions with missing inverse trig functions.&lt;br /&gt;
|N/A&lt;br /&gt;
|[http://forum.doom9.org/attachment.php?attachmentid=12494&amp;amp;d=1319627190 Plugin]&lt;br /&gt;
|{{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
|[[AvsFilterNet]]&lt;br /&gt;
|The main objective of AvsFilterNet is to provide a wrapper for AviSynth, making it possible to write simple filter in any .Net languages. &lt;br /&gt;
|N/A&lt;br /&gt;
|[[AvsFilterNet|Plugin]]&lt;br /&gt;
|SAPikachu&lt;br /&gt;
|-&lt;br /&gt;
|[[AvsMotion]]&lt;br /&gt;
|AviSynth plugin for animating clips with AAE motion tracking data.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[AvsMotion|Plugin]]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=46506 Call]&lt;br /&gt;
| Call an external program from the script.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/call_5F25_dll_20030310.zip Plugin]&lt;br /&gt;
| Nic, DDogg&lt;br /&gt;
|-&lt;br /&gt;
|[[CallCmd]]&lt;br /&gt;
|Plugin to execute command on selectable frames or at startup or closedown. Based on [http://forum.doom9.org/showthread.php?t=46506 Call by Nic].&lt;br /&gt;
|N/A&lt;br /&gt;
|[[CallCmd|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[ClipBoard]]&lt;br /&gt;
|Get text from Clipboard.&lt;br /&gt;
|N/A&lt;br /&gt;
|[[ClipBoard|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=182910 Feedback]&lt;br /&gt;
|A filter that lets you use a filter chain's output as its own input.&lt;br /&gt;
|Any&lt;br /&gt;
|[http://horman.net/avisynth/download/feedback.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[FileSize]]&lt;br /&gt;
|Plugin to get filesize.&lt;br /&gt;
|N/A&lt;br /&gt;
|[[FileSize|Plugin]]&lt;br /&gt;
|pureexe&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.roelofs-coaching.nl/blobs/downloads/ProgramName.html GetProgramName]&lt;br /&gt;
|An AviSynth plug-in to retrieve the name of the calling application.&lt;br /&gt;
|N/A&lt;br /&gt;
|[https://www.roelofs-coaching.nl/blobs/downloads/ProgramName.zip Plugin]&lt;br /&gt;
|[http://www.roelofs-coaching.nl/J.M. Roelofs]&lt;br /&gt;
|-&lt;br /&gt;
|[[GetProgramName2]]&lt;br /&gt;
|GetProgramName2 is similar to GetProgramName by JM Roelofs, but this plugin is a newly written.  &lt;br /&gt;
|N/A&lt;br /&gt;
|[[GetProgramName2|Plugin]]&lt;br /&gt;
|[https://github.com/enccc enccc]&lt;br /&gt;
|-&lt;br /&gt;
| GetSystemEnv&lt;br /&gt;
| An AviSynth plug-in to retrieve information from the system. &lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/stickboy/GetSystemEnv.zip Plugin]&lt;br /&gt;
| {{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GRunT]]&lt;br /&gt;
| Extends AviSynth's [[Runtime_environment|Runtime Environment]], making it easier to use, especially inside script functions.&lt;br /&gt;
| Any&lt;br /&gt;
| [[GRunT|Plugin]]&lt;br /&gt;
| {{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GScript]]&lt;br /&gt;
| Extends the Avisynth scripting language to provide additional control-flow constructs: multi-line conditionals (if-then-else blocks), 'while' loops and 'for' loops.&lt;br /&gt;
| Any&lt;br /&gt;
| [[GScript|Plugin]]&lt;br /&gt;
| {{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
|[[LoadDLL]]&lt;br /&gt;
| Used to manually load dll files in AviSynth. Useful if a filter relies on an external dll that is not in the system PATH.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[LoadDLL|Plugin]]&lt;br /&gt;
|{{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=162790 MinMax]&lt;br /&gt;
|Finds the min or max value in each line or column and then sets the entire line or column to that value. Only processes the luma (Y) plane.&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[https://web.archive.org/web/20160610142230if_/http://latoninf.free.fr/div/minmax.7z Plugin]&lt;br /&gt;
|{{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=97748 PlaneMinMax]&lt;br /&gt;
| Frame-based YV12 plane Min/Max/Avg functions without [[ConditionalFilter]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/planeminmax_5F25_dll_20050727.zip Plugin]&lt;br /&gt;
| Bart Silverstein&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=83451 pop]&lt;br /&gt;
|A filter to get values from variables that may not yet be initialized.&lt;br /&gt;
|Any&lt;br /&gt;
|[https://web.archive.org/web/20160606142540if_/http://www.tsp.person.dk/pop.zip Plugin]&lt;br /&gt;
|{{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
| [[RT_Stats]]&lt;br /&gt;
| Compile-time/Runtime Functions.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[RT_Stats|Plugin]]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[[StrFmt]]&lt;br /&gt;
|Simple plugin to produce formatted string, and additional function to string replace with another string.&lt;br /&gt;
|Any&lt;br /&gt;
|[[StrFmt|Plugin]]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[https://forum.doom9.org/showthread.php?t=174387 StrResolve]&lt;br /&gt;
|String Variables Resolving Plugin (for masktools expressions)&lt;br /&gt;
|Any&lt;br /&gt;
|[http://www.mediafire.com/file/wu6zexhssd0y77i/170310_StrResolve_v050.zip Plugin]&lt;br /&gt;
|martin53&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deepcolor Filters ===&lt;br /&gt;
(also check the [[High_bit-depth_Support_with_Avisynth#Processing_High_Bit-depth_Video_with_AviSynth|High Bit-Depth]] page and the [[:Category:Deep_color_tools|Deep Color Tools]] category)&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Dither_tools|Dither]]&lt;br /&gt;
| Generates video with up to 16 bits per component after denoising and dithers back to 8 bits for storage. Primarily written to smooth fine gradients to remove color banding during/after denoising. Can also recover high bitdepth data potentially contained in a noisy clip; dither a high bitdepth picture into a standard YV12; and perform basic operations (masking, curves...) on high bitdepth pictures, as they cannot be manipulated safely with conventional AviSynth filters.&lt;br /&gt;
| [[Planar]] colorspaces&lt;br /&gt;
| [[Dither_tools|Plugin + scripts]]&lt;br /&gt;
| {{Author/cretindesalpes}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[https://sourceforge.net/projects/voix/files/2d3/ 2Dto3D]&lt;br /&gt;
|2Dto3D is a collection of scripts for 2D to 3D conversion. Conversion is good but not perfect.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[https://sourceforge.net/projects/voix/files/2d3/ Script]&lt;br /&gt;
|[https://sourceforge.net/u/brankoj/profile/ brankoj]&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20110809073332/http://arenafilm.hu/alsog/anaglyph/ Analglyph]&lt;br /&gt;
| This filter produces analglyph video from a stereo pair.  Analglyph is a 3d viewing method which uses colored glasses.  The plugin supports the advanced [http://web.archive.org/web/20130706165544/www.site.uottawa.ca/~edubois/anaglyph/ Dubois] algorithm, which is able to reduce the ghosting effect that is possible in the conversion.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Unclassified/Anaglyph___(0.85_-_2010-08-29).7z Plugin] / [http://web.archive.org/web/20140412062911/http://chaosking.de/wp-content/uploads/avsfilters/Unclassified/Anaglyph___(0.85_-_2010-08-29).7z mirror]&lt;br /&gt;
| {{Author/Kertai Gábor}}&lt;br /&gt;
|-&lt;br /&gt;
| Anaglypher &lt;br /&gt;
| A plugin for combining stereopairs into single anaglyph image.&lt;br /&gt;
| [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://shura.luberetsky.ru/anaglypher/Anaglypher.zip Plugin]&lt;br /&gt;
| [http://shura.luberetsky.ru/ Shura Luberetsky]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162616 Displace / McM_2D_to_3D]&lt;br /&gt;
|Plugin and script that enables you to convert 2d to 3d stereo with bidirectional pulfrich effect + add depth to stationary objects.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162616#post1539121 Plugin/Script]&lt;br /&gt;
|Mcmount&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=143855 fauxD]&lt;br /&gt;
|2D to stereo-3D conversion in real-time.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://forum.doom9.org/attachment.php?attachmentid=9278&amp;amp;d=1232092731 Plugin]&lt;br /&gt;
|eslave&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.pantarheon.org/AviSynth3DToolbox/ Pantarheon 3D AviSynth Toolbox]&lt;br /&gt;
| The Toolbox contains a number of basic functions which allow you to multiplex the left and right views found in two separate videos into one video, using several of the common methods currently in use.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.pantarheon.org/AviSynth3DToolbox/zip/ Script]&lt;br /&gt;
| [http://www.pantarheon.org/ G. Adam Stanislav]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://avslib.sourceforge.net/ AVSLib]&lt;br /&gt;
|General purpose toolkit/extension library enhancing AviSynths ability to perform complex linear and non-linear video editing tasks. Includes support for Array containers &amp;amp; operators, debugging tools, math &amp;amp; string functions, filters and many more.&lt;br /&gt;
|&lt;br /&gt;
|[http://sourceforge.net/projects/avslib/ AVSLib]&lt;br /&gt;
|[http://gzarkadas.users.sourceforge.net/ gzarkadas]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AddAudio]]&lt;br /&gt;
| A function that adds silent audio to a clip. Needed for CCE 2.50 users.&lt;br /&gt;
| N/A&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1861891#post1861891 Audiofix]&lt;br /&gt;
|Plugin to fix a specific audio problem, see [http://forum.doom9.org/showthread.php?t=175991 discussion].&lt;br /&gt;
|&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1861891#post1861891 Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AudioGraph]]&lt;br /&gt;
| Displays the audio waveform superimposed on the video. Intended to help with editing rather than for final output. Useful for finding specific dialog or sound, and for checking A/V sync.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV24]], 8-bit [[Planar]] RGB&lt;br /&gt;
| [[AudioGraph|Plugin]]&lt;br /&gt;
| Richard Ling, {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[AudioLimiter]]&lt;br /&gt;
| To increase volume for silent sounds a lot, to increase volume for middle-volume sounds a little and to keep hi-volume sounds untoched.&lt;br /&gt;
| N/A&lt;br /&gt;
|[[AudioLimiter|Plugin]]&lt;br /&gt;
|dimzon&lt;br /&gt;
|-&lt;br /&gt;
|[[AudioTimeline]]&lt;br /&gt;
|Displays a audio timeline track under the frame. It is especially suited for thumbsheets, where it allows to estimate the audio track of the thumbnailed clip.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[[AudioTimeline|Plugin]]&lt;br /&gt;
|martin53&lt;br /&gt;
|-&lt;br /&gt;
| [[BeFa]]&lt;br /&gt;
| Band Eliminate Filter for Audio.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[BeFa|Plugin]]&lt;br /&gt;
| {{Author/kiraru2002}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FindAudioSyncScript]]&lt;br /&gt;
| FindAudioSyncScript helps you to find the appropriate audio delays, if you have desync'ed audio.&lt;br /&gt;
| N/A&lt;br /&gt;
| Script&lt;br /&gt;
| IanB&lt;br /&gt;
|-&lt;br /&gt;
| [[MinMaxAudio]]&lt;br /&gt;
| Computes the root mean square, maximal or minimal value over all samples in all channels,or just over all samples in channel, and outputs the value (in decibels) as a float. It's a conditional audio filter, so the computation is done framewise.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[MinMaxAudio|Plugin]]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Normalize2]]&lt;br /&gt;
|Audio normalizing plugin. The main difference between this plugin and the built-in normalizing plugin [[Normalize]]() is that this plugin can store the peak level value in an external file and uses a lookup table to do the actual normalizing (for speed).&lt;br /&gt;
|N/A&lt;br /&gt;
|[[Normalize2|Plugin]]&lt;br /&gt;
|[http://sourceforge.net/u/jcsston/profile/ jcsston]&lt;br /&gt;
|-&lt;br /&gt;
| [[SoxFilter]]&lt;br /&gt;
| Use [http://sox.sourceforge.net/ SOX] audio effects within AviSynth. Most effects are supported, and multiple effects can be stacked after each other.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[SoxFilter|Plugin]]&lt;br /&gt;
| {{author/Sh0dan}}, [https://github.com/pinterf pinterf]&lt;br /&gt;
|-&lt;br /&gt;
|[[Spectrogram]]&lt;br /&gt;
|Linear [http://en.wikipedia.org/wiki/Spectrogram spectrogram] for AviSynth 2.6.&lt;br /&gt;
|Any&lt;br /&gt;
|[[Spectrogram|Plugin]]&lt;br /&gt;
|[http://github.com/innocenat innocenat]&lt;br /&gt;
|-&lt;br /&gt;
|SwitchByAudio&lt;br /&gt;
|Plugin to switch video source based on audio. See [http://forum.doom9.org/showthread.php?t=167011 discussion]&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]  &lt;br /&gt;
|[http://www.avisynth.nl/users/vcmohan/SwitchByAudio/SwitchByAudio.zip Plugin]&lt;br /&gt;
|{{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1722472&amp;amp;postcount=20 TimeStretchPlugin]&lt;br /&gt;
|[[TimeStretch]] with multichannel support and updated SoundTouch library. &lt;br /&gt;
|N/A&lt;br /&gt;
|[http://www.wilbertdijkhof.nl/TimeStretch_v258.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ViewAudio]]&lt;br /&gt;
| Includes two filters: ViewAudio and CacheAudio. &lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [[ViewAudio|Plugin]]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| VUmeter&lt;br /&gt;
| Classic analog-style VU meter; see [https://forum.doom9.org/showthread.php?t=175370 discussion]. Uses MinMaxAudio.&lt;br /&gt;
| Any&lt;br /&gt;
| [https://github.com/raffriff42/AvisynthPlusUtilities script]&lt;br /&gt;
| raffriff42&lt;br /&gt;
|-&lt;br /&gt;
| [[Waveform]]&lt;br /&gt;
| Displays audio waveforms superimposed on the video, similar to AudioGraph below but with multi-channel support and consistent support for all colourspaces.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]  &lt;br /&gt;
| [[Waveform|Plugin]]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== As Yet Unclassified ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=397426#post397426 Adjust]&lt;br /&gt;
| Generic Y-Channel mapping. Can define a function for the Y Channel. See [http://forum.doom9.org/showthread.php?p=397426 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/adjust_5F25_dll_20031110.zip Plugin]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/ WarpEnterprises]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=166588 Adaptive Lens Blur Repair]&lt;br /&gt;
|This function adaptively repairs video damaged by lens blur, using a frame-adaptive repair mask, a selection of sharpeners and multi-stage motion-compensated artifact removal.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=13154&amp;amp;stc=1&amp;amp;d=1354907363 Script]&lt;br /&gt;
| fvisagie&lt;br /&gt;
|-&lt;br /&gt;
|[[amp]]&lt;br /&gt;
|Inspired by [http://forum.doom9.org/showthread.php?t=168293 RgbAmplifier], it performs temporal smoothing, then (optionally) enhances the difference between the windowed average and the current frame.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [[amp|Plugin]]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[[AutoOverlay]]&lt;br /&gt;
|Auto-aligned optimal overlay of one video clip onto another with color adjustment.&lt;br /&gt;
| [[RGB32]], [[YV24]], [[YV12]]&lt;br /&gt;
| [https://github.com/introspected/AutoOverlay/releases Plugin]&lt;br /&gt;
| [https://github.com/introspected introspected]&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/AutoTrace AutoTraceFilter]&lt;br /&gt;
|An intentionally useless plugin that uses [http://autotrace.sourceforge.net/ AutoTrace] to trace and then resize a source video, rendering the result using GDI+.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
| [http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/AutoTrace Plugin]&lt;br /&gt;
| [http://github.com/Xenoveritas Xenoveritas]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=675275#post675275 BeforeAfter]&lt;br /&gt;
| See the difference before and after; similar discussion [http://forum.doom9.org/showthread.php?t=98876 here]. (missing [http://www.animemusicvideos.org/forum/viewtopic.php?f=11&amp;amp;t=45223 BeforeAfterDiff] and BeforeAfterLine scripts.)&lt;br /&gt;
| any&lt;br /&gt;
| Script&lt;br /&gt;
| Corran&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=158696 ccc]&lt;br /&gt;
|A plugin specifically designed for Cross-Conversion Correction.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20150403181720/http://japland.org/ccc/ccc_v0.4a_avs.zip Plugin]&lt;br /&gt;
|Daemon404&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/ColorIt/ColorIt.html Colorit]&lt;br /&gt;
| Color a black and white image or recolor a color image. See [http://forum.doom9.org/showthread.php?t=93990 discussion.]&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/ColorIt/Colorit.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| CutFrames&lt;br /&gt;
| Cut a range of frames from a single a/v clip. Opposite of Trim with extras.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135423 Script]&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| DCT&lt;br /&gt;
| Plugin with the following functions: IDCT, IDCT2, FDCT, FDCT2. See [http://forum.doom9.org/showthread.php?p=667382#post667382 discussion]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://alainmuchembled.free.fr/DCT.zip Plugin]&lt;br /&gt;
| lcld&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1444027#post1444027 DDigit]&lt;br /&gt;
| DDigit Plugin Text Rendering Pack for Plugin writers. See [http://forum.doom9.org/showthread.php?t=156888 discussion.]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.mediafire.com/download/bfhj5crwaxbupeh/DDigitTest_25%2626_v1-06_dll_20150330-RECOMPILE.zip Plugin]&lt;br /&gt;
| {{Author/StainlessS}}&lt;br /&gt;
|- &lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=95193 DeJump]&lt;br /&gt;
| This is a specific filter which might be used to stabilize some &amp;quot;jumpy&amp;quot; video sources captured from VHS. &lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=3988&amp;amp;d=1117479069 Plugin]&lt;br /&gt;
| dinstun&lt;br /&gt;
|-&lt;br /&gt;
|[[FFAvisynth]]&lt;br /&gt;
| A plugin which lets you directly use [http://en.wikipedia.org/wiki/Ffdshow ffdshow] video and audio filters from AviSynth scripts.  &lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/ffdshow-tryout/ Plugin]&lt;br /&gt;
| Milan Cutka &lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/Youka/FLuaG FLuaG]&lt;br /&gt;
| FLuaG (Floating Lua Graphics) is an AviSynth plugin for video/audio data editing via Lua scripting. See [http://forum.doom9.org/showthread.php?t=161852 discussion] &lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://github.com/Youka/FLuaG/archive/master.zip Plugin]&lt;br /&gt;
| [http://github.com/Youka Youka]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=150291 FritzPhoto]&lt;br /&gt;
| Use Avisynth to process still images.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=150291 FritzPhoto]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1600151#post1600151 FSubstitute]&lt;br /&gt;
|Tries to automate the task of replacing bad frames using adjacent or close-by frames.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1600151#post1600151 Script]&lt;br /&gt;
|martin53&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=130611 GrainOptimizer]&lt;br /&gt;
|The only temporal-only grain reducer! See discussion for more information. Related topics: [http://forum.doom9.org/showthread.php?t=137117 x264: Film Grain Optimization], [http://web.archive.org/web/20090916181521/http://x264dev.blogspot.com/2008/05/film-grain-optimization.html]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20081228144846/http://mirror05.x264.nl/Dark/force.php?file=./GrainOptimizer_2.02.zip Plugin]&lt;br /&gt;
|Dark Shikari&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/Youka/LVS LVS]&lt;br /&gt;
| LVS (Lua Video Sync) is a video frameserver plugin to edit video frames with the capability of scripting language Lua + 2D image processing functionality. See [http://forum.doom9.org/showthread.php?t=167716 discussion]. [https://github.com/Youka/LVS GitHub]&lt;br /&gt;
| [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://sourceforge.net/projects/lua-video-sync/files/ Plugin]&lt;br /&gt;
| [http://github.com/Youka Youka]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/NeuralNet/NeuralNet.html NeuralNet]&lt;br /&gt;
| Neural networks through back propagation learn and filter some types of noise. Classification and linear type networks are included.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/NeuralNet/NeuralNet.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| PseudoColor &lt;br /&gt;
| This filter first converts clip to b/w, then colors it to pseudorandom colors according to brightness. See [http://forum.doom9.org/showthread.php?t=61570 discussion.]&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/pseudocolor_5F25_dll_20030919.zip Plugin]&lt;br /&gt;
| Shubin&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/jeremypoulter/QRCodeSource QRCodeSource]&lt;br /&gt;
|AviSynth plugin to provide a means to embed QR codes in video.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://github.com/jeremypoulter/QRCodeSource/releases Plugin]&lt;br /&gt;
|[http://github.com/jeremypoulter jeremypoulter]&lt;br /&gt;
|-&lt;br /&gt;
|RemoveDeadPixels&lt;br /&gt;
|See [http://forum.doom9.org/showthread.php?p=699915#post699915 here] and [http://videoprocessing.fr.yuku.com/topic/27/Removedeadpixels here].&lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
|[http://web.archive.org/web/20160610103945/http://home.arcor.de/kassandro/RemoveDeadPixels.rar Plugin]&lt;br /&gt;
|{{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=172601 rgba_rpn]&lt;br /&gt;
|A filter for manipulating the pixels of [[RGB]] (and also [[YUV]]) clips using [http://en.wikipedia.org/wiki/Reverse_Polish_notation reverse Polish notation.] &lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://horman.net/avisynth/downloads/rgba_rpn0.1.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SegmentedAmp]] &lt;br /&gt;
| Image is segmented with watershed algorithm for smoothing and/or sharpening.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/index.php/SegmentedAmp Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=172377 SmoothSkip]&lt;br /&gt;
|In tribute to tritical's awesome filter, this one tackles the inverse problem of [[TIVTC/TDecimate|TDecimate]]; allowing for addressing frames that have non-smooth, skippy motion. For source code see [http://github.com/jojje/SmoothSkip GitHub repository]. &lt;br /&gt;
|[[YUY2]], [[YV12]]&lt;br /&gt;
|[http://github.com/jojje/SmoothSkip/releases/download/v1.0.2/SmoothSkip-1.0.2.zip Plugin]&lt;br /&gt;
|[http://github.com/jojje jojje]&lt;br /&gt;
|-&lt;br /&gt;
| [[Soothe]]&lt;br /&gt;
| Lessens the temporal instability and aliasing caused by sharpening, by comparing the original and sharpened clip, leaving a smoother and slightly softer output. See [http://forum.doom9.org/showthread.php?t=99679 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=99679 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|[https://sourceforge.net/projects/ssbrenderer/ SSBRenderer]&lt;br /&gt;
|SSBRenderer is a plugin for AviSynth to render 2D graphics and subtitles by SSB (Substation Beta) data on frames of video streams. [https://forum.doom9.org/showthread.php?t=169951 Doom9 Forum discussion], [https://github.com/Youka/SSBRenderer GitHub]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[https://sourceforge.net/projects/ssbrenderer/files/ C-Plugin]&lt;br /&gt;
|[https://github.com/Youka Youka ]&lt;br /&gt;
|-&lt;br /&gt;
| [http://sourceforge.net/projects/avisynthtrackin/ Tracking]&lt;br /&gt;
| Use computer vision to track objects in the video, and produce ConditionalReader input. Demo at [http://www.youtube.com/watch?v=SQ-JtJs7US0 Youtube]. &lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [http://sourceforge.net/projects/avisynthtrackin/files/1.1/AvisynthTrackin.1.1.binary.zip/download Plugin]&lt;br /&gt;
| [http://avisynthtrackin.sourceforge.net/ Shlomo Matichin]&lt;br /&gt;
|-&lt;br /&gt;
| UnSmooth&lt;br /&gt;
| What does it do. It amplifies noise, small detail, and artifacts. Doesn't sound very attractive, but there can still be some detail left in over smoothed encodes. See [http://forum.doom9.org/showthread.php?t=63361 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090821183550/http://mf.creations.nl/avs/functions/UnSmooth-v0.1.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed.html WaterShed] &lt;br /&gt;
| Assuming image grey values to be elevations, it is segmented into basins and watershed lines. Useful in certain medical image analysis and recoloring work.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| AviSynth 2.5.8: [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed.zip Plugin]&lt;br /&gt;
AviSynth 2.6.0: [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed_2_6.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/xvplugins xvplugins]&lt;br /&gt;
|This is simply a bunch of AviSynth stuff that isn't (really) possible using plain AviSynth and instead required a plugin.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
| [http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/xvplugins Plugin]&lt;br /&gt;
| [http://github.com/Xenoveritas Xenoveritas]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
[[Category:External_filters]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/File:Crt_display.avsi</id>
		<title>File:Crt display.avsi</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/File:Crt_display.avsi"/>
				<updated>2025-11-30T13:58:05Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2025-03-16T19:37:47Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Donations}} === __NOEDITSECTION__&lt;br /&gt;
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the content is maintained by several people, and I'm very grateful for their time, the hosting costs a lot of money. If you are happy with the site, please make a donation! I would be very grateful and we can keep this site alive:&lt;br /&gt;
* You can donate by buying me a coffee: https://buymeacoffee.com/avisynth&lt;br /&gt;
* You can donate using PayPal: https://paypal.me/avisynth/&lt;br /&gt;
&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem laborious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises] 20250316: the names of the AviSynth 2.5 plugins are messed up, put 5F before 25 in the filename (thus for example avsmon25a_5F25_dll_20030125.zip instead of avsmon25a_25_dll_20030125.zip)&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2025-03-16T19:37:12Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: remark Warpenterprises page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Donations}} === __NOEDITSECTION__&lt;br /&gt;
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the content is maintained by several people, and I'm very grateful for their time, the hosting costs a lot of money. If you are happy with the site, please make a donation! I would be very grateful and we can keep this site alive:&lt;br /&gt;
* You can donate by buying me a coffee: https://buymeacoffee.com/avisynth&lt;br /&gt;
* You can donate using PayPal: https://paypal.me/avisynth/&lt;br /&gt;
&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem laborious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises] 20250316: the names of the AviSynth 2.5 plugins are messed up, put 5F before 25 (thus for example avsmon25a_5F25_dll_20030125.zip instead of avsmon25a_25_dll_20030125.zip&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2024-09-17T19:28:04Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Donations}} === __NOEDITSECTION__&lt;br /&gt;
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the contents is maintained by several people and I'm very grateful for there time, the hosting costs a lot of money. If you are happy with the site please give a donation! I would be very grateful and we can keep this site a live:&lt;br /&gt;
* You can donate by buying me a coffee: https://buymeacoffee.com/avisynth&lt;br /&gt;
* You can donate using paypal: https://paypal.me/avisynth/&lt;br /&gt;
&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem tedious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises]&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2024-09-08T15:26:19Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Donations}} === __NOEDITSECTION__&lt;br /&gt;
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the contents is maintained by several people and I'm very grateful for there time, the hosting costs a lot of money. If you are happy with the site please give a donation! I would be very grateful and we can keep this site a live. You can donate by buying me a coffee: https://buymeacoffee.com/avisynth&lt;br /&gt;
&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem tedious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises]&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2024-09-08T15:26:00Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: added donation section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Donations}} === __NOEDITSECTION__&lt;br /&gt;
Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the contents is maintained by several people and I'm very grateful for there time, the hosting costs a lot of money. If you are happy with the site please give a donation! I would be very grateful and we can keep this site a live. You can donate by buying me a coffee: https://buymeacoffee.com/avisynth&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem tedious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises]&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Feedback</id>
		<title>Feedback</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Feedback"/>
				<updated>2024-08-10T22:04:02Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 23.110.173.174 (talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BlueBox}}'''The Feedback page has been retired.''' &amp;lt;br&amp;gt;&lt;br /&gt;
To give feedback, report bugs or ask for help, please visit the [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 AviSynth Usage Forum]{{End_BlueBox}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
THIS PAGE IS OBSOLETE&lt;br /&gt;
&lt;br /&gt;
Please put &amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt; behind your comments to add your name/date.&lt;br /&gt;
&lt;br /&gt;
I tried to download avisynth but get a message that I need administrator rights to install it. I have administrator rights and have never had a problem downloading anything before. Any idea what's wrong? Anyone else have this problem?&lt;br /&gt;
&lt;br /&gt;
:See [http://forum.doom9.org/showthread.php?t=97406]. Apperently you are not the only one with this problem. Uninstalling it first solves the problem. What is the latest AviSynth version which installs without problems? [[User:Wilbert|Wilbert]] 03:39, 31 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
The Resize (tried Bicubic and Spline36) function crashes AviSynth on my Windows Vista 64-bit, 8GB RAM (core2quad). Everything else works fine - including all other functions/filters I tried.&lt;br /&gt;
&lt;br /&gt;
I would like to port all the plugins documentation (website / readme files) and the plugins themself into this wiki so no data get lost because of canceled webhosting services, removed images, etc. Can i just start or do i have to ask the plugin developer for permission before? What if the developer does not reply at all? Is there a special wiki page naming system i should follow? Does the server behind avisynth.org have enough power to host the whole wiki &amp;amp; files or should i help with my own ded. server? :) Thanks! [[User:An3k|an3k]] 12:58, 21 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
i would like to buy your website , is it for sale? &lt;br /&gt;
&lt;br /&gt;
if yes reply me at yonielbb1@gmail.com with the price&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-08-10T22:03:24Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving</id>
		<title>Talk:Mediawiki/FAQ frameserving</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving"/>
				<updated>2024-08-10T22:02:52Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== please delete this page ====&lt;br /&gt;
I was trying to support old links such as this:&amp;lt;br&amp;gt;&lt;br /&gt;
http://avisynth.org/mediawiki/FAQ_frameserving &amp;lt;br&amp;gt;&lt;br /&gt;
...which I encountered here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://forum.doom9.org/showpost.php?p=1360122&amp;amp;postcount=6&lt;br /&gt;
&lt;br /&gt;
Sadly it does not work. To support old links like this would require a web-server level [http://httpd.apache.org/docs/2.2/mod/mod_alias.html redirect] in your web root [[wikipedia:.htaccess|&amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt;]] file - something like:&lt;br /&gt;
 RedirectMatch permanent '/mediawiki/'   http://avisynth.nl/index.php/&lt;br /&gt;
I believe this would fix all old links like the one above - or at least do no harm. I have done similar redirects for another site, required by a complete site reorganization while not breaking old URLs, and it worked very well.&amp;lt;br&amp;gt;&lt;br /&gt;
Your web host may prefer you add redirects through the admin control panel, rather than edit &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; directly. Either way is good.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Raffriff42|Raffriff42]] 04:38, 5 October 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving</id>
		<title>Talk:Mediawiki/FAQ frameserving</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving"/>
				<updated>2024-08-10T22:02:24Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 45.88.97.213 (talk) to last revision by 143.244.39.28&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== please delete this page ====&lt;br /&gt;
I was trying to support old links such as this:&amp;lt;br&amp;gt;&lt;br /&gt;
http://avisynth.org/mediawiki/FAQ_frameserving &amp;lt;br&amp;gt;&lt;br /&gt;
...which I encountered here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://forum.doom9.org/showpost.php?p=1360122&amp;amp;postcount=6&lt;br /&gt;
&lt;br /&gt;
Sadly it does not work. To support old links like this would require a web-server level [http://httpd.apache.org/docs/2.2/mod/mod_alias.html redirect] in your web root [[wikipedia:.htaccess|&amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt;]] file - something like:&lt;br /&gt;
 RedirectMatch permanent '/mediawiki/'   http://avisynth.nl/index.php/&lt;br /&gt;
I believe this would fix all old links like the one above - or at least do no harm. I have done similar redirects for another site, required by a complete site reorganization while not breaking old URLs, and it worked very well.&amp;lt;br&amp;gt;&lt;br /&gt;
Your web host may prefer you add redirects through the admin control panel, rather than edit &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; directly. Either way is good.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Raffriff42|Raffriff42]] 04:38, 5 October 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Best CBD Products ==&lt;br /&gt;
&lt;br /&gt;
I tried CBD products in the interest of the beginning term pattern week, and I'm genuinely surprised by the results. I've struggled with nervousness and auxiliary sleeplessness, and CBD seemed to tender a arcane, still effectual, have of coolness and relaxation. There was no 'high-pitched,' perfectly a unruffled easing of my foreboding symptoms and a more tranquillizing night's sleep. It tasted a bit dirty, but that's a miniature trade-off for feeling more at peace. I'm looking forward to seeing how it helps in the desire run.&lt;br /&gt;
&lt;br /&gt;
== Try cannabis products! ==&lt;br /&gt;
&lt;br /&gt;
Infuriating hemp flower quest of the first metre was an eye-opening experience. The relaxation and euphoria were unexpected but welcomed. It enhanced my sensory appreciation and sparked a newfound appreciation appropriate for music and art. Anyway, the highly-strung mania caught me off guard. Total, it was a historic introduction to a late the human race of sensations.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-07-28T15:15:35Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-07-21T21:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-07-21T21:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 84.54.47.190 (talk) to last revision by 91.238.47.30&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;br /&gt;
&lt;br /&gt;
== loli ==&lt;br /&gt;
&lt;br /&gt;
loli cp &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==&amp;gt; biturl.top/qeAJJf &amp;lt;== &lt;br /&gt;
 &lt;br /&gt;
==&amp;gt; rlys.nl/6epap3 &amp;lt;==&lt;br /&gt;
&lt;br /&gt;
== Most superbly CBD Products ==&lt;br /&gt;
&lt;br /&gt;
I've been using CBD products instead of over two years today, and the knowledge has been transformative. CBD unguent has curiously improved my slumber calibre and reduced my longing levels. The edibles are a convenient and enjoyable way to mix CBD into my commonplace routine. I regard highly the talent propositions to wellness that CBD offers, and I've sagacious no adverse side effects. Tremendously approve representing those seeking a commonplace different to unwritten medications.&lt;br /&gt;
&lt;br /&gt;
== Handwriting - recorded in the manuscript, ==&lt;br /&gt;
&lt;br /&gt;
Manuscript is a collective name for texts&lt;br /&gt;
&lt;br /&gt;
== Handwriting can be &amp;quot;good&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
the best poets of his era and&lt;br /&gt;
&lt;br /&gt;
== materials of figures of the past. ==&lt;br /&gt;
&lt;br /&gt;
Libraries of the Carolingian era). IN&lt;br /&gt;
&lt;br /&gt;
== research is not universally recognized in ==&lt;br /&gt;
&lt;br /&gt;
book about the chess of love &amp;quot;, created by&lt;br /&gt;
&lt;br /&gt;
== Лазерное удаление папиллом ==&lt;br /&gt;
&lt;br /&gt;
Здравствуйте! Меня зовут Шестаков Юрий Иванович, я врач-косметолог с многолетним опытом работы в области эстетической медицины. Сейчас я отвечу на ваши вопросы и расскажу полезной информацией о лазерном удалении папиллом. Моя цель — помочь вам понять, как безопасно и эффективно избавиться от папиллом и какие преимущества имеет лазерное удаление. &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Сколько времени занимает процедура лазерного удаления папиллом? &lt;br /&gt;
Процедура лазерного удаления папиллом занимает от нескольких минут до получаса, в зависимости от количества и размера папиллом. Время проведения процедуры также может варьироваться в зависимости от сложности случая и используемого оборудования. &lt;br /&gt;
How long does the laser removal of papillomas procedure take? &lt;br /&gt;
The laser removal of papillomas procedure takes from a few minutes to half an hour, depending on the number and size of the papillomas. The procedure time may also vary depending on the complexity of the case and the equipment used.&lt;br /&gt;
&lt;br /&gt;
== промышленный 3д сканер ==&lt;br /&gt;
&lt;br /&gt;
Современные технологии в промышленном 3D сканере, легкость в использовании. &lt;br /&gt;
Как выбрать лучший промышленный 3D сканер, критерии выбора. &lt;br /&gt;
Преимущества использования промышленного 3D сканера, лучшие практики. &lt;br /&gt;
Безопасность информации при использовании 3D сканера в промышленности, способы обеспечения конфиденциальности. &lt;br /&gt;
Технологические инновации в области 3D сканирования, новые горизонты в применении. &lt;br /&gt;
3д сканер промышленный &amp;lt;a href=promyshlennyj3d-skaner6.ru&amp;gt;promyshlennyj3d-skaner6.ru&amp;lt;/a&amp;gt; .&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-06-27T11:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-05-30T18:17:18Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-05-30T18:16:01Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 5.143.23.11 (talk) to last revision by 195.239.203.177&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;br /&gt;
&lt;br /&gt;
== as a scientific fact. ==&lt;br /&gt;
&lt;br /&gt;
commonly associated with&lt;br /&gt;
&lt;br /&gt;
== and print on printers). ==&lt;br /&gt;
&lt;br /&gt;
antiquities. These are the Egyptian papyri&lt;br /&gt;
&lt;br /&gt;
== is shrinking (people are increasingly ==&lt;br /&gt;
&lt;br /&gt;
then only a few have reached us&lt;br /&gt;
&lt;br /&gt;
== Subjective inherent in a specific ==&lt;br /&gt;
&lt;br /&gt;
reproduced by hand, in contrast&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving</id>
		<title>Talk:Mediawiki/FAQ frameserving</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving"/>
				<updated>2024-05-30T18:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 149.40.50.42 (talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== please delete this page ====&lt;br /&gt;
I was trying to support old links such as this:&amp;lt;br&amp;gt;&lt;br /&gt;
http://avisynth.org/mediawiki/FAQ_frameserving &amp;lt;br&amp;gt;&lt;br /&gt;
...which I encountered here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://forum.doom9.org/showpost.php?p=1360122&amp;amp;postcount=6&lt;br /&gt;
&lt;br /&gt;
Sadly it does not work. To support old links like this would require a web-server level [http://httpd.apache.org/docs/2.2/mod/mod_alias.html redirect] in your web root [[wikipedia:.htaccess|&amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt;]] file - something like:&lt;br /&gt;
 RedirectMatch permanent '/mediawiki/'   http://avisynth.nl/index.php/&lt;br /&gt;
I believe this would fix all old links like the one above - or at least do no harm. I have done similar redirects for another site, required by a complete site reorganization while not breaking old URLs, and it worked very well.&amp;lt;br&amp;gt;&lt;br /&gt;
Your web host may prefer you add redirects through the admin control panel, rather than edit &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; directly. Either way is good.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Raffriff42|Raffriff42]] 04:38, 5 October 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Feedback</id>
		<title>Feedback</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Feedback"/>
				<updated>2024-05-12T19:44:01Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 45.146.31.204 (talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BlueBox}}'''The Feedback page has been retired.''' &amp;lt;br&amp;gt;&lt;br /&gt;
To give feedback, report bugs or ask for help, please visit the [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 AviSynth Usage Forum]{{End_BlueBox}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
THIS PAGE IS OBSOLETE&lt;br /&gt;
&lt;br /&gt;
Please put &amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt; behind your comments to add your name/date.&lt;br /&gt;
&lt;br /&gt;
I tried to download avisynth but get a message that I need administrator rights to install it. I have administrator rights and have never had a problem downloading anything before. Any idea what's wrong? Anyone else have this problem?&lt;br /&gt;
&lt;br /&gt;
:See [http://forum.doom9.org/showthread.php?t=97406]. Apperently you are not the only one with this problem. Uninstalling it first solves the problem. What is the latest AviSynth version which installs without problems? [[User:Wilbert|Wilbert]] 03:39, 31 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
The Resize (tried Bicubic and Spline36) function crashes AviSynth on my Windows Vista 64-bit, 8GB RAM (core2quad). Everything else works fine - including all other functions/filters I tried.&lt;br /&gt;
&lt;br /&gt;
I would like to port all the plugins documentation (website / readme files) and the plugins themself into this wiki so no data get lost because of canceled webhosting services, removed images, etc. Can i just start or do i have to ask the plugin developer for permission before? What if the developer does not reply at all? Is there a special wiki page naming system i should follow? Does the server behind avisynth.org have enough power to host the whole wiki &amp;amp; files or should i help with my own ded. server? :) Thanks! [[User:An3k|an3k]] 12:58, 21 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
i would like to buy your website , is it for sale? &lt;br /&gt;
&lt;br /&gt;
if yes reply me at yonielbb1@gmail.com with the price&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving</id>
		<title>Talk:Mediawiki/FAQ frameserving</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving"/>
				<updated>2024-03-01T12:48:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Undo revision 13328 by 154.6.95.135 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== please delete this page ====&lt;br /&gt;
I was trying to support old links such as this:&amp;lt;br&amp;gt;&lt;br /&gt;
http://avisynth.org/mediawiki/FAQ_frameserving &amp;lt;br&amp;gt;&lt;br /&gt;
...which I encountered here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://forum.doom9.org/showpost.php?p=1360122&amp;amp;postcount=6&lt;br /&gt;
&lt;br /&gt;
Sadly it does not work. To support old links like this would require a web-server level [http://httpd.apache.org/docs/2.2/mod/mod_alias.html redirect] in your web root [[wikipedia:.htaccess|&amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt;]] file - something like:&lt;br /&gt;
 RedirectMatch permanent '/mediawiki/'   http://avisynth.nl/index.php/&lt;br /&gt;
I believe this would fix all old links like the one above - or at least do no harm. I have done similar redirects for another site, required by a complete site reorganization while not breaking old URLs, and it worked very well.&amp;lt;br&amp;gt;&lt;br /&gt;
Your web host may prefer you add redirects through the admin control panel, rather than edit &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; directly. Either way is good.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Raffriff42|Raffriff42]] 04:38, 5 October 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-03-01T12:48:12Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving</id>
		<title>Talk:Mediawiki/FAQ frameserving</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Mediawiki/FAQ_frameserving"/>
				<updated>2024-03-01T12:47:45Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 154.6.95.21 (talk) to last revision by 154.6.95.135&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== please delete this page ====&lt;br /&gt;
I was trying to support old links such as this:&amp;lt;br&amp;gt;&lt;br /&gt;
http://avisynth.org/mediawiki/FAQ_frameserving &amp;lt;br&amp;gt;&lt;br /&gt;
...which I encountered here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://forum.doom9.org/showpost.php?p=1360122&amp;amp;postcount=6&lt;br /&gt;
&lt;br /&gt;
Sadly it does not work. To support old links like this would require a web-server level [http://httpd.apache.org/docs/2.2/mod/mod_alias.html redirect] in your web root [[wikipedia:.htaccess|&amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt;]] file - something like:&lt;br /&gt;
 RedirectMatch permanent '/mediawiki/'   http://avisynth.nl/index.php/&lt;br /&gt;
I believe this would fix all old links like the one above - or at least do no harm. I have done similar redirects for another site, required by a complete site reorganization while not breaking old URLs, and it worked very well.&amp;lt;br&amp;gt;&lt;br /&gt;
Your web host may prefer you add redirects through the admin control panel, rather than edit &amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt; directly. Either way is good.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Raffriff42|Raffriff42]] 04:38, 5 October 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
== The conquer CBD products ==&lt;br /&gt;
&lt;br /&gt;
I gave cbd gummies a try for the treatment of the primary previously, and I'm amazed! They tasted smashing and provided a intelligibility of calmness and relaxation. My lay stress melted away, and I slept less ill too. These gummies are a game-changer for me, and I highly endorse them to anyone seeking spontaneous emphasis liberation and think twice sleep.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:Main_Page</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:Main_Page"/>
				<updated>2024-03-01T12:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 188.130.129.242 (talk) to last revision by 138.199.59.201&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
==== 2.60 alpha ====&lt;br /&gt;
&lt;br /&gt;
''v.2.6.0 ST, 32-bit at SourceForge (still in alpha stage)''&lt;br /&gt;
&lt;br /&gt;
Shouldn't a note be put up to encourage people to get this version, something like (in StainlessS's words, [http://forum.doom9.org/showthread.php?p=1690445#post1690445 here]) &amp;lt;blockquote&amp;gt;''v2.6 is much better. If you don't like the alpha status, then just don't use 2.6 additional colorspaces or functions - 2.58 compatible stuff is considerably more stable.''&amp;lt;/blockquote&amp;gt; [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
(EDIT forgot to add four ~'s for auto-sig)&lt;br /&gt;
&lt;br /&gt;
-- -- --&lt;br /&gt;
&lt;br /&gt;
Yeah I've thought about doing something like this. Maybe create a page exclusively for AviSynth 2.6 info and add all possible references in hope of convincing people to use 2.6 over 2.5.8? &lt;br /&gt;
&lt;br /&gt;
*IanB: http://forum.doom9.org/showthread.php?p=1629125#post1629125 (note: this was written during the alpha4 phase, maybe some of the things mentioned no longer apply to alpha5?)&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As a 2.5.8 replacement 2.6.0 should be just as stable. It passes all current the 2.5 regression tests, while 2.5.8 fails a few due to bugs being fixed and test to expose them being added. Most problems show up in new code, so if you use the new 2.6 features, that is where you might expect to find problems. A lot of people are downloading 2.6. And the only 2.5 bug reports I seem to get are for things broken in 2.5.8 as well, the few 2.6 bug reports are to do with things like YV24 overlay and YV411 text painting.&lt;br /&gt;
&lt;br /&gt;
I have most of the API changes mapped out to cover hooks for expected features for 2.6.1 and 2.6.2 like extra colour spaces and threading so that 2.6 plugins won't need to be recompiled. I have a long standing bug in the cache from 2.5.7 that I am working on at present and I intend to do an Alpha 5 release when I finish and test that fix. If Alpha 5 stands up without any new bugs I will probably promote it to Release Candidate 1, i.e. 1st Beta release.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Doom9 thread:  [http://forum.doom9.org/showthread.php?t=168478 Which Avisynth version are you using?] - A poll which clearly shows that most people are using 2.6.&lt;br /&gt;
&lt;br /&gt;
I also have my own little rant on this very issue: http://forum.doom9.org/showthread.php?p=1684284#post1684284 - nothing of importance just frustrated that people are still using 2.5.8 and still have the audacity to complain.&lt;br /&gt;
&lt;br /&gt;
Regarding the wiki I never really did anything about it because I don't know what my limits are? I know it's a wiki but I also don't want to overstep any boundaries (if any). [[User:Reel.Deal|Reel.Deal]] 15:20, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:- yeah I know, editing the main page as a normal user requires chutzpah. [[User:Raffriff42|Raffriff42]] 05:34, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Feel free to make changes, i will read and correct them if necessary. If you want to change something but you are not sure about it, just ask. You can also use the talk pages for such proposals [[User:Admin|Admin]] 16:56, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::OK I put something up there. Feel free to edit or roll back completely. [[User:Raffriff42|Raffriff42]] 21:51, 20 August 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Avisynth Manual&amp;quot; ====&lt;br /&gt;
:...links to [[Internal filters]] - wth?? &lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interested? On this site, you can read [[more about AviSynth]], search the official [[Internal filters|AviSynth manual]], and browse the [[AviSynth FAQ]]. Or you can jump straight to pages listed below for downloading Avisynth.  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:&amp;quot;Internal filters&amp;quot; is a nice page and all, but it's not a Manual. I figured somebody made a typo and went to the [http://web.archive.org/ archive] to find where it went wrong. It seems Internal filters has been the link target for a long, long time - I had to go back to 2007 to find an [http://web.archive.org/web/20070704162253/http://avisynth.org/AviSynthManual &amp;quot;AviSynth Manual.&amp;quot;] It ain't much; it's mostly a list of filters. &lt;br /&gt;
&lt;br /&gt;
:Really, these days, the Main Page '''is''' the Manual - so I propose we revise any phrases like &amp;quot;browse the manual&amp;quot; to something more appropriate to the context - or simply delete references to the Manual altogether.&lt;br /&gt;
:[[User:Raffriff42|Raffriff42]] 05:53, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:...deleted reference to the Manual, also cleaned up the top nav bar. [[User:Raffriff42|Raffriff42]] 17:51, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====User pages====&lt;br /&gt;
:re ''User pages hosted on this site'', the listing on the main page is intended to be temporary. I have no idea how many user pages there are; they are hard to find unless you stumble across them, or else maybe drill down into the all of the [http://avisynth.nl/index.php?title=Special%3APrefixIndex&amp;amp;prefix=Template%3A&amp;amp;namespace=0 Author templates]. It would be nice to have an Authors category or better yet, a 'thank-you' page somewhere. It sounds like a lot of work though. If anyone has this info in spreadsheet form in would be a big help. [[User:Raffriff42|Raffriff42]] 18:08, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Not sure what you mean but there are only three authors who have a user page: http://avisynth.nl/index.php?title=Special:ListUsers&amp;amp;limit=100 . I don't know how to get a list of all users who edited at least one page. http://avisynth.nl/index.php/Special:ActiveUsers gives only the users who edited something in the last 30 days. Anyway most users are fake (i think but i'm not sure). They should be merged into a spam account. [[User:Admin|Admin]] 18:29, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::I mean Avisynth code or plugin authors, not Wiki authors in this case. If those are the only 3 then there's no need to do anything more. Thanks. [[User:Raffriff42|Raffriff42]] 19:01, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
====OldWiki====&lt;br /&gt;
The [http://avisynth.org/oldwiki/ &amp;quot;Old Wiki&amp;quot; link] on the sidebar is dead; it should use [[:Template:OldWiki]] - or [http://web.archive.org/web/20100616111740/http://avisynth.org/oldwiki this link] directly. --[[User:Raffriff42|Raffriff42]] 13:26, 19 January 2016 (CET)&lt;br /&gt;
&lt;br /&gt;
==  thank you very much  ==&lt;br /&gt;
&lt;br /&gt;
 interesting for a very long time&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Resize</id>
		<title>Resize</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Resize"/>
				<updated>2024-02-22T20:53:41Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 77.205.22.58 (talk) to last revision by Reel.Deal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div {{BlueBox2|40|0|3px solid purple}} &amp;gt;&lt;br /&gt;
{{AvsPlusFullname}}&amp;lt;br&amp;gt;&lt;br /&gt;
Up-to-date documentation: [https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/resize.html https://avisynthplus.readthedocs.io]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scales the input video frames to an arbitrary new resolution, and optionally crops the frame before resizing with sub-pixel precision. &lt;br /&gt;
&lt;br /&gt;
There are trade-offs to be considered between preservation (or augmentation) of image detail and possible artifacts (i.e., oversharpening).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Common Parameters ==&lt;br /&gt;
&lt;br /&gt;
{{Par2|target_width, target_height|int|}}&lt;br /&gt;
:Width and height of the returned clip.&lt;br /&gt;
&lt;br /&gt;
{{Par2|src_left, src_top|float|0, 0}}&lt;br /&gt;
:See [[#Cropping |cropping]] discussion below.&lt;br /&gt;
&amp;lt;div {{ListItemContinue|2}} &amp;gt;&lt;br /&gt;
Cropping of the {{FuncArg|left}} and {{FuncArg|top}} edges respectively, in pixels, before resizing.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Par2|src_width, src_height|float|(source width, height)}}&lt;br /&gt;
:See [[#Cropping |cropping]] discussion below.&lt;br /&gt;
&amp;lt;div {{ListItemContinue|2}} &amp;gt;&lt;br /&gt;
As with [[Crop]], these arguments have different functionality, depending on their value: &lt;br /&gt;
* If &amp;amp;nbsp;&amp;amp;gt; zero, these set the '''width''' and '''height''' of the clip before resizing.  &lt;br /&gt;
* If &amp;amp;lt;= zero, they set the cropping of the '''right''' and '''bottom''' edges respectively,  before resizing.&lt;br /&gt;
Note, there are certain limits:&lt;br /&gt;
* {{FuncArg|clip}}.[[Clip_properties|Width]] must be &amp;amp;gt;= ({{FuncArg|src_left}} + '''width''')&lt;br /&gt;
* {{FuncArg|clip}}.[[Clip_properties|Width]] must be &amp;amp;gt;&amp;amp;nbsp; ({{FuncArg|src_left}} + '''right''')&lt;br /&gt;
* {{FuncArg|clip}}.[[Clip_properties|Height]] must be &amp;amp;gt;= ({{FuncArg|src_top}} + '''height''')&lt;br /&gt;
* {{FuncArg|clip}}.[[Clip_properties|Height]] must be &amp;amp;gt;&amp;amp;nbsp; ({{FuncArg|src_top}} + '''bottom''')&lt;br /&gt;
...otherwise it would enlarge (&amp;quot;un-crop&amp;quot;) the clip, or reduce width or height to 0, which is not allowed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cropping ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
* All resizers have an expanded syntax which '''crops''' the frame before resizing: &lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|54|3}} &amp;gt;&lt;br /&gt;
 BilinearResize(100, 150, ''src_left''=10, ''src_top''=10, ''src_width''=200, ''src_height''=300)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{ListItemContinue}} &amp;gt;&lt;br /&gt;
...or more succinctly:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|54|3}} &amp;gt;&lt;br /&gt;
 BilinearResize(100, 150, 10, 10, 200, 300)&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div {{ListItemContinue}} &amp;gt;&lt;br /&gt;
The operations are the same as if you put [[Crop]] before the Resize:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|54|3}} &amp;gt;&lt;br /&gt;
 Crop(10, 10, 200, 300).BilinearResize(100, 150)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Note the cropping parameters are all [[Script_variables|floating point]]. This allows any '''Resize''' filter to be used as a sub-pixel shifter. &amp;lt;sup&amp;gt;[http://forum.doom9.org/showpost.php?p=938102&amp;amp;postcount=2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Note that [[Crop]] gives a hard boundary, whereas the '''Resize''' filters interpolate pixels outside the cropped region &amp;amp;ndash; depending on the resizer kernel &amp;amp;ndash; bilinear, bicubic etc, and not beyond the edge of the image.&lt;br /&gt;
&lt;br /&gt;
*As a general rule, &lt;br /&gt;
** [[Crop]] any hard borders or noise; '''Resize''' cropping may propagate the noise into the output. &lt;br /&gt;
** Use '''Resize''' cropping to maintain accurate edge rendering when excising a part of a complete image.&lt;br /&gt;
&lt;br /&gt;
*Negative cropping is allowed; this results in repeated edge pixels as shown below:&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|54|3}} &amp;gt;&lt;br /&gt;
 BilinearResize(Width, Height, -64, -64, Width, Height)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
:[[File:Sintel_frm6291_Resize_shift.jpg|680px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BilinearResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|BilinearResize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''BilinearResize''' uses standard [[Wikipedia:Bilinear_filtering|bilinear filtering]] and is a good choice for smoothing overly sharp sources.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BicubicResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|BicubicResize(clip ''clip'', int ''target_width'', int ''target_height'' [, float ''b'', float ''c'', &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''BicubicResize''' is similar to [[#BilinearResize|BilinearResize]], except that instead of a linear filtering function it uses the [[Wikipedia:Mitchell–Netravali_filters|Mitchell–Netravali]] two-part cubic. The parameters {{FuncArg|b}} and {{FuncArg|c}} can be used to adjust the properties of the cubic; they are sometimes referred to as &amp;quot;blurring&amp;quot; and &amp;quot;ringing&amp;quot; respectively.&lt;br /&gt;
&lt;br /&gt;
If you are enlarging your video, you will get sharper results with '''BicubicResize''' than with BilinearResize. However, if you are shrinking it, you may prefer [[#BilinearResize|BilinearResize]] as it performs some [[Wikipedia:Spatial_anti-aliasing#Examples|antialiasing]]. &lt;br /&gt;
&lt;br /&gt;
==== parameters ''b'' and ''c'' ====&lt;br /&gt;
{{Par2|b, c|float|1/3}}&lt;br /&gt;
:The default for both {{FuncArg|b}} and {{FuncArg|c}} is 1/3, which were recommended by Mitchell and Netravali for having the most visually pleasing results. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div {{ListItemContinue|2}} &amp;gt;&lt;br /&gt;
Set [{{FuncArg|b}} + 2{{FuncArg|c}} = 1] for the most numerically accurate filter. This gives, for {{FuncArg|b}}=0, the maximum value of 0.5 for {{FuncArg|c}}, which is the [[Wikipedia:Cubic_Hermite_spline#Catmull.E2.80.93Rom_spline|Catmull-Rom spline]] and a good suggestion for sharpness. &lt;br /&gt;
&lt;br /&gt;
Larger values of {{FuncArg|b}} and {{FuncArg|c}} can produce interesting op-art effects &amp;amp;ndash; for example, try ({{FuncArg|b}}=0, {{FuncArg|c}}= -5.0). &lt;br /&gt;
&lt;br /&gt;
As {{FuncArg|c}} exceeds 0.6, the filter starts to [[Wikipedia:Ringing_artifacts|&amp;quot;ring&amp;quot;]] or overshoot. You won't get true sharpness &amp;amp;ndash; what you'll get is exaggerated edges.&lt;br /&gt;
Negative values for {{FuncArg|b}} (although allowed) give undesirable results, so use {{FuncArg|b}}=0 for values of {{FuncArg|c}} &amp;gt; 0.5.&lt;br /&gt;
&lt;br /&gt;
With ({{FuncArg|b}}=0, {{FuncArg|c}}=0.75) the filter is the same as [http://www.virtualdub.org/blog/pivot/entry.php?id=95 VirtualDub's &amp;quot;Precise Bicubic&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
'''BicubicResize''' may be the most visually pleasing of the '''Resize''' filters for ''downsizing'' to half-size or less.&amp;lt;sup&amp;gt;[http://forum.doom9.org/showthread.php?t=172871&amp;amp;page=2 doom9]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;Try the default setting, ({{FuncArg|b}}=0, {{FuncArg|c}}=0.75) as above, or ({{FuncArg|b}}= -0.5, {{FuncArg|c}}=0.25).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== BlackmanResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|BlackmanResize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'', int ''taps'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''BlackmanResize''' is a modification of LanczosResize that has better control of [[Wikipedia:Ringing_artifacts|ringing]] artifacts for high numbers of {{FuncArg|taps}}. &lt;br /&gt;
&lt;br /&gt;
==== parameter ''taps'' ====&lt;br /&gt;
{{Par2|taps|int|4}}&lt;br /&gt;
:See [[#lanczos_taps|LanczosResize]] for an explanation of the {{FuncArg|taps}} argument (default 4, range 1-100).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GaussResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|GaussResize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'', float ''p'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''GaussResize''' uses a [[Wikipedia:Gaussian_filter|gaussian]] resizer, which unlike the bicubics, does not overshoot &amp;amp;ndash; but perhaps does not appear as sharp to the eye.&lt;br /&gt;
&lt;br /&gt;
==== parameter ''p'' ====&lt;br /&gt;
{{Par2|p|float|30.0}}&lt;br /&gt;
:Sharpness. Range from about 1 to 100, with 1 being very blurry and 100 being very sharp.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LanczosResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|LanczosResize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'', int ''taps'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|Lanczos4Resize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''LanczosResize''' is a sharper alternative to [[#BicubicResize|BicubicResize]]. It is NOT suited for low bitrate video; the various Bicubic flavours are much better for this. &lt;br /&gt;
&lt;br /&gt;
'''Lanczos4Resize''' is a short hand for &amp;lt;code&amp;gt;LanczosResize(taps=4)&amp;lt;/code&amp;gt;. It produces sharper images than LanczosResize with the default {{FuncArg|taps}}=3, especially useful when upsizing a clip.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;lanczos_taps&amp;quot; style=&amp;quot;display:inline;font-size:50%;height:0;line-height:0;overflow:hidden;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==== parameter ''taps'' ====&lt;br /&gt;
{{Par2|taps|int|3}}&lt;br /&gt;
:Basically, {{FuncArg|taps}} affects sharpness. Default 3, range 1-100. Equal to the number of filter [[Wikipedia:Lanczos_resampling#Lanczos_kernel|''lobes'']] (ignoring mirroring around the origin).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div {{ListItemContinue|2}} &amp;gt;&lt;br /&gt;
''Note:'' the input argument named {{FuncArg|taps}} should really be called &amp;quot;lobes&amp;quot;. When discussing resizers, &amp;quot;taps&amp;quot; has a different meaning, as described below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div {{ListItemContinue|1}} &amp;gt;&lt;br /&gt;
{{BoldColor|black|120|“}}So when people talk about Lanczos2, they mean a 2-lobe Lanczos-windowed sinc function. There are actually 4 lobes -- 2 on each side...&lt;br /&gt;
&lt;br /&gt;
For upsampling (making the image larger), the filter is sized such that the entire equation falls across 4 input samples, making it a 4-tap filter. It doesn't matter how big the output image is going to be - it's still just 4 taps. For downsampling (making the image smaller), the equation is sized so it will fall across 4 *destination* samples, which obviously are spaced at wider intervals than the source samples. So for downsampling by a factor of 2 (making the image half as big), the filter covers 8 input samples, and thus 8 taps. For 3X downsampling, you need 12 taps, and so forth.&lt;br /&gt;
&lt;br /&gt;
The total number of taps you need for downsampling is the downsampling ratio times the number of lobes, times 2. And practically, one needs to round that up to the next even integer. For upsampling, it's always 4 taps.{{BoldColor|black|120|”}}&lt;br /&gt;
&lt;br /&gt;
[http://www.avsforum.com/forum/26-home-theater-computers/460922-lanczos-vs-bicubic-comparison-2.html#post4760581 Don Munsil (avsforum post)] | [[lanczos lobs/taps|mirror]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PointResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|PointResize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''PointResize''' is the simplest resizer possible. It uses a Point Sampler or [[Wikipedia:Nearest-neighbor_interpolation|Nearest Neighbour]] algorithm, which usually results in a very &amp;quot;blocky&amp;quot; image. So in general this filter should only be used, if you ''intend'' to have inferior quality, or you need the clear pixel drawings. Useful for magnifying small areas for examination.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spline based resizers ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|Spline16Resize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|Spline36Resize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|Spline64Resize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Spline16Resize''', '''Spline36Resize''' and '''Spline64Resize''' are three [[Wikipedia:Spline_interpolation|Spline based]] resizers. They are the (cubic) spline based resizers from [http://sourceforge.net/projects/panotools/ Panorama tools] that fit a spline through the sample points and then derives the filter kernel from the resulting blending polynomials. See [http://forum.doom9.org/showthread.php?t=147117 this thread] for the technical details.&lt;br /&gt;
&lt;br /&gt;
The rationale for '''Spline''' is to be as sharp as possible with less ringing artifacts than [[#LanczosResize|LanczosResize]] produces. '''Spline16Resize''' uses &amp;amp;radic;16 or 4 sample points, '''Spline36Resize''' uses &amp;amp;radic;36 or 6 sample points, etc ... The more sample points used, the more accurate the resampling. Several resizer comparison pages are given in the [[#External Links|External Links]] section. &lt;br /&gt;
&lt;br /&gt;
*'''Spline64Resize''' may be the most accurate of the '''Resize''' filters.&amp;lt;sup&amp;gt;[http://web.archive.org/web/20060827184031/http://www.path.unimelb.edu.au/~dersch/interpolator/interpolator.html Dersch]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*'''Spline16Resize''' is sharper and [[Wikipedia:Ringing_artifacts|rings]] just a bit (which may be desirable with soft sources),&amp;lt;br&amp;gt;and looks pleasing to the eye when enlarging or reducing in moderate amounts.&amp;lt;sup&amp;gt;[http://forum.doom9.org/showthread.php?p=1689519#post1689519 doom9]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*'''Spline36Resize''' is somewhere in between the other two.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SincResize ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef&lt;br /&gt;
|SincResize(clip ''clip'', int ''target_width'', int ''target_height'' [, &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;float ''src_left'', float ''src_top'', float ''src_width'', float ''src_height'', int ''taps'' ] )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''SincResize''' uses the truncated sinc function. It is very sharp, but prone to [[Wikipedia:Ringing_artifacts|ringing]] artifacts.&lt;br /&gt;
&lt;br /&gt;
==== parameter ''taps'' ====&lt;br /&gt;
{{Par2|taps|int|4}}&lt;br /&gt;
:See [[#lanczos_taps|LanczosResize]] for an explanation of the {{FuncArg|taps}} argument (default 4, range 1-20).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* Cropping:&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|42|3}} &amp;gt;&lt;br /&gt;
 Crop(10, 10, 200, 300).BilinearResize(100, 150)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{ListItemContinue}} &amp;gt;&lt;br /&gt;
which is nearly the same as:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|42|3}} &amp;gt;&lt;br /&gt;
 BilinearResize(100, 150, 10, 10, 200, 300)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Load a video file and resize it to 240x180 (from whatever it was before)&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|42|3}} &amp;gt;&lt;br /&gt;
 AviSource(&amp;quot;video.avi&amp;quot;).BilinearResize(240,180)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Load a 720x480 ([[Wikipedia:Rec._601|Rec. 601]]) video and resize it to 352x240 ([[Wikipedia:Video_CD|VCD]]), preserving the correct aspect ratio&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|42|3}} &amp;gt;&lt;br /&gt;
 AviSource(&amp;quot;dv.avi&amp;quot;).BilinearResize(352, 240, 8, 0, 704, 480)&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;div {{ListItemContinue}} &amp;gt;&lt;br /&gt;
which is the same as:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|42|3}} &amp;gt;&lt;br /&gt;
 AviSource(&amp;quot;dv.avi&amp;quot;).BilinearResize(352, 240, 8, 0, -8, -0)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Extract the upper-right quadrant of a 320x240 video and zoom it to fill the whole frame&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|42|3}} &amp;gt;&lt;br /&gt;
 BilinearResize(320, 240, 160, 0, 160, 120)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
* AviSynth has completely separate vertical and horizontal resizers. If input is the same as output on one axis, that resizer will be skipped. The resizer with the smallest downscale ratio is called first; this is done to preserve maximum quality, so the second resizer has the best possible picture to work with. [[Filter_SDK/Data_storage|Data storing]] will have an impact on what [[Modulo|mods]] should be used for sizes when resizing and cropping; see [[Crop#Crop restrictions|Crop restrictions]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://hermidownloads.craqstar.de/videoresizefiltercomparasion/ ''AviSynth resize filter comparison''] (hermidownloads.craqstar.de) | [http://web.archive.org/web/20130815024055/http://hermidownloads.craqstar.de/videoresizefiltercomparasion archived link]&lt;br /&gt;
* [http://jeanbruenn.info/2011/10/30/upscaling-in-avisynth-comparison-of-resizers/ ''Upscaling in Avisynth – Comparison of resizers''] (jeanbruenn.info) | [http://web.archive.org/web/20140207171106/http://jeanbruenn.info/2011/10/30/upscaling-in-avisynth-comparison-of-resizers/ archived link]&lt;br /&gt;
* [http://web.archive.org/web/20060827184031/http://www.path.unimelb.edu.au/~dersch/interpolator/interpolator.html ''Testing Interpolator Quality''] (Helmut Dersch, Technical University Furtwangen)&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?t=172871 ''Discussion of resizers for downsizing''] (doom9.org)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| v2.60&lt;br /&gt;
| Added SincResize.&lt;br /&gt;
|- &lt;br /&gt;
| v2.58&lt;br /&gt;
| Added BlackmanResize, Spline64Resize.&lt;br /&gt;
|- &lt;br /&gt;
| v2.56&lt;br /&gt;
| Added Spline16Resize, Spline36Resize, GaussResize and taps parameter in LanczosResize; added offsets in Crop part of xxxResize.&lt;br /&gt;
|- &lt;br /&gt;
| v2.55&lt;br /&gt;
| Added Lanczos4Resize.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Internal filters]]&lt;br /&gt;
[[Category:Resizers]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Talk:ImageSource</id>
		<title>Talk:ImageSource</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Talk:ImageSource"/>
				<updated>2024-02-22T20:51:30Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 154.6.91.7 (talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have trouble loading animated GIFs, see this discussion @ doom9.org:&lt;br /&gt;
&lt;br /&gt;
        Try AviSynth+&lt;br /&gt;
        Try FFmpegSource&lt;br /&gt;
        Try LSMASHSource/LWLibavVideoSource &lt;br /&gt;
&lt;br /&gt;
:Both animated gifs (that are mentioned in that thread) load fine for me. Guess they must be using the old DevIL library or so. Please don't do this without testing it yourself (and file a bug report etc ...).&lt;br /&gt;
:Feel free to add alternative ways to import images here: http://avisynth.nl/index.php/Importing_media#How_do_I_load_my_image_into_AviSynth.3F  [[User:Admin|Admin]] 23:08, 1 February 2016 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Feedback</id>
		<title>Feedback</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Feedback"/>
				<updated>2024-01-24T22:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 185.54.231.69 (talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BlueBox}}'''The Feedback page has been retired.''' &amp;lt;br&amp;gt;&lt;br /&gt;
To give feedback, report bugs or ask for help, please visit the [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 AviSynth Usage Forum]{{End_BlueBox}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
THIS PAGE IS OBSOLETE&lt;br /&gt;
&lt;br /&gt;
Please put &amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt; behind your comments to add your name/date.&lt;br /&gt;
&lt;br /&gt;
I tried to download avisynth but get a message that I need administrator rights to install it. I have administrator rights and have never had a problem downloading anything before. Any idea what's wrong? Anyone else have this problem?&lt;br /&gt;
&lt;br /&gt;
:See [http://forum.doom9.org/showthread.php?t=97406]. Apperently you are not the only one with this problem. Uninstalling it first solves the problem. What is the latest AviSynth version which installs without problems? [[User:Wilbert|Wilbert]] 03:39, 31 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
The Resize (tried Bicubic and Spline36) function crashes AviSynth on my Windows Vista 64-bit, 8GB RAM (core2quad). Everything else works fine - including all other functions/filters I tried.&lt;br /&gt;
&lt;br /&gt;
I would like to port all the plugins documentation (website / readme files) and the plugins themself into this wiki so no data get lost because of canceled webhosting services, removed images, etc. Can i just start or do i have to ask the plugin developer for permission before? What if the developer does not reply at all? Is there a special wiki page naming system i should follow? Does the server behind avisynth.org have enough power to host the whole wiki &amp;amp; files or should i help with my own ded. server? :) Thanks! [[User:An3k|an3k]] 12:58, 21 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
i would like to buy your website , is it for sale? &lt;br /&gt;
&lt;br /&gt;
if yes reply me at yonielbb1@gmail.com with the price&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Feedback</id>
		<title>Feedback</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Feedback"/>
				<updated>2023-11-25T09:29:37Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 85.250.12.135 (talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BlueBox}}'''The Feedback page has been retired.''' &amp;lt;br&amp;gt;&lt;br /&gt;
To give feedback, report bugs or ask for help, please visit the [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 AviSynth Usage Forum]{{End_BlueBox}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
THIS PAGE IS OBSOLETE&lt;br /&gt;
&lt;br /&gt;
Please put &amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt; behind your comments to add your name/date.&lt;br /&gt;
&lt;br /&gt;
I tried to download avisynth but get a message that I need administrator rights to install it. I have administrator rights and have never had a problem downloading anything before. Any idea what's wrong? Anyone else have this problem?&lt;br /&gt;
&lt;br /&gt;
:See [http://forum.doom9.org/showthread.php?t=97406]. Apperently you are not the only one with this problem. Uninstalling it first solves the problem. What is the latest AviSynth version which installs without problems? [[User:Wilbert|Wilbert]] 03:39, 31 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
The Resize (tried Bicubic and Spline36) function crashes AviSynth on my Windows Vista 64-bit, 8GB RAM (core2quad). Everything else works fine - including all other functions/filters I tried.&lt;br /&gt;
&lt;br /&gt;
I would like to port all the plugins documentation (website / readme files) and the plugins themself into this wiki so no data get lost because of canceled webhosting services, removed images, etc. Can i just start or do i have to ask the plugin developer for permission before? What if the developer does not reply at all? Is there a special wiki page naming system i should follow? Does the server behind avisynth.org have enough power to host the whole wiki &amp;amp; files or should i help with my own ded. server? :) Thanks! [[User:An3k|an3k]] 12:58, 21 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
i would like to buy your website , is it for sale? &lt;br /&gt;
&lt;br /&gt;
if yes reply me at yonielbb1@gmail.com with the price&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Main_Page"/>
				<updated>2023-09-24T14:32:11Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;min-width: 700px; max-width: 1400px; margin: auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[[AviSynth FAQ]] | &lt;br /&gt;
[[Internal filters]] | &lt;br /&gt;
[[External filters]] | &lt;br /&gt;
[[AviSynth Syntax]] | &lt;br /&gt;
[http://sourceforge.net/projects/avisynth2/ Sourceforge] | &lt;br /&gt;
[http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 Forum]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]] &lt;br /&gt;
&lt;br /&gt;
{| role=&amp;quot;presentation&amp;quot; style=&amp;quot;border:0; margin:0;&amp;quot; width=&amp;quot;90%&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| &amp;lt;!-- Row 0 --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a [[frameserver]], providing instant editing without the need for temporary files.&lt;br /&gt;
&lt;br /&gt;
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|non-linear editing]]. While this may at first seem tedious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[first script|Your first script]]''' – A guide for total newbies.&lt;br /&gt;
* '''[[Getting started]]''' – An introductory guide.&lt;br /&gt;
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.&lt;br /&gt;
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].&lt;br /&gt;
* '''[[Script examples]]''' – Putting everything together in the real world.&lt;br /&gt;
* '''[[AviSynth FAQ]]''' – Answers to many common problems.&lt;br /&gt;
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''&lt;br /&gt;
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.&lt;br /&gt;
* [[Troubleshooting]] your scripts and configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border:none;max-width:26em;margin-left:1em&amp;quot;&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]&lt;br /&gt;
|style=&amp;quot;padding:0.5em&amp;quot;|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align: top; width:50%; padding-top: 1em;&amp;quot; |  &amp;lt;!-- Row 1 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__&lt;br /&gt;
*'''Current Builds'''&lt;br /&gt;
::{{AvsPlusFullname}}&lt;br /&gt;
::New features, backward compatible, native support for Unix-like OSes.&lt;br /&gt;
::[[AviSynth%2B|Wiki page]]&lt;br /&gt;
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&amp;amp;nbsp;]&lt;br /&gt;
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&amp;amp;nbsp;]&lt;br /&gt;
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Official builds''&lt;br /&gt;
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Unofficial builds''&lt;br /&gt;
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] &amp;lt;br&amp;gt;at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*'''Universal Installer'''&lt;br /&gt;
::Install&amp;amp;mdash;and quickly switch between&amp;amp;mdash;AviSynth versions:&lt;br /&gt;
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha&lt;br /&gt;
::* Avisynth+ 32-bit, 64-bit&lt;br /&gt;
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org&lt;br /&gt;
&lt;br /&gt;
*''Deprecated Multithread Version''&lt;br /&gt;
::v.2.5.8 MT, 32-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]&lt;br /&gt;
::v.2.5.8 MT, 64-bit, author SET, &amp;lt;br&amp;gt;[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org] &lt;br /&gt;
::[https://github.com/avxsynth/avxsynth AvxSynth] &amp;lt;br&amp;gt;AviSynth 2.5.8 running on Ubuntu 32/64. &lt;br /&gt;
&lt;br /&gt;
*''Old Bugs and issues''&lt;br /&gt;
::[[Known Issues v2.58|Known Issues in v2.58]].&lt;br /&gt;
::[[Known Issues|Known Issues in v2.60]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__&lt;br /&gt;
''The official reference documentation.''&lt;br /&gt;
* [[AviSynth Syntax|AviSynth Syntax overview]]&lt;br /&gt;
** '''[[Script variables]]''' – How to declare and use them in scripts.&lt;br /&gt;
** '''[[Operators]]''' – Available operators and relative precedence.&lt;br /&gt;
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.&lt;br /&gt;
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.&lt;br /&gt;
** '''[[Control structures]]''' – Language constructs for script flow control.&lt;br /&gt;
** '''[[User defined script functions]]''' – How to define and use them in scripts.&lt;br /&gt;
** '''[[Plugins]]''' – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most '''[[External filters]]''' are plugins; the rest are regular scripts.&lt;br /&gt;
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.&lt;br /&gt;
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 2 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__&lt;br /&gt;
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.&lt;br /&gt;
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.&lt;br /&gt;
* User pages hosted on this site:&lt;br /&gt;
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises]&lt;br /&gt;
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]&lt;br /&gt;
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]&lt;br /&gt;
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]&lt;br /&gt;
* [[Shared functions]] – Commonly used script functions.&lt;br /&gt;
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__&lt;br /&gt;
''Beyond scripting basics''&lt;br /&gt;
* [[Scripting reference|Scripting reference overview]] &lt;br /&gt;
** [[The full AviSynth grammar]] – The AviSynth grammar revisited and explained in detail.&lt;br /&gt;
** [[The script execution model]] – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions]] – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.&lt;br /&gt;
** [[Block statements]] – Techniques and coding idioms for creating blocks of AviSynth script statements.&lt;br /&gt;
** [[Arrays]] – Using arrays (and array operators) for manipulating collections of data in a single step.&lt;br /&gt;
** [[Scripting at runtime]] – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:40%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 3 Right --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]] &lt;br /&gt;
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode=&amp;quot;audiolevels&amp;quot;)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode=&amp;quot;color2&amp;quot;)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__&lt;br /&gt;
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.&lt;br /&gt;
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.&lt;br /&gt;
* [[Aspect ratios|Aspect ratios explained]] – Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.&lt;br /&gt;
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]&lt;br /&gt;
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 4 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Development}} === __NOEDITSECTION__&lt;br /&gt;
* Want to [[get involved]]?&lt;br /&gt;
* The [http://sourceforge.net/projects/avisynth2/ official project].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|install compilers and setup environments]].&lt;br /&gt;
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].&lt;br /&gt;
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].&lt;br /&gt;
* [[Filter SDK]] – AviSynth plugin programming tips.&lt;br /&gt;
* [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with&amp;amp;nbsp;C.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 AviSynth Developer Forum]&lt;br /&gt;
* The ongoing [[changelist]].&lt;br /&gt;
* About the development of [[AviSynth v3]] (which will be platform independent).&lt;br /&gt;
* References to [[Image Processing Algorithms|image processing algorithms]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Left --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__&lt;br /&gt;
We need your help to build and improve our site! &lt;br /&gt;
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].&lt;br /&gt;
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   &lt;br /&gt;
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;vertical-align:top; font-size:96%; width:50%; padding-top: 1em;&amp;quot; | &amp;lt;!-- Row 5 Right --&amp;gt;&lt;br /&gt;
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__&lt;br /&gt;
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.&lt;br /&gt;
&lt;br /&gt;
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Feedback</id>
		<title>Feedback</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Feedback"/>
				<updated>2023-09-22T19:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 85.65.147.180 (talk) to last revision by 84.32.52.31&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BlueBox}}'''The Feedback page has been retired.''' &amp;lt;br&amp;gt;&lt;br /&gt;
To give feedback, report bugs or ask for help, please visit the [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 AviSynth Usage Forum]{{End_BlueBox}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
THIS PAGE IS OBSOLETE&lt;br /&gt;
&lt;br /&gt;
Please put &amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt; behind your comments to add your name/date.&lt;br /&gt;
&lt;br /&gt;
I tried to download avisynth but get a message that I need administrator rights to install it. I have administrator rights and have never had a problem downloading anything before. Any idea what's wrong? Anyone else have this problem?&lt;br /&gt;
&lt;br /&gt;
:See [http://forum.doom9.org/showthread.php?t=97406]. Apperently you are not the only one with this problem. Uninstalling it first solves the problem. What is the latest AviSynth version which installs without problems? [[User:Wilbert|Wilbert]] 03:39, 31 March 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
The Resize (tried Bicubic and Spline36) function crashes AviSynth on my Windows Vista 64-bit, 8GB RAM (core2quad). Everything else works fine - including all other functions/filters I tried.&lt;br /&gt;
&lt;br /&gt;
I would like to port all the plugins documentation (website / readme files) and the plugins themself into this wiki so no data get lost because of canceled webhosting services, removed images, etc. Can i just start or do i have to ask the plugin developer for permission before? What if the developer does not reply at all? Is there a special wiki page naming system i should follow? Does the server behind avisynth.org have enough power to host the whole wiki &amp;amp; files or should i help with my own ded. server? :) Thanks! [[User:An3k|an3k]] 12:58, 21 December 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
i would like to buy your website , is it for sale? &lt;br /&gt;
&lt;br /&gt;
if yes reply me at yonielbb1@gmail.com with the price&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/User:Raffriff42</id>
		<title>User:Raffriff42</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/User:Raffriff42"/>
				<updated>2023-09-22T19:41:46Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Reverted edits by 64.44.118.197 (talk) to last revision by Raffriff42&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
=== Subpages ===&lt;br /&gt;
:[[File:Utils-r41.avsi|'''Utils-r41.avsi''']] (a library of basic utility functions; most require AVS+)&lt;br /&gt;
:[[User:Raffriff42/Utils-r41_Quick_Reference|'''Utils-r41_Quick_Reference''']] (a quick reference page for the above)&lt;br /&gt;
&lt;br /&gt;
:[[User:Raffriff42/Wiki_notes|'''Wiki_notes''']] (useful wikicode snippets)&lt;br /&gt;
&lt;br /&gt;
:[[User:Raffriff42/sandbox]] (blank)&lt;br /&gt;
:[[User:Raffriff42/Main_Page_sandbox]] (blank)&lt;br /&gt;
&lt;br /&gt;
=== Talk ===&lt;br /&gt;
&lt;br /&gt;
==== Color Presets, Categories ====&lt;br /&gt;
I like what you did with the color presets :) - [[User:Reel.Deal|Reel.Deal]] , August 4th 2014&lt;br /&gt;
:Hi again. Please fix the categories when you have time: http://avisynth.nl/index.php/Special:WantedCategories (either create them or remove them if they are doubles). Thanks for your efforts! Btw, the complete list: http://avisynth.nl/index.php/Special:Categories [[User:Admin|Admin]] 00:35, 21 September 2014 (CEST)&lt;br /&gt;
:Please also look at http://avisynth.nl/index.php/Special:LonelyPages . These pages are not linked from anywhere. [[User:Admin|Admin]] 00:52, 21 September 2014 (CEST)&lt;br /&gt;
::Sure thing, I will look at them soon. &lt;br /&gt;
::[[User:Raffriff42|Raffriff42]] 04:54, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::Hi, can you please hold off on doing that for just a bit? A handful of those entries are mine and I would like to revise and edit a few things before it gets finalized. I already started but I need a little bit more time. [[User:Reel.Deal|Reel.Deal]] 12:12, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::::You are better qualified to do the Categories anyway, as it is related to the (amazing) work you've been doing lately with External Filters. I'm gonna be busy with the TODO pages for a while, and after that, or maybe before that, a little break time; I'm tired! [[User:Raffriff42|Raffriff42]] 16:12, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Progress report: I have done some work on [[Special:Categories|Categories]], including as many [[Special:WantedCategories|Wanted Categories]] as I could fix - leaving the foreign language ones, and some others that look like Reel.Deal might be working on them. Ditto, [[Special:WantedPages|Wanted Pages]]. There remains one [[Special:WantedFiles|Wanted File]] that I cannot fix, namely [[Frebuild.avsi]]. That file seems to be lost. &lt;br /&gt;
::[[User:Raffriff42|Raffriff42]] 03:05, 15 November 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::Raffriff42, your recent changes to the templates broke some pages, take a look at [[ChromaShiftSP]], [[FTurn]], and probably more. Also the author's section in the abstract table looks off now (look at FTurn). [[User:Reel.Deal|Reel.Deal]] 05:41, 14 December 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
:::Putting the category without a line break fixes the problem, I'll try to go back and do it to all templates. [[User:Reel.Deal|Reel.Deal]] 05:53, 14 December 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
::::Ouch, so sorry about that! I should have checked! -- [[User:Raffriff42|Raffriff42]] 06:22, 14 December 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;clip.BlankClip does not work reliably here; use BlankClip(clip) instead&amp;quot;&lt;br /&gt;
Please explain. Why, when, under what circumstances? [[User:Admin|Admin]] 16:04, 10 February 2018 (CET)&lt;br /&gt;
: aaaah sorry, I can't recreate the problem now and can't find the script where I first experienced it. It was probably some error on my part. I'll remove that line right away. [[User:Raffriff42|Raffriff42]] 04:37, 11 February 2018 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Filter_SDK/C_API/AVS_VideoInfo</id>
		<title>Filter SDK/C API/AVS VideoInfo</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Filter_SDK/C_API/AVS_VideoInfo"/>
				<updated>2023-04-01T22:04:59Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The AVS_VideoInfo structure holds global information about a clip (i.e. information that does not depend on the frame number). It's a member of the AVS_FilterInfo structure. Below is a description of it (for AVISYNTH_INTERFACE_VERSION=6).&lt;br /&gt;
&lt;br /&gt;
== Properties and constants ==&lt;br /&gt;
* Colorspace constants, Colorformat constants and Image_type constants:&lt;br /&gt;
&lt;br /&gt;
:These constants are the same as the ones in the C++ API with a AVS_ prefix. For example, the C++ API constant CS_BGR becomes AVS_CS_BGR.&lt;br /&gt;
&lt;br /&gt;
:For some reason these constants are not part of the AVS_VideoInfo structure. Why not???&lt;br /&gt;
&lt;br /&gt;
* Colorspace properties, Image_type properties and General properties:&lt;br /&gt;
&lt;br /&gt;
:These are the same as in the C++ API.&lt;br /&gt;
&lt;br /&gt;
* Chroma placement constants (bits 20 -&amp;gt; 23):&lt;br /&gt;
&lt;br /&gt;
:They are missing in the C API. Todo: add them in the API.&lt;br /&gt;
&lt;br /&gt;
* Remaining constants (they are not present in the C++ API):&lt;br /&gt;
&lt;br /&gt;
 enum {&lt;br /&gt;
  AVS_FILTER_TYPE=1,&lt;br /&gt;
  AVS_FILTER_INPUT_COLORSPACE=2,&lt;br /&gt;
  AVS_FILTER_OUTPUT_TYPE=9,&lt;br /&gt;
  AVS_FILTER_NAME=4,&lt;br /&gt;
  AVS_FILTER_AUTHOR=5,&lt;br /&gt;
  AVS_FILTER_VERSION=6,&lt;br /&gt;
  AVS_FILTER_ARGS=7,&lt;br /&gt;
  AVS_FILTER_ARGS_INFO=8,&lt;br /&gt;
  AVS_FILTER_ARGS_DESCRIPTION=10,&lt;br /&gt;
  AVS_FILTER_DESCRIPTION=11&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 enum {  //SUBTYPES&lt;br /&gt;
  AVS_FILTER_TYPE_AUDIO=1,&lt;br /&gt;
  AVS_FILTER_TYPE_VIDEO=2,&lt;br /&gt;
  AVS_FILTER_OUTPUT_TYPE_SAME=3,&lt;br /&gt;
  AVS_FILTER_OUTPUT_TYPE_DIFFERENT=4&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Todo: add description.&lt;br /&gt;
&lt;br /&gt;
== Functions [need to add examples] ==&lt;br /&gt;
&lt;br /&gt;
These functions are not members of the AVS_VideoInfo structure, but they take an AVS_VideoInfo structure as input. Unless stated otherwise the functions have the same funcionality as the corresponding ones in the C++ API.&lt;br /&gt;
&lt;br /&gt;
Note the name of the functions are basically the same as the ones in the C++ API, with a 'avs_' prefix, a AVS_VideoInfo as input, lower case letters and with a underscore between separate words in the name. &lt;br /&gt;
&lt;br /&gt;
For example, instead of vi.IsYUV(), you would use avs_is_yuv(&amp;amp;fi-&amp;gt;vi) where fi is a pointer to AVS_FilterInfo.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!text-align:center;&amp;quot;|C++ API&lt;br /&gt;
!text-align:center;&amp;quot;|C API&lt;br /&gt;
|-&lt;br /&gt;
|bool IsRGB() const&lt;br /&gt;
|int avs_is_rgb(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsRGB24() const&lt;br /&gt;
|int avs_is_rgb24(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsRGB32() const&lt;br /&gt;
|int avs_is_rgb32(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsYUV() const;&lt;br /&gt;
|int avs_is_yuv(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsYUY2() const;&lt;br /&gt;
|int avs_is_yuy2(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsYV24() const;&lt;br /&gt;
|int avs_is_yv24(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsYV16() const;&lt;br /&gt;
|int avs_is_yv16(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsYV12() const;&lt;br /&gt;
|int avs_is_yv12(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsYV411() const;&lt;br /&gt;
|int avs_is_yv411(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsY8() const;&lt;br /&gt;
|int avs_is_y8(const AVS_VideoInfo * p);&lt;br /&gt;
|- border=&amp;quot;2&amp;quot;&lt;br /&gt;
|bool IsColorSpace(int c_space) const;&lt;br /&gt;
|int avs_is_color_space(const AVS_VideoInfo * p, int c_space);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsSameColorspace(const VideoInfo&amp;amp; vi) const;&lt;br /&gt;
|int avs_is_same_colorspace(AVS_VideoInfo * x, AVS_VideoInfo * y)&lt;br /&gt;
|-&lt;br /&gt;
|bool IsPlanar() const;&lt;br /&gt;
|int avs_is_planar(const AVS_VideoInfo * p)&lt;br /&gt;
|-&lt;br /&gt;
|bool Is(int property) const;&lt;br /&gt;
|int avs_is_property(const AVS_VideoInfo * p, int property)&lt;br /&gt;
|-&lt;br /&gt;
|bool IsFieldBased() const;&lt;br /&gt;
|int avs_is_field_based(const AVS_VideoInfo * p)&lt;br /&gt;
|-&lt;br /&gt;
|bool IsParityKnown() const;&lt;br /&gt;
|int avs_is_parity_known(const AVS_VideoInfo * p)&lt;br /&gt;
|-&lt;br /&gt;
|bool IsBFF() const;&lt;br /&gt;
|int avs_is_bff(const AVS_VideoInfo * p)&lt;br /&gt;
|-&lt;br /&gt;
|bool IsTFF() const;&lt;br /&gt;
|int avs_is_tff(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|void SetFieldBased(bool isfieldbased);&lt;br /&gt;
|void avs_set_field_based(AVS_VideoInfo * p, int isfieldbased);&lt;br /&gt;
|-&lt;br /&gt;
|void Set(int property);&lt;br /&gt;
|void avs_set_property(AVS_VideoInfo * p, int property);&lt;br /&gt;
|-&lt;br /&gt;
|void Clear(int property);&lt;br /&gt;
|void avs_clear_property(AVS_VideoInfo * p, int property);&lt;br /&gt;
|-&lt;br /&gt;
|int BitsPerPixel() const;&lt;br /&gt;
|int avs_bits_per_pixel(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|void SetFPS(unsigned numerator, unsigned denominator);&lt;br /&gt;
|void avs_set_fps(AVS_VideoInfo * p, unsigned numerator, unsigned denominator)&lt;br /&gt;
|-&lt;br /&gt;
|void MulDivFPS(unsigned multiplier, unsigned divisor);&lt;br /&gt;
|doesn't exist&lt;br /&gt;
|-&lt;br /&gt;
|int BytesFromPixels(int pixels) const;&lt;br /&gt;
|int avs_bytes_from_pixels(const AVS_VideoInfo * p, int pixels);&lt;br /&gt;
|-&lt;br /&gt;
|int RowSize(int plane=0) const;&lt;br /&gt;
|int avs_row_size_p(const AVS_VideoInfo * p, int plane);&lt;br /&gt;
|-&lt;br /&gt;
|int BMPSize() const;&lt;br /&gt;
|int avs_bmp_size(const AVS_VideoInfo * vi);&lt;br /&gt;
|-&lt;br /&gt;
|int GetPlaneWidthSubsampling(int plane) const;&lt;br /&gt;
|int avs_get_plane_width_subsampling(const AVS_VideoInfo * p, int plane);&lt;br /&gt;
|-&lt;br /&gt;
|int GetPlaneHeightSubsampling(int plane) const;&lt;br /&gt;
|int avs_get_plane_height_subsampling(const AVS_VideoInfo * p, int plane);&lt;br /&gt;
|-&lt;br /&gt;
|bool HasAudio() const;&lt;br /&gt;
|int avs_has_audio(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|int AudioChannels() const;&lt;br /&gt;
|int avs_audio_channels(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|int SampleType() const;&lt;br /&gt;
|int avs_sample_type(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|bool IsSampleType(int testtype) const;&lt;br /&gt;
|doesn't exist&lt;br /&gt;
|-&lt;br /&gt;
|int SamplesPerSecond() const;&lt;br /&gt;
|int avs_samples_per_second(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|int BytesPerAudioSample() const;&lt;br /&gt;
|int avs_bytes_per_audio_sample(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|int BytesPerChannelSample() const;&lt;br /&gt;
|int avs_bytes_per_channel_sample(const AVS_VideoInfo * p);&lt;br /&gt;
|-&lt;br /&gt;
|__int64 AudioSamplesFromFrames(int frames) const;&lt;br /&gt;
|INT64 avs_audio_samples_from_frames(const AVS_VideoInfo * p, INT64 frames);&lt;br /&gt;
|-&lt;br /&gt;
|int FramesFromAudioSamples(__int64 samples) const;&lt;br /&gt;
|int avs_frames_from_audio_samples(const AVS_VideoInfo * p, INT64 samples);&lt;br /&gt;
|-&lt;br /&gt;
|__int64 AudioSamplesFromBytes(__int64 bytes) const;&lt;br /&gt;
|INT64 avs_audio_samples_from_bytes(const AVS_VideoInfo * p, INT64 bytes);&lt;br /&gt;
|-&lt;br /&gt;
|__int64 BytesFromAudioSamples(__int64 samples) const;&lt;br /&gt;
|INT64 avs_bytes_from_audio_samples(const AVS_VideoInfo * p, INT64 samples);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Development]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/TCPDeliver</id>
		<title>TCPDeliver</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/TCPDeliver"/>
				<updated>2020-06-29T21:06:21Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: fixed link to GitHub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Plugins_x64|Support_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|1={{Author/Sh0dan}}, [https://github.com/DJATOM DJATOM]&lt;br /&gt;
|2=v0.2&lt;br /&gt;
|3=[https://github.com/DJATOM/TCPDeliver/releases TCPDeliver-x86.7z]&amp;lt;br&amp;gt;[https://github.com/DJATOM/TCPDeliver/releases TCPDeliver-x64.7z]&lt;br /&gt;
|4=[[:Category:Support_filters|Support filters]]&lt;br /&gt;
|5=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|6=[https://forum.doom9.org/showthread.php?t=72868 Doom9 Forum]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Description ==&lt;br /&gt;
This filter will enable you to send clips over your network. You can connect several clients to the same machine. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]&lt;br /&gt;
* [x64]: [[AviSynth+]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&lt;br /&gt;
=== Server: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TCPServer&amp;lt;/code&amp;gt; (clip, int &amp;quot;port&amp;quot;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This will spawn a server thread on the current machine running on the specified port. Port default is 22050.&amp;lt;br /&amp;gt;&lt;br /&gt;
You will get output in the application you open your script in, but the server will only be running as long as the application (vdub for instance) is open.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Colorbars(512, 256)&lt;br /&gt;
TCPServer()&amp;lt;/pre&amp;gt;&lt;br /&gt;
will start a server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Client: ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TCPSource&amp;lt;/code&amp;gt; (string hostname, int &amp;quot;port&amp;quot;, string &amp;quot;compression&amp;quot;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This will connect to the machine with the given address (IP-number for instance) to a server running on the given port. Port default is also 22050 here.&lt;br /&gt;
&lt;br /&gt;
Compression enable you to choose the compression used for the video:&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
| '''Compression Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| None&lt;br /&gt;
| Use no compression. Fastest option - video will not be compressed before being sent over the net.&lt;br /&gt;
|-&lt;br /&gt;
| LZO&lt;br /&gt;
| Use [http://www.oberhumer.com/opensource/lzo/ LZO] dictionary compression. Fairly fast, but only compresses well on artificial sources, like cartoons and anime with very uniform surfaces.&lt;br /&gt;
|-&lt;br /&gt;
| Huffman&lt;br /&gt;
| Uses a fairly slow Huffman routine by [http://bcl.sourceforge.net/ Marcus Geelnard]. Compresses natural video better than LZO.&lt;br /&gt;
|-&lt;br /&gt;
| GZip&lt;br /&gt;
| Uses a [http://www.gzip.org/ Gzip] Huffman only compression. Works much like Huffman setting, but seems faster.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If no compression is given, GZip is currently used by default. Interlaced material compresses worse than non-interlaced due to downwards deltaencoding. If network speed is a problem you might want to use [[SeparateFields]].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;TCPSource(&amp;quot;127.0.0.1&amp;quot;)&lt;br /&gt;
Info()&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will connect to the local machine, if a server is running.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
You can use this to run each/some filters on different PC's. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Clustermember 1:&lt;br /&gt;
AVISource&lt;br /&gt;
Deinterlacer&lt;br /&gt;
TCPServer&lt;br /&gt;
&lt;br /&gt;
# Clustermember 2:&lt;br /&gt;
TCPSource&lt;br /&gt;
Sharpener&lt;br /&gt;
TCPServer&lt;br /&gt;
&lt;br /&gt;
# Clustermember 3:&lt;br /&gt;
TCPSource&lt;br /&gt;
# client app -&amp;gt; video codec -&amp;gt; final file&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Usability Notes ===&lt;br /&gt;
&lt;br /&gt;
Once you have added a TCPServer, you cannot add more filters to the chain, or use the output from the filter. The server runs in a separate thread, but since AviSynth isn't completely thread-safe you cannot reliably run multiple servers. This should '''not''' be used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AviSource(&amp;quot;avi.avi&amp;quot;)&lt;br /&gt;
TCPServer(1001)&lt;br /&gt;
TCPServer(1002) # This is NOT a good idea&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So the basic rule is '''never more than one TCPServer per script'''.&lt;br /&gt;
&lt;br /&gt;
Using commands after TCPServer is also a bad idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;AviSource(&amp;quot;avi.avi&amp;quot;)&lt;br /&gt;
TCPServer(1001)&lt;br /&gt;
AviSource(&amp;quot;avi2.avi&amp;quot;) # Do not do this, this will disable the server.&amp;lt;/pre&amp;gt;&lt;br /&gt;
AviSynth detects that the output of TCPServer isn't used, so it kills the Server filter. '''TCPServer should always be the last filter.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.2         2017/02/13      - TCPDeliver for AviSynth+ version 0.2&lt;br /&gt;
                              - Differences from 0.1:&lt;br /&gt;
                                * support for YUVA/PlanarRGBA colorspaces;&lt;br /&gt;
                                * HBD formats should be handled better if compression is involved;&lt;br /&gt;
                                * dropped old garbage from source code;&lt;br /&gt;
                                * no need in the old VS runtime.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[https://github.com/DJATOM/TCPDeliver GitHub] - Source code repository.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Support_filters|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DGDecNV</id>
		<title>DGDecNV</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DGDecNV"/>
				<updated>2020-06-02T19:47:03Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Plugins_x64|Source_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
|1={{Author/Donald Graft}}&lt;br /&gt;
|2=205x&lt;br /&gt;
|3=[http://rationalqm.us/dgdecnv/dgdecnv.html Get License]&lt;br /&gt;
|4=Source filters&lt;br /&gt;
|5=&lt;br /&gt;
|6=[http://rationalqm.us/board/viewforum.php?f=8&amp;amp;sid=7e4371d29402371f0cc19da6e290124c rationalqm.us]}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[DGDecNV]] is a decoder/frameserver for AVC, HEVC, MPEG2, and VC1 streams that runs on the GPU of Nvidia graphics cards that support CUDA video decoding. It works in conjunction with the indexing tool DGIndexNV. See official homepage: http://rationalqm.us/dgdecnv/dgdecnv.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DGDecodeNV.dll''' includes the following AviSynth filters:&lt;br /&gt;
* &amp;lt;code&amp;gt;DGSource&amp;lt;/code&amp;gt;: source filter that delivers decoded video in YV12/i420/YUV420P16 format. (requires AviSynth+ for high-bit-depth work)&lt;br /&gt;
* &amp;lt;code&amp;gt;DGDenoise&amp;lt;/code&amp;gt;: fast stand-alone CUDA filter that implements [https://en.wikipedia.org/wiki/Non-local_means NLM denoising]. Supports [[YUV420P16]].&lt;br /&gt;
* &amp;lt;code&amp;gt;DGSharpen&amp;lt;/code&amp;gt;: fast stand-alone CUDA filter that implements limited sharpening like the well-known filter [[LimitedSharpen|LimitedSharpenFaster]](). Supports [[YUV420P16]].&lt;br /&gt;
* &amp;lt;code&amp;gt;DGTelecide&amp;lt;/code&amp;gt;: fast stand-alone CUDA filter that implements field matching and adaptive deinterlacing.&lt;br /&gt;
* &amp;lt;code&amp;gt;DGDecimate&amp;lt;/code&amp;gt;: fast stand-alone CUDA filter that implements N-in-M frame decimation.&lt;br /&gt;
* &amp;lt;code&amp;gt;DGBob&amp;lt;/code&amp;gt;: fast stand-alone CUDA filter that implements the YADIF deinterlacing algorithm (original concept by Michael Niedermayer).&lt;br /&gt;
* &amp;lt;code&amp;gt;PVBob&amp;lt;/code&amp;gt;: a stand-alone version of the PureVideo deinterlacer. This is the same functionality that you get using the deinterlace parameter of DGSource().&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''DGIndexNV'''&lt;br /&gt;
DGIndexNV, part of the DGDecNV package, is primarily designed to create an index of an AVC/HEVC/MPG/VC1 video stream, containing the location of each frame in the input stream, and some additional information about each frame. This index, or project file, is used by the companion Avisynth filter DGDecodeNV to provide frame-accurate serving of the video via an Avisynth script. DGDecNV can also be used with Vapoursynth because Vapoursynth can load and use Avisynth source filters. DGIndexNV can open AVC/HEVC/MPG/VC1 video in elementary streams, and in program, transport, Matroska, and MP4 containers.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* [x86]: [[AviSynth+]] or [https://sourceforge.net/projects/avisynth2/ AviSynth 2.6]&lt;br /&gt;
* [x64]: [[AviSynth+]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Source_Filters|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
-----------------------------------------------&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Changelist_26</id>
		<title>Changelist 26</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Changelist_26"/>
				<updated>2019-07-30T18:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* CODE CHANGES */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes from 2.6.1 alpha 1 to 2.6.1 cvs ==&lt;br /&gt;
&lt;br /&gt;
* Pacify VS2015 /W4.&lt;br /&gt;
* Fix DV chroma positioning (UV swapped), Assert interlaced options only for YV12.&lt;br /&gt;
* VFAPI support for &amp;gt; 2^32 audio samples.&lt;br /&gt;
* ColorYUV support Y8.&lt;br /&gt;
* Make TemporalSoften reentrant (MT ready).&lt;br /&gt;
* Fix Histogram mode color, chroma fill.&lt;br /&gt;
* Compare support Y8&lt;br /&gt;
&lt;br /&gt;
* Add TimeStretch overload with rational pair arguments.&lt;br /&gt;
* Update to SoundTouch 1.9.2.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.6.0 to 2.6.1 alpha 1 ==&lt;br /&gt;
&lt;br /&gt;
=== ENVIRONMENT CHANGES and UPDATES ===&lt;br /&gt;
* Update to SoundTouch 1.9.0(Wilbert+IanB).&lt;br /&gt;
* Update to DevIL 1.7.8&lt;br /&gt;
* TCPDeliver update to zlib 1.2.8 and lzo-2.09.&lt;br /&gt;
* TCPDeliver complete Klaus's last work for 2.6 API.&lt;br /&gt;
* Updated 2.6.1 VC6 build scripts.&lt;br /&gt;
* Initial 2.6.1 VC2005 build scripts.&lt;br /&gt;
* DirectShowSource add BaseClasses project to Avisynth solution.&lt;br /&gt;
* MSVC 2008 Express project and solution files.&lt;br /&gt;
* Experiment with 2K8 SSE2 build.&lt;br /&gt;
&lt;br /&gt;
=== CODE CHANGES ===&lt;br /&gt;
* Add offset parameter to conditional functions(Wilbert).&lt;br /&gt;
* Replace convert_a.asm for yuy2 to rgb.&lt;br /&gt;
* Redo SEH exception handling code.&lt;br /&gt;
* VirtualQuery/GetModuleFileName + Trap on Invoke(SEt).&lt;br /&gt;
* Use LoadLibraryEx/LOAD_WITH_ALTERED_SEARCH_PATH for plugins.&lt;br /&gt;
* Use GetVarDef() extensively.&lt;br /&gt;
* Handle exceptions from DevIL.dll now being delay loaded.&lt;br /&gt;
* Explicitly catch stray std::bad_alloc and report.&lt;br /&gt;
&lt;br /&gt;
=== BUGFIXES ===&lt;br /&gt;
* Supereq gain arguments can only be int, enforce it.&lt;br /&gt;
* Fix handle leak with &amp;quot;Exists&amp;quot;(SEt)&lt;br /&gt;
* Fix VDub plugin race on cleanup&lt;br /&gt;
* Fix TCPDeliver crash with bad hostnames.&lt;br /&gt;
* Fix ShowSMPTE non-integer fps message not being thrown (raffriff42).&lt;br /&gt;
* Fix avisynth_c plane=0. Default params are not allowed in plain C.&lt;br /&gt;
* Fix MergeLuma allow any Planar test(Wilbert).&lt;br /&gt;
* Remove redundant self class spec from definition(Wilbert).&lt;br /&gt;
&lt;br /&gt;
=== ENHANCEMENTS ===&lt;br /&gt;
* Evaluate Invert arguments once in Constructor not every GetFrame, Doh!&lt;br /&gt;
* Move matrix decision into Convert constructor, overcome exceed cacheline.&lt;br /&gt;
&lt;br /&gt;
=== BUILD CHANGES ===&lt;br /&gt;
* Remove msvcP*.dll dependencies.&lt;br /&gt;
* Add AsFloatF(), compiler sugar!&lt;br /&gt;
* Move to /W4 compiler warnings.&lt;br /&gt;
* Isolate void BitBlt(...) &amp;amp; long GetGPUFlags() functions.&lt;br /&gt;
* Add VDCall as __cdecl to VDub api calls&lt;br /&gt;
* Add __cdecl declaration to all api calls(SEt).&lt;br /&gt;
* Code cleanup(SEt).&lt;br /&gt;
* Improve precompiled header usage.&lt;br /&gt;
* Use #pragma comment to control link options.&lt;br /&gt;
* Turn off RuntimeTypeInfo for the rest of the solution.&lt;br /&gt;
* Patch BaseClasses to avoid ATL/MFC dependance.&lt;br /&gt;
* Add build environment tags to various filenames and values.&lt;br /&gt;
* Amend template AVS_BUILD strings.&lt;br /&gt;
* Link with nothrownew.obj.&lt;br /&gt;
* Remove writable system32\avisynth.dll dependency.&lt;br /&gt;
* Dodge 2005-2015 compiler bug with nested try/catch.&lt;br /&gt;
* Fix missing advapi32.lib for debug builds.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.5 series to 2.6.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* TCPDeliver, 2.6 plugin, support all pixel types. (Wilbert)&lt;br /&gt;
* AviSource: added multiple video and audio track support.&lt;br /&gt;
* Add IScriptEnvironment::GetVarDef() nothrow version of GetVar().&lt;br /&gt;
* Partial 2.6 update of Avisynth_C interface.&lt;br /&gt;
* Add current dwAvail{Phys, Virtual} to out of memory error message.&lt;br /&gt;
* Add #ifndef KSDATAFORMAT_SUBTYPE_{PCM IEEE_FLOAT} for newer SDK's.&lt;br /&gt;
* DirectShowSource support negotiation of non-standard MediaSubTypes &amp;quot;I420&amp;quot;, &amp;quot;NV12&amp;quot;, &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* AviSource and DirectShowSource support '+' prefix on pixel_type to handle bad padded planar data.&lt;br /&gt;
* Added Eval(clip, string name, string) alias for oop processing of argument.&lt;br /&gt;
* DirectShowSource support non-standard pixel types &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* Info: Audio only clip now creates its own canvas video.&lt;br /&gt;
* AviSource: Include packed/padded processing and -ve biHeight logic for compressed input.&lt;br /&gt;
* Added Script Functions :- BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases.&lt;br /&gt;
* Added WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters.&lt;br /&gt;
* Added AudioDuration() [as float seconds], IsY8(), IsYV411() &amp;amp; PixelType() [as a string] script functions.&lt;br /&gt;
* Added Echo and Preroll filters.&lt;br /&gt;
* Added IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll.&lt;br /&gt;
* DirectShowSource, 2.6 plugin, support pixel types &amp;quot;AYUV&amp;quot; as YV24, &amp;quot;Y41P&amp;quot; and &amp;quot;Y411&amp;quot; as YV411.&lt;br /&gt;
* AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 &amp;amp; Y8.&lt;br /&gt;
* Added &amp;quot;AudioLengthS&amp;quot;, &amp;quot;Ord&amp;quot; &amp;amp; &amp;quot;FillStr&amp;quot; script functions.&lt;br /&gt;
* Added AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds.&lt;br /&gt;
* Added Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0.&lt;br /&gt;
* Added SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters.&lt;br /&gt;
* Added Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex.&lt;br /&gt;
* Added &amp;quot;ConditionalSelect&amp;quot;,&amp;quot;csc+[show]b&amp;quot; runtime filter.&lt;br /&gt;
* Added dither option to Levels, RGBAdjust &amp;amp; Tweak.&lt;br /&gt;
* Added BitAnd(), BitNot(), BitOr() &amp;amp; BitXor() script functions.&lt;br /&gt;
* Added StrCmp() &amp;amp; StrCmpI() script functions.&lt;br /&gt;
* Added YV24 support for Limiter show option.&lt;br /&gt;
* Added &amp;quot;Global OPT_dwChannelMask={int}&amp;quot;&lt;br /&gt;
* Added 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE.&lt;br /&gt;
* Added .dll DelayLoad exception texts to crash message formatter.&lt;br /&gt;
* ImageWriter, add support for printf formating of filename string, default is (&amp;quot;%06d.%s&amp;quot;, n, ext);&lt;br /&gt;
* Added avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface.&lt;br /&gt;
* Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9.&lt;br /&gt;
* Added ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises).&lt;br /&gt;
* Added SkewRows filter.&lt;br /&gt;
* Histogram, Levels mode, Improve colour of chroma legends.&lt;br /&gt;
* ConditionalFilter, teach about string results.&lt;br /&gt;
* Add some more &amp;quot;Add/Remove Software&amp;quot; registry keys to the Installer (XhmikosR).&lt;br /&gt;
* AviSource: Support both packed and DWORD padded raw planar input like with DSS.&lt;br /&gt;
* Added IScriptEnvironment::ApplyMessage()&lt;br /&gt;
* Added ImageSourceAnim (Wilbert)&lt;br /&gt;
* Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies).&lt;br /&gt;
* ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll]&lt;br /&gt;
* ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll]&lt;br /&gt;
* Added YV24 mode to ColorBars.&lt;br /&gt;
* Added ColorBarsHD based on arib_std_b28.&lt;br /&gt;
* C-api usability enhancements from kemuri9 [Work in progress!]&lt;br /&gt;
* Added Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() &amp;amp; IsYV24() script functions&lt;br /&gt;
* Allow newlines (and hence comments) before '{' -- Gavino&lt;br /&gt;
* Added IScriptEnvironment::DeleteScriptEnvironment()&lt;br /&gt;
* Added Histogram, population clamp % factor for &amp;quot;Levels&amp;quot; mode,&lt;br /&gt;
* Histogram, revert &amp;quot;Stereo&amp;quot; mode to YV12, Add &amp;quot;StereoY8&amp;quot; mode,&lt;br /&gt;
* AviSource: Support fourcc &amp;quot;GREY&amp;quot; as Y8&lt;br /&gt;
* Added &amp;quot;Global OPT_AVIPadScanlines=True&amp;quot; option for DWORD aligned planar padding&lt;br /&gt;
* Added support for argument passing and EAX return value to SoftwireHelper.&lt;br /&gt;
* Added &amp;quot;Global OPT_VDubPlanarHack=True&amp;quot; to flip YV24 and YV16 chroma planes for old VDub's.&lt;br /&gt;
* Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions.&lt;br /&gt;
* Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true, can't use all settings in that case).&lt;br /&gt;
* Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions.&lt;br /&gt;
* Added MaskHS.&lt;br /&gt;
* Minor tweaks to get ready for VC8.&lt;br /&gt;
* Add Y8 for DevIL, planarize EBMP.&lt;br /&gt;
* Planar support for many filters.&lt;br /&gt;
* Added Info() time indicator on audio length and video (current frame &amp;amp; total). (2.5.8)&lt;br /&gt;
* Added UtoY8 and VtoY8.&lt;br /&gt;
* Added more info to Info(). (2.5.8)&lt;br /&gt;
* ColorYUV: Added all adjustment parameters as conditional variables &amp;quot;coloryuv_SETTING&amp;quot;. Enable by setting conditional=true.&lt;br /&gt;
* ConditionalReader: Added support for type String.&lt;br /&gt;
* ConditionalReader: Added offset keyword to offset all frame numbers after the keyword.&lt;br /&gt;
* Added SincResize() with optional taps parameter (default is 4).&lt;br /&gt;
* Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.&lt;br /&gt;
* Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2().&lt;br /&gt;
* Added formats: YV24, YV16, Y8, YV411.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed missing I420 in DirectShowSource pixel type error message.&lt;br /&gt;
* Fixed VideoInfo::Is property to reference image_type (not pixel_type).&lt;br /&gt;
* Fixed YV16-&amp;gt;YUY2 always ran both mmx and C code.&lt;br /&gt;
* Fixed YV12 Blur C code skiping left column.&lt;br /&gt;
* Fixed Conditional functions with Y8 referencing non-existant chroma.&lt;br /&gt;
* Fixed frame range clamping in ComparePlane (ultim).&lt;br /&gt;
* Fixed posible leak with realloc in ConditionalReader (ultim).&lt;br /&gt;
* Fixed posible double free in text-overlay (ultim).&lt;br /&gt;
* Fixed RGB32 to Y8 pixel right shift from 4th pixel on (Robert Martens).&lt;br /&gt;
* Fixed Overlay YV24 Image444 leak.&lt;br /&gt;
* Fixed AVISource &amp;quot;AUTO&amp;quot; and &amp;quot;FULL&amp;quot; handling.&lt;br /&gt;
* Fixed ImageSource handling of missing ebmp files.&lt;br /&gt;
* Fixed DirectShowSource incorrect byte order for unpacking of pixel type &amp;quot;AYUV&amp;quot;.&lt;br /&gt;
* Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex.&lt;br /&gt;
* Fixed ConditionalReader memory overrun parsing bools.&lt;br /&gt;
* Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate.&lt;br /&gt;
* Fixed YV24 -&amp;gt; RGB24 overrun cleanup for widths%16 == 5.&lt;br /&gt;
* Fixed RGB24 AddBorders with right=0.&lt;br /&gt;
* Fixed conditional_functions error message names (Wilbert).&lt;br /&gt;
* Fixed Audio cache ac_expected_next regression.&lt;br /&gt;
* Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert)&lt;br /&gt;
* Fixed Overlay YV24 V plane conversion.&lt;br /&gt;
* Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable.&lt;br /&gt;
* Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert)&lt;br /&gt;
* Fixed SaveString 'string+string' bug when total length is 4096*K-1, K is +int.&lt;br /&gt;
* Fixed SincResize misuse of &amp;quot;int abs(int)&amp;quot; (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit &amp;quot;&amp;gt; 0.000001&amp;quot;.&lt;br /&gt;
* Fixed Classic mode legend drawing for planar right limit and yuy2 centre line.&lt;br /&gt;
* Fixed possible MT race. Use &amp;quot;env-&amp;gt;ManageCache(MC_IncVFBRefcount, ...)&amp;quot; in ProtectVFB.&lt;br /&gt;
* Fixed SwapYToUV output image size bug for 3 clip case.&lt;br /&gt;
* Fixed Crop limit tests for RGB.&lt;br /&gt;
* Fixed Overlay yellow tint on rec601 RGB import conversion.&lt;br /&gt;
* Fixed YtoUV() output image size bug for 3 clip case.&lt;br /&gt;
* Fixed ConvertToPlanar chroma alignment.&lt;br /&gt;
* Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255).&lt;br /&gt;
* Fixed SwapYtoUV yuy2 crash (StainlessS).&lt;br /&gt;
* Fixed Overlay saturate UV in add and subtract mode.&lt;br /&gt;
* Fixed Info.h range protect display characters (StainlessS).&lt;br /&gt;
* Fixed AviSource packed planar import chroma offsets.&lt;br /&gt;
* Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame.&lt;br /&gt;
* Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor.&lt;br /&gt;
* Fixed SelectRangeEvery audio snafu (Gavino).&lt;br /&gt;
* Fixed LoadPlugin, SaveString of result string.&lt;br /&gt;
* Fixed LoadPlugin, use _vsnprintf.&lt;br /&gt;
* Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure.&lt;br /&gt;
* Fixed rounding in RGB HResize (JoshyD) (affects all resizers)&lt;br /&gt;
* Fixed error message name in the filter VerticalReduceBy2&lt;br /&gt;
* Fixed SeparateFields() with variable parity input clip (Wilbert)&lt;br /&gt;
* Fixed AviSource, cannot cast__int64* to long*, it does not work!&lt;br /&gt;
* Fixed ConditionalReader: Don't allow out of range &amp;quot;Range&amp;quot; to overwrite edge values&lt;br /&gt;
* Fixed MonoToStereo with stereo sources.&lt;br /&gt;
* Fixed MergeChannels with only 1 input clip.&lt;br /&gt;
* Fixed support for negative height DIB format AVI's. (Oops still not quite right yet)&lt;br /&gt;
* Fixed Audio cache crashes.&lt;br /&gt;
* Fixed resize with YV411 missing code.&lt;br /&gt;
* Fixed ConditionalReader rounding with integer Interpolation.&lt;br /&gt;
* Fixed Softwire SSE2 bugs.&lt;br /&gt;
* Fixed SSSE3 CPU detection.&lt;br /&gt;
* Fixed SSSE3, SSE4.1 &amp;amp; SSE4.2 detection.&lt;br /&gt;
* Fixed Fastwire encoding of instructions that are &amp;gt;2 opcodes (SSSE3+4).&lt;br /&gt;
* Fixed _RPT5() macro for debug builds&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* Cache auto increase span on sparse misses.&lt;br /&gt;
* Cache prevent inactive instances returning VFB early and spoiling active instances hit rate (LaTo).&lt;br /&gt;
* ConvertToPlanarGeneric explicit add Cache before chroma rescaler.&lt;br /&gt;
* Overlay minor refactor YV12 -&amp;gt; 444 chroma&lt;br /&gt;
* Speedup ConvertToMono(), minor refactor MixAudio().&lt;br /&gt;
* Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(...&lt;br /&gt;
* RGBtoY8 Dynamic ASM code, suport for RGB24.&lt;br /&gt;
* YV24backtoYUY2 Dynamic ASM code.&lt;br /&gt;
* UtoY8, VtoY8 abuse subframe, zero cost.&lt;br /&gt;
* YV24&amp;lt;-&amp;gt;RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough.&lt;br /&gt;
* ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox.&lt;br /&gt;
* ConvertAudio, manage tempbuffer and floatbuffer independently.&lt;br /&gt;
* ConvertAudio, prefer SSE2 over 3DNow for super AMD cores.&lt;br /&gt;
* Info.h, full refactor, a good example of &amp;quot;Never look down&amp;quot;, thx StainlessS&lt;br /&gt;
* DoubleWeaveFrames, If A not writable, try to write to B, else make new frame&lt;br /&gt;
* Histogram, fix GetFrame/NewVideoFrame call order&lt;br /&gt;
* HResizer, interleave code +4% faster&lt;br /&gt;
* YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration.&lt;br /&gt;
* ImageSource: Improve thread interlock code&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* Replace _strdup with SaveString in AddFunction (Thanks Gavino)&lt;br /&gt;
* SuperEQ: Improve channel unpacking/packing code.&lt;br /&gt;
* H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access.&lt;br /&gt;
* H-Resize: Added SSE2 horizontal unpacker.&lt;br /&gt;
* Resize: Use SSE3 (lddqu) loads for unaligned memory access.&lt;br /&gt;
* Added ultra fast vertical PointResizer (64 pixel/cycle).&lt;br /&gt;
* Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX.&lt;br /&gt;
* Added dynamic SSE2 vertical resizer (16 pixel/cycle).&lt;br /&gt;
* Added dynamic MMX vertical resizer (8 pixel/cycle).&lt;br /&gt;
* Added SSSE3 version for RGB&amp;lt;-&amp;gt;YV24 conversions.&lt;br /&gt;
* Added dynamic compiled MMX/iSSE for RGB&amp;lt;-&amp;gt;YV24 conversions. Speed is approx 200% of C-code.&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* New default directory, $PROGRAMFILES\AviSynth. But it will continue to default to the previous intall dir and will use the previously existing plugin dir.&lt;br /&gt;
* Do a full unistall and answer YES to clearing the registry to reset to all the new defaults.&lt;br /&gt;
* Menu dir is now $SMPROGRAMS\AviSynth. Will rename &amp;quot;AviSynth 2.5&amp;quot; to &amp;quot;AviSynth&amp;quot;.&lt;br /&gt;
* Cache only uses extended hints if rev 6 and above. Counter bad use in rev 5. [undocumented]&lt;br /&gt;
* Bump AVISYNTH_INTERFACE_VERSION to 6.&lt;br /&gt;
* Changed recursive include protection #define from __AVISYNTH_H__ to __AVISYNTH_6_H__&lt;br /&gt;
* Changed mem size elements from signed int to unsigned size_t.&lt;br /&gt;
* Removed CACHE_25_* enums.&lt;br /&gt;
* Removed from avisynth.h AlignedPlanar, FillBorder, ConvertAudio. Now in separate include files.&lt;br /&gt;
* Change CPUF_SSE4_2 to 0x1000 to match VirtualDub. 0x800 reserved for AVX.&lt;br /&gt;
* Removed MIN_INT, MAX_INT.&lt;br /&gt;
* BMPSize() use mod 4 rowsize for all formats.&lt;br /&gt;
* LoadPlugin errs 0x7e and 0x7f have descriptive text.&lt;br /&gt;
* Import: Increase full path buffer to MAX_PATH*4 for multi char code pages like CP932 (Chikuzen).&lt;br /&gt;
* Throw error when output number of frames will exceed MAXINT.&lt;br /&gt;
* BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip.&lt;br /&gt;
* BlankClip: Use duration from Audio only template as default length for new clip.&lt;br /&gt;
* Define new IClip::SetCacheHints cachehint constants.&lt;br /&gt;
* Force int call arguments to user script function float params to be explicit floats.&lt;br /&gt;
* Splice pass CacheHints through to both children in + and ++ mode.&lt;br /&gt;
* WriteFileStart/End save current_frame and set Last.&lt;br /&gt;
* ConditionalReader do not ignore syntax errors in input file.&lt;br /&gt;
* ImageSourceAnim Pad/Crop images to match first frame (Wilbert)&lt;br /&gt;
* ImageSource Add version to messages (Wilbert)&lt;br /&gt;
* Initial 2.6 API entry point linkage.&lt;br /&gt;
* Use Invoke for graph tail, enhance non-clip output error reporting.&lt;br /&gt;
* PopContext when inner block Asserts/throws (maxxon).&lt;br /&gt;
* Remove duplicate definitions (Wilbert)&lt;br /&gt;
* Enhance non-clip output error reporting.&lt;br /&gt;
* Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default)&lt;br /&gt;
* Use env-&amp;gt;Invoke(&amp;quot;Cache&amp;quot;, ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin.&lt;br /&gt;
* ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel.&lt;br /&gt;
* Tweak make Interp same units as minSat and maxSat.&lt;br /&gt;
* Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar)&lt;br /&gt;
* Make forced, -ve, planar alignment of chroma planes match subsampling.&lt;br /&gt;
* Enforce planar alignment restrictions.&lt;br /&gt;
* C-api: Remove func sub-struct from AVS_Library struct&lt;br /&gt;
* Add error code to plugin load failure message&lt;br /&gt;
* Make default planar AVI output packed.&lt;br /&gt;
* WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings).&lt;br /&gt;
* ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels.&lt;br /&gt;
* ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2.&lt;br /&gt;
* ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB&lt;br /&gt;
** see: http://forum.doom9.org/showthread.php?p=1378381#post1378381&lt;br /&gt;
* Thread safe code, part 2.&lt;br /&gt;
* Correct IClip baked documentation&lt;br /&gt;
* Fix at_exit executon order&lt;br /&gt;
* Passify compilation error/warnings (XhmikosR)&lt;br /&gt;
* for, const, extern and ansi patches for VC2008 (SEt)&lt;br /&gt;
* Disable OPT_RELS_LOGGING option&lt;br /&gt;
* Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) [not documented yet ???]&lt;br /&gt;
* DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() &amp;amp; Validate the size of the provided directshow buffer.&lt;br /&gt;
* Remove non ascii chars from comments.&lt;br /&gt;
* Add core stubs for DirectShowSource, TCPServer &amp;amp; TCPSource, report when plugins are missing.&lt;br /&gt;
* Add note for original source downloads - SoundTouch&lt;br /&gt;
* Add more lineage history to Info()&lt;br /&gt;
* Move convertaudio, alignplanar, fillborder &amp;amp; MIN/MAX_INT definitions.&lt;br /&gt;
* Run AtExit before dismantling world.&lt;br /&gt;
* Change setcachehints definition from void to int. Test IClip version &amp;gt;= 5.&lt;br /&gt;
* Move PixelClip definition to avisynth.cpp&lt;br /&gt;
* SubTitle, etc, make X &amp;amp; Y options float (0.125 pixel granularity).&lt;br /&gt;
* ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS.&lt;br /&gt;
* SubTitle, stop overwriting string constants (Gavino).&lt;br /&gt;
* SubTitle, improve pixel registration (Gavino).&lt;br /&gt;
* Make Info() CPU display hierarchical.&lt;br /&gt;
* Thread safe code, part 1.&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* SoftwireHelper: explicit hardware exception handling.&lt;br /&gt;
* Resize: Moved GetResampleFunction into Resamplefunction, to allow overrides.&lt;br /&gt;
* Resampler: Removed dead stlf code.&lt;br /&gt;
* Updated Soundtouch to 1.31 (2.5.8)&lt;br /&gt;
* Put dynamic matrix conversion into separate file.&lt;br /&gt;
* Moved chroma subsampling to image_type section.&lt;br /&gt;
* Added specific error reporting when requesting chromasubsampling with Y8.&lt;br /&gt;
* Split up merge and plane Swappers.&lt;br /&gt;
* Split up Plane transfers into separate classes.&lt;br /&gt;
* Added automatic destination colorspace detection on planar YtoUV.&lt;br /&gt;
* Took out greyscale and RGB32&amp;lt;-&amp;gt;RGB24 from convert.cpp and placed them in separate files.&lt;br /&gt;
* All code assuming UVwidth = Ywidth/2 and similar should be gone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelist]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Changelist_26</id>
		<title>Changelist 26</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Changelist_26"/>
				<updated>2019-07-30T18:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes from 2.6.1 alpha 1 to 2.6.1 cvs ==&lt;br /&gt;
&lt;br /&gt;
* Pacify VS2015 /W4.&lt;br /&gt;
* Fix DV chroma positioning (UV swapped), Assert interlaced options only for YV12.&lt;br /&gt;
* VFAPI support for &amp;gt; 2^32 audio samples.&lt;br /&gt;
* ColorYUV support Y8.&lt;br /&gt;
* Make TemporalSoften reentrant (MT ready).&lt;br /&gt;
* Fix Histogram mode color, chroma fill.&lt;br /&gt;
* Compare support Y8&lt;br /&gt;
&lt;br /&gt;
* Add TimeStretch overload with rational pair arguments.&lt;br /&gt;
* Update to SoundTouch 1.9.2.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.6.0 to 2.6.1 alpha 1 ==&lt;br /&gt;
&lt;br /&gt;
=== ENVIRONMENT CHANGES and UPDATES ===&lt;br /&gt;
* Update to SoundTouch 1.9.0(Wilbert+IanB).&lt;br /&gt;
* Update to DevIL 1.7.8&lt;br /&gt;
* TCPDeliver update to zlib 1.2.8 and lzo-2.09.&lt;br /&gt;
* TCPDeliver complete Klaus's last work for 2.6 API.&lt;br /&gt;
* Updated 2.6.1 VC6 build scripts.&lt;br /&gt;
* Initial 2.6.1 VC2005 build scripts.&lt;br /&gt;
* DirectShowSource add BaseClasses project to Avisynth solution.&lt;br /&gt;
* MSVC 2008 Express project and solution files.&lt;br /&gt;
* Experiment with 2K8 SSE2 build.&lt;br /&gt;
&lt;br /&gt;
=== CODE CHANGES ===&lt;br /&gt;
* Add offset parameter to conditional functions(Wilbert).&lt;br /&gt;
* Replace convert_a.asm for yuy2 to rgb.&lt;br /&gt;
* Redo SEH exception handling code.&lt;br /&gt;
* VirtualQuery/GetModuleFileName + Trap on Invoke(SEt).&lt;br /&gt;
* Use LoadLibraryEx/LOAD_WITH_ALTERED_SEARCH_PATH for plugins.&lt;br /&gt;
* Use GetVarDef() extensivly.&lt;br /&gt;
* Handle exceptions from DevIL.dll now being delay loaded.&lt;br /&gt;
* Explicitly catch stray std::bad_alloc and report.&lt;br /&gt;
&lt;br /&gt;
=== BUGFIXES ===&lt;br /&gt;
* Supereq gain arguments can only be int, enforce it.&lt;br /&gt;
* Fix handle leak with &amp;quot;Exists&amp;quot;(SEt)&lt;br /&gt;
* Fix VDub plugin race on cleanup&lt;br /&gt;
* Fix TCPDeliver crash with bad hostnames.&lt;br /&gt;
* Fix ShowSMPTE non-integer fps message not being thrown (raffriff42).&lt;br /&gt;
* Fix avisynth_c plane=0. Default params are not allowed in plain C.&lt;br /&gt;
* Fix MergeLuma allow any Planar test(Wilbert).&lt;br /&gt;
* Remove redundant self class spec from definition(Wilbert).&lt;br /&gt;
&lt;br /&gt;
=== ENHANCEMENTS ===&lt;br /&gt;
* Evaluate Invert arguments once in Constructor not every GetFrame, Doh!&lt;br /&gt;
* Move matrix decision into Convert constructor, overcome exceed cacheline.&lt;br /&gt;
&lt;br /&gt;
=== BUILD CHANGES ===&lt;br /&gt;
* Remove msvcP*.dll dependencies.&lt;br /&gt;
* Add AsFloatF(), compiler sugar!&lt;br /&gt;
* Move to /W4 compiler warnings.&lt;br /&gt;
* Isolate void BitBlt(...) &amp;amp; long GetGPUFlags() functions.&lt;br /&gt;
* Add VDCall as __cdecl to VDub api calls&lt;br /&gt;
* Add __cdecl declaration to all api calls(SEt).&lt;br /&gt;
* Code cleanup(SEt).&lt;br /&gt;
* Improve precompiled header usage.&lt;br /&gt;
* Use #pragma comment to control link options.&lt;br /&gt;
* Turn off RuntimeTypeInfo for the rest of the solution.&lt;br /&gt;
* Patch BaseClasses to avoid ATL/MFC dependance.&lt;br /&gt;
* Add build environment tags to various filenames and values.&lt;br /&gt;
* Amend template AVS_BUILD strings.&lt;br /&gt;
* Link with nothrownew.obj.&lt;br /&gt;
* Remove writable system32\avisynth.dll dependency.&lt;br /&gt;
* Dodge 2005-2015 compiler bug with nested try/catch.&lt;br /&gt;
* Fix missing advapi32.lib for debug builds.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.5 series to 2.6.0 ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* TCPDeliver, 2.6 plugin, support all pixel types. (Wilbert)&lt;br /&gt;
* AviSource: added multiple video and audio track support.&lt;br /&gt;
* Add IScriptEnvironment::GetVarDef() nothrow version of GetVar().&lt;br /&gt;
* Partial 2.6 update of Avisynth_C interface.&lt;br /&gt;
* Add current dwAvail{Phys, Virtual} to out of memory error message.&lt;br /&gt;
* Add #ifndef KSDATAFORMAT_SUBTYPE_{PCM IEEE_FLOAT} for newer SDK's.&lt;br /&gt;
* DirectShowSource support negotiation of non-standard MediaSubTypes &amp;quot;I420&amp;quot;, &amp;quot;NV12&amp;quot;, &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* AviSource and DirectShowSource support '+' prefix on pixel_type to handle bad padded planar data.&lt;br /&gt;
* Added Eval(clip, string name, string) alias for oop processing of argument.&lt;br /&gt;
* DirectShowSource support non-standard pixel types &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* Info: Audio only clip now creates its own canvas video.&lt;br /&gt;
* AviSource: Include packed/padded processing and -ve biHeight logic for compressed input.&lt;br /&gt;
* Added Script Functions :- BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases.&lt;br /&gt;
* Added WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters.&lt;br /&gt;
* Added AudioDuration() [as float seconds], IsY8(), IsYV411() &amp;amp; PixelType() [as a string] script functions.&lt;br /&gt;
* Added Echo and Preroll filters.&lt;br /&gt;
* Added IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll.&lt;br /&gt;
* DirectShowSource, 2.6 plugin, support pixel types &amp;quot;AYUV&amp;quot; as YV24, &amp;quot;Y41P&amp;quot; and &amp;quot;Y411&amp;quot; as YV411.&lt;br /&gt;
* AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 &amp;amp; Y8.&lt;br /&gt;
* Added &amp;quot;AudioLengthS&amp;quot;, &amp;quot;Ord&amp;quot; &amp;amp; &amp;quot;FillStr&amp;quot; script functions.&lt;br /&gt;
* Added AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds.&lt;br /&gt;
* Added Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0.&lt;br /&gt;
* Added SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters.&lt;br /&gt;
* Added Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex.&lt;br /&gt;
* Added &amp;quot;ConditionalSelect&amp;quot;,&amp;quot;csc+[show]b&amp;quot; runtime filter.&lt;br /&gt;
* Added dither option to Levels, RGBAdjust &amp;amp; Tweak.&lt;br /&gt;
* Added BitAnd(), BitNot(), BitOr() &amp;amp; BitXor() script functions.&lt;br /&gt;
* Added StrCmp() &amp;amp; StrCmpI() script functions.&lt;br /&gt;
* Added YV24 support for Limiter show option.&lt;br /&gt;
* Added &amp;quot;Global OPT_dwChannelMask={int}&amp;quot;&lt;br /&gt;
* Added 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE.&lt;br /&gt;
* Added .dll DelayLoad exception texts to crash message formatter.&lt;br /&gt;
* ImageWriter, add support for printf formating of filename string, default is (&amp;quot;%06d.%s&amp;quot;, n, ext);&lt;br /&gt;
* Added avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface.&lt;br /&gt;
* Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9.&lt;br /&gt;
* Added ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises).&lt;br /&gt;
* Added SkewRows filter.&lt;br /&gt;
* Histogram, Levels mode, Improve colour of chroma legends.&lt;br /&gt;
* ConditionalFilter, teach about string results.&lt;br /&gt;
* Add some more &amp;quot;Add/Remove Software&amp;quot; registry keys to the Installer (XhmikosR).&lt;br /&gt;
* AviSource: Support both packed and DWORD padded raw planar input like with DSS.&lt;br /&gt;
* Added IScriptEnvironment::ApplyMessage()&lt;br /&gt;
* Added ImageSourceAnim (Wilbert)&lt;br /&gt;
* Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies).&lt;br /&gt;
* ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll]&lt;br /&gt;
* ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll]&lt;br /&gt;
* Added YV24 mode to ColorBars.&lt;br /&gt;
* Added ColorBarsHD based on arib_std_b28.&lt;br /&gt;
* C-api usability enhancements from kemuri9 [Work in progress!]&lt;br /&gt;
* Added Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() &amp;amp; IsYV24() script functions&lt;br /&gt;
* Allow newlines (and hence comments) before '{' -- Gavino&lt;br /&gt;
* Added IScriptEnvironment::DeleteScriptEnvironment()&lt;br /&gt;
* Added Histogram, population clamp % factor for &amp;quot;Levels&amp;quot; mode,&lt;br /&gt;
* Histogram, revert &amp;quot;Stereo&amp;quot; mode to YV12, Add &amp;quot;StereoY8&amp;quot; mode,&lt;br /&gt;
* AviSource: Support fourcc &amp;quot;GREY&amp;quot; as Y8&lt;br /&gt;
* Added &amp;quot;Global OPT_AVIPadScanlines=True&amp;quot; option for DWORD aligned planar padding&lt;br /&gt;
* Added support for argument passing and EAX return value to SoftwireHelper.&lt;br /&gt;
* Added &amp;quot;Global OPT_VDubPlanarHack=True&amp;quot; to flip YV24 and YV16 chroma planes for old VDub's.&lt;br /&gt;
* Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions.&lt;br /&gt;
* Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true, can't use all settings in that case).&lt;br /&gt;
* Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions.&lt;br /&gt;
* Added MaskHS.&lt;br /&gt;
* Minor tweaks to get ready for VC8.&lt;br /&gt;
* Add Y8 for DevIL, planarize EBMP.&lt;br /&gt;
* Planar support for many filters.&lt;br /&gt;
* Added Info() time indicator on audio length and video (current frame &amp;amp; total). (2.5.8)&lt;br /&gt;
* Added UtoY8 and VtoY8.&lt;br /&gt;
* Added more info to Info(). (2.5.8)&lt;br /&gt;
* ColorYUV: Added all adjustment parameters as conditional variables &amp;quot;coloryuv_SETTING&amp;quot;. Enable by setting conditional=true.&lt;br /&gt;
* ConditionalReader: Added support for type String.&lt;br /&gt;
* ConditionalReader: Added offset keyword to offset all frame numbers after the keyword.&lt;br /&gt;
* Added SincResize() with optional taps parameter (default is 4).&lt;br /&gt;
* Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.&lt;br /&gt;
* Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2().&lt;br /&gt;
* Added formats: YV24, YV16, Y8, YV411.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed missing I420 in DirectShowSource pixel type error message.&lt;br /&gt;
* Fixed VideoInfo::Is property to reference image_type (not pixel_type).&lt;br /&gt;
* Fixed YV16-&amp;gt;YUY2 always ran both mmx and C code.&lt;br /&gt;
* Fixed YV12 Blur C code skiping left column.&lt;br /&gt;
* Fixed Conditional functions with Y8 referencing non-existant chroma.&lt;br /&gt;
* Fixed frame range clamping in ComparePlane (ultim).&lt;br /&gt;
* Fixed posible leak with realloc in ConditionalReader (ultim).&lt;br /&gt;
* Fixed posible double free in text-overlay (ultim).&lt;br /&gt;
* Fixed RGB32 to Y8 pixel right shift from 4th pixel on (Robert Martens).&lt;br /&gt;
* Fixed Overlay YV24 Image444 leak.&lt;br /&gt;
* Fixed AVISource &amp;quot;AUTO&amp;quot; and &amp;quot;FULL&amp;quot; handling.&lt;br /&gt;
* Fixed ImageSource handling of missing ebmp files.&lt;br /&gt;
* Fixed DirectShowSource incorrect byte order for unpacking of pixel type &amp;quot;AYUV&amp;quot;.&lt;br /&gt;
* Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex.&lt;br /&gt;
* Fixed ConditionalReader memory overrun parsing bools.&lt;br /&gt;
* Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate.&lt;br /&gt;
* Fixed YV24 -&amp;gt; RGB24 overrun cleanup for widths%16 == 5.&lt;br /&gt;
* Fixed RGB24 AddBorders with right=0.&lt;br /&gt;
* Fixed conditional_functions error message names (Wilbert).&lt;br /&gt;
* Fixed Audio cache ac_expected_next regression.&lt;br /&gt;
* Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert)&lt;br /&gt;
* Fixed Overlay YV24 V plane conversion.&lt;br /&gt;
* Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable.&lt;br /&gt;
* Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert)&lt;br /&gt;
* Fixed SaveString 'string+string' bug when total length is 4096*K-1, K is +int.&lt;br /&gt;
* Fixed SincResize misuse of &amp;quot;int abs(int)&amp;quot; (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit &amp;quot;&amp;gt; 0.000001&amp;quot;.&lt;br /&gt;
* Fixed Classic mode legend drawing for planar right limit and yuy2 centre line.&lt;br /&gt;
* Fixed possible MT race. Use &amp;quot;env-&amp;gt;ManageCache(MC_IncVFBRefcount, ...)&amp;quot; in ProtectVFB.&lt;br /&gt;
* Fixed SwapYToUV output image size bug for 3 clip case.&lt;br /&gt;
* Fixed Crop limit tests for RGB.&lt;br /&gt;
* Fixed Overlay yellow tint on rec601 RGB import conversion.&lt;br /&gt;
* Fixed YtoUV() output image size bug for 3 clip case.&lt;br /&gt;
* Fixed ConvertToPlanar chroma alignment.&lt;br /&gt;
* Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255).&lt;br /&gt;
* Fixed SwapYtoUV yuy2 crash (StainlessS).&lt;br /&gt;
* Fixed Overlay saturate UV in add and subtract mode.&lt;br /&gt;
* Fixed Info.h range protect display characters (StainlessS).&lt;br /&gt;
* Fixed AviSource packed planar import chroma offsets.&lt;br /&gt;
* Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame.&lt;br /&gt;
* Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor.&lt;br /&gt;
* Fixed SelectRangeEvery audio snafu (Gavino).&lt;br /&gt;
* Fixed LoadPlugin, SaveString of result string.&lt;br /&gt;
* Fixed LoadPlugin, use _vsnprintf.&lt;br /&gt;
* Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure.&lt;br /&gt;
* Fixed rounding in RGB HResize (JoshyD) (affects all resizers)&lt;br /&gt;
* Fixed error message name in the filter VerticalReduceBy2&lt;br /&gt;
* Fixed SeparateFields() with variable parity input clip (Wilbert)&lt;br /&gt;
* Fixed AviSource, cannot cast__int64* to long*, it does not work!&lt;br /&gt;
* Fixed ConditionalReader: Don't allow out of range &amp;quot;Range&amp;quot; to overwrite edge values&lt;br /&gt;
* Fixed MonoToStereo with stereo sources.&lt;br /&gt;
* Fixed MergeChannels with only 1 input clip.&lt;br /&gt;
* Fixed support for negative height DIB format AVI's. (Oops still not quite right yet)&lt;br /&gt;
* Fixed Audio cache crashes.&lt;br /&gt;
* Fixed resize with YV411 missing code.&lt;br /&gt;
* Fixed ConditionalReader rounding with integer Interpolation.&lt;br /&gt;
* Fixed Softwire SSE2 bugs.&lt;br /&gt;
* Fixed SSSE3 CPU detection.&lt;br /&gt;
* Fixed SSSE3, SSE4.1 &amp;amp; SSE4.2 detection.&lt;br /&gt;
* Fixed Fastwire encoding of instructions that are &amp;gt;2 opcodes (SSSE3+4).&lt;br /&gt;
* Fixed _RPT5() macro for debug builds&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* Cache auto increase span on sparse misses.&lt;br /&gt;
* Cache prevent inactive instances returning VFB early and spoiling active instances hit rate (LaTo).&lt;br /&gt;
* ConvertToPlanarGeneric explicit add Cache before chroma rescaler.&lt;br /&gt;
* Overlay minor refactor YV12 -&amp;gt; 444 chroma&lt;br /&gt;
* Speedup ConvertToMono(), minor refactor MixAudio().&lt;br /&gt;
* Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(...&lt;br /&gt;
* RGBtoY8 Dynamic ASM code, suport for RGB24.&lt;br /&gt;
* YV24backtoYUY2 Dynamic ASM code.&lt;br /&gt;
* UtoY8, VtoY8 abuse subframe, zero cost.&lt;br /&gt;
* YV24&amp;lt;-&amp;gt;RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough.&lt;br /&gt;
* ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox.&lt;br /&gt;
* ConvertAudio, manage tempbuffer and floatbuffer independently.&lt;br /&gt;
* ConvertAudio, prefer SSE2 over 3DNow for super AMD cores.&lt;br /&gt;
* Info.h, full refactor, a good example of &amp;quot;Never look down&amp;quot;, thx StainlessS&lt;br /&gt;
* DoubleWeaveFrames, If A not writable, try to write to B, else make new frame&lt;br /&gt;
* Histogram, fix GetFrame/NewVideoFrame call order&lt;br /&gt;
* HResizer, interleave code +4% faster&lt;br /&gt;
* YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration.&lt;br /&gt;
* ImageSource: Improve thread interlock code&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* Replace _strdup with SaveString in AddFunction (Thanks Gavino)&lt;br /&gt;
* SuperEQ: Improve channel unpacking/packing code.&lt;br /&gt;
* H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access.&lt;br /&gt;
* H-Resize: Added SSE2 horizontal unpacker.&lt;br /&gt;
* Resize: Use SSE3 (lddqu) loads for unaligned memory access.&lt;br /&gt;
* Added ultra fast vertical PointResizer (64 pixel/cycle).&lt;br /&gt;
* Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX.&lt;br /&gt;
* Added dynamic SSE2 vertical resizer (16 pixel/cycle).&lt;br /&gt;
* Added dynamic MMX vertical resizer (8 pixel/cycle).&lt;br /&gt;
* Added SSSE3 version for RGB&amp;lt;-&amp;gt;YV24 conversions.&lt;br /&gt;
* Added dynamic compiled MMX/iSSE for RGB&amp;lt;-&amp;gt;YV24 conversions. Speed is approx 200% of C-code.&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* New default directory, $PROGRAMFILES\AviSynth. But it will continue to default to the previous intall dir and will use the previously existing plugin dir.&lt;br /&gt;
* Do a full unistall and answer YES to clearing the registry to reset to all the new defaults.&lt;br /&gt;
* Menu dir is now $SMPROGRAMS\AviSynth. Will rename &amp;quot;AviSynth 2.5&amp;quot; to &amp;quot;AviSynth&amp;quot;.&lt;br /&gt;
* Cache only uses extended hints if rev 6 and above. Counter bad use in rev 5. [undocumented]&lt;br /&gt;
* Bump AVISYNTH_INTERFACE_VERSION to 6.&lt;br /&gt;
* Changed recursive include protection #define from __AVISYNTH_H__ to __AVISYNTH_6_H__&lt;br /&gt;
* Changed mem size elements from signed int to unsigned size_t.&lt;br /&gt;
* Removed CACHE_25_* enums.&lt;br /&gt;
* Removed from avisynth.h AlignedPlanar, FillBorder, ConvertAudio. Now in separate include files.&lt;br /&gt;
* Change CPUF_SSE4_2 to 0x1000 to match VirtualDub. 0x800 reserved for AVX.&lt;br /&gt;
* Removed MIN_INT, MAX_INT.&lt;br /&gt;
* BMPSize() use mod 4 rowsize for all formats.&lt;br /&gt;
* LoadPlugin errs 0x7e and 0x7f have descriptive text.&lt;br /&gt;
* Import: Increase full path buffer to MAX_PATH*4 for multi char code pages like CP932 (Chikuzen).&lt;br /&gt;
* Throw error when output number of frames will exceed MAXINT.&lt;br /&gt;
* BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip.&lt;br /&gt;
* BlankClip: Use duration from Audio only template as default length for new clip.&lt;br /&gt;
* Define new IClip::SetCacheHints cachehint constants.&lt;br /&gt;
* Force int call arguments to user script function float params to be explicit floats.&lt;br /&gt;
* Splice pass CacheHints through to both children in + and ++ mode.&lt;br /&gt;
* WriteFileStart/End save current_frame and set Last.&lt;br /&gt;
* ConditionalReader do not ignore syntax errors in input file.&lt;br /&gt;
* ImageSourceAnim Pad/Crop images to match first frame (Wilbert)&lt;br /&gt;
* ImageSource Add version to messages (Wilbert)&lt;br /&gt;
* Initial 2.6 API entry point linkage.&lt;br /&gt;
* Use Invoke for graph tail, enhance non-clip output error reporting.&lt;br /&gt;
* PopContext when inner block Asserts/throws (maxxon).&lt;br /&gt;
* Remove duplicate definitions (Wilbert)&lt;br /&gt;
* Enhance non-clip output error reporting.&lt;br /&gt;
* Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default)&lt;br /&gt;
* Use env-&amp;gt;Invoke(&amp;quot;Cache&amp;quot;, ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin.&lt;br /&gt;
* ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel.&lt;br /&gt;
* Tweak make Interp same units as minSat and maxSat.&lt;br /&gt;
* Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar)&lt;br /&gt;
* Make forced, -ve, planar alignment of chroma planes match subsampling.&lt;br /&gt;
* Enforce planar alignment restrictions.&lt;br /&gt;
* C-api: Remove func sub-struct from AVS_Library struct&lt;br /&gt;
* Add error code to plugin load failure message&lt;br /&gt;
* Make default planar AVI output packed.&lt;br /&gt;
* WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings).&lt;br /&gt;
* ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels.&lt;br /&gt;
* ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2.&lt;br /&gt;
* ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB&lt;br /&gt;
** see: http://forum.doom9.org/showthread.php?p=1378381#post1378381&lt;br /&gt;
* Thread safe code, part 2.&lt;br /&gt;
* Correct IClip baked documentation&lt;br /&gt;
* Fix at_exit executon order&lt;br /&gt;
* Passify compilation error/warnings (XhmikosR)&lt;br /&gt;
* for, const, extern and ansi patches for VC2008 (SEt)&lt;br /&gt;
* Disable OPT_RELS_LOGGING option&lt;br /&gt;
* Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) [not documented yet ???]&lt;br /&gt;
* DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() &amp;amp; Validate the size of the provided directshow buffer.&lt;br /&gt;
* Remove non ascii chars from comments.&lt;br /&gt;
* Add core stubs for DirectShowSource, TCPServer &amp;amp; TCPSource, report when plugins are missing.&lt;br /&gt;
* Add note for original source downloads - SoundTouch&lt;br /&gt;
* Add more lineage history to Info()&lt;br /&gt;
* Move convertaudio, alignplanar, fillborder &amp;amp; MIN/MAX_INT definitions.&lt;br /&gt;
* Run AtExit before dismantling world.&lt;br /&gt;
* Change setcachehints definition from void to int. Test IClip version &amp;gt;= 5.&lt;br /&gt;
* Move PixelClip definition to avisynth.cpp&lt;br /&gt;
* SubTitle, etc, make X &amp;amp; Y options float (0.125 pixel granularity).&lt;br /&gt;
* ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS.&lt;br /&gt;
* SubTitle, stop overwriting string constants (Gavino).&lt;br /&gt;
* SubTitle, improve pixel registration (Gavino).&lt;br /&gt;
* Make Info() CPU display hierarchical.&lt;br /&gt;
* Thread safe code, part 1.&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* SoftwireHelper: explicit hardware exception handling.&lt;br /&gt;
* Resize: Moved GetResampleFunction into Resamplefunction, to allow overrides.&lt;br /&gt;
* Resampler: Removed dead stlf code.&lt;br /&gt;
* Updated Soundtouch to 1.31 (2.5.8)&lt;br /&gt;
* Put dynamic matrix conversion into separate file.&lt;br /&gt;
* Moved chroma subsampling to image_type section.&lt;br /&gt;
* Added specific error reporting when requesting chromasubsampling with Y8.&lt;br /&gt;
* Split up merge and plane Swappers.&lt;br /&gt;
* Split up Plane transfers into separate classes.&lt;br /&gt;
* Added automatic destination colorspace detection on planar YtoUV.&lt;br /&gt;
* Took out greyscale and RGB32&amp;lt;-&amp;gt;RGB24 from convert.cpp and placed them in separate files.&lt;br /&gt;
* All code assuming UVwidth = Ywidth/2 and similar should be gone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelist]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Version</id>
		<title>Version</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Version"/>
				<updated>2019-05-16T21:27:26Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: missing bracket&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{FuncDef|Version()}}&lt;br /&gt;
&lt;br /&gt;
Generates a 24[[wikipedia:Frame_rate|fps]], 10-second, [[RGB24]]-format video clip with a version, build time, copyright statement, and homepage information in 24-point, Arial, light yellow ([[Colors|$ECF2BF]]) text on a 25% grey ($404040) background. Width and height are chosen to fit the message, so clip size varies by version. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[[File:avisynth-version-2.6.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the '''Version''' message is presented by itself (as is the normal case, when simply checking the installed AviSynth version), you don't care about the exact size, frame rate etc; but if you want to [[Splice]] this clip with other video clips, the [[Clip_properties|properties]] must be compatible: you will need more control. The following script implements a variant of the '''Version''' filter with a clip argument {{FuncArg|bg}} which defines the resulting properties, and (if {{FuncArg|showbg}}=true) the audio/video content in the background.&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|48|2}} &amp;gt;&lt;br /&gt;
 ### 'Version' filter with background/template clip &lt;br /&gt;
 function Version(clip bg, bool &amp;quot;showbg&amp;quot;)&lt;br /&gt;
 {&lt;br /&gt;
     showbg = [[Internal_functions/Default|Default]](showbg, false)&lt;br /&gt;
     bg = (showbg) ? bg : [[BlankClip]](bg, color=$404040)&lt;br /&gt;
     v=Version&lt;br /&gt;
     m=v.[[ConvertToRGB32]].[[ColorKeyMask]]($404040, 0).[[ShowAlpha]]&lt;br /&gt;
     [[Overlay]](bg, v, mask=m.[[Blur]](0.2),&lt;br /&gt;
     \       x=(bg.Width/2-v.Width/2), &lt;br /&gt;
     \       y=(bg.Height/2-v.Height/2))&lt;br /&gt;
     return Last&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:''Usage with template clip:''&lt;br /&gt;
:&amp;lt;code&amp;gt;Version(BlankClip(width=600, height=336, pixel_type=&amp;quot;YV24&amp;quot;))&amp;lt;/code&amp;gt;&lt;br /&gt;
:[[File:Avisynth-version-template-2.61.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''Showing the clip under the message:''&lt;br /&gt;
:&amp;lt;code&amp;gt;Version([[ColorBarsHD]](width=600, height=336), '''showbg=true'''))&amp;lt;/code&amp;gt;&lt;br /&gt;
:[[File:Avisynth-version-overlay-2.61.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Internal filters]]&lt;br /&gt;
[[Category:Debugging/Diagnostic filters]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Filter_SDK/Compiling_instructions</id>
		<title>Filter SDK/Compiling instructions</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Filter_SDK/Compiling_instructions"/>
				<updated>2019-01-03T22:41:28Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* General settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Avisynth API is a C++ API, but that doesn't mean that you can use every C++ compiler to compile your plugin. Unfortunately compilers have different ideas about what the C++ ABI should look like. In practice, this means that if you want things to work 100% as expected, you must compile your plugin with the same compiler that was used to compile AviSynth. That's MSVC 6.0 for official builds. Later versions of MSVC will kinda sorta work, as will ICL (up to ICL10.1), but there are caveats (for example, you must never allow any C++ exceptions to escape your plugin ever - use ThrowError() instead - and you must always make sure memory allocated by AviSynth is freed by AviSynth itself and not by your plugin). So unfortunately it matters what C++ compiler will be used to compile a plugin.&lt;br /&gt;
&lt;br /&gt;
An application binary interface ([http://en.wikipedia.org/wiki/Application_binary_interface ABI]) specifies how software components should interact with each other at the binary level (in this case AviSynth and a plugin). ABIs cover details such as the sizes, layout, and alignment of data types, the calling convention of functions' arguments that are passed and returned. It standardizes details such as the [http://en.wikipedia.org/wiki/Name_mangling#Name_mangling_in_C.2B.2B C++ name mangling] and exception propagation. The problem is that there are different C++ ABIs.&lt;br /&gt;
&lt;br /&gt;
Microsoft set their general C++ ABI with their first C++ compilers, and it has had some changes along the years and versions of their compiler suite. Intel and Borland, among others, support the Microsoft ABI, and thus things built with the other generally work, just like with Linux and the ABI used by GCC. Enter MinGW.&lt;br /&gt;
&lt;br /&gt;
Instead of implementing the Microsoft ABI, the people at GCC and MinGW decided to just use the same C++ ABI on Windows as they use everywhere else. Thus we have two groups of compilers that use a different ABI. It will give issues if you try to load a mingw-built C++ API DLL from a MSVC-built Avisynth. The opposite will not work, either. The C interface was made exactly for this reason, as pretty much by chance the ABI for C is (more or less) set, and thus it is generally OK to mix binaries created by different C compilers.&lt;br /&gt;
&lt;br /&gt;
This is why the Avisynth C API exists: if you want a portable API, you want a C API. C++ API's are more or less by definition unportable.&lt;br /&gt;
&lt;br /&gt;
This section explains how to compile Avisynth plugins that are using the C++ API and that are using the C API. For the latter see the MSVC++ 2010 section.&lt;br /&gt;
&lt;br /&gt;
=== Further reading ===&lt;br /&gt;
&lt;br /&gt;
If you want extra reading regarding calling conventions and name mangling and such ABI-related things, you can read the following PDF that lists quite a few things of various implementations. Available [http://www.agner.org/optimize/calling_conventions.pdf here]. Basically these things in general are not fixable by a mere header, you would have to patch a compiler for the other calling convention, as well as handle exceptions so that the other side would understand it as well. And so forth, and so forth. (source: Doom9 forum posts: [http://forum.doom9.org/showthread.php?p=1653392#post1653392], [http://forum.doom9.org/showthread.php?p=1653737#post1653737].)&lt;br /&gt;
&lt;br /&gt;
== Installing necessary software ==&lt;br /&gt;
&lt;br /&gt;
For installing software and setting up environments have a look at [[Filter_SDK/SDK_necessaries|necessary software]] and [[Filter_SDK/Compile AviSynth|necessary software and setting up environments]].&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins step by step instructions (for MS VC++ 6.0) ==&lt;br /&gt;
&lt;br /&gt;
Open VC++. Select a new project: Go to the File tab -&amp;gt; New. Select a Win32 Dynamic-Link Library in the Projects tab:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins.png‎]]&lt;br /&gt;
&lt;br /&gt;
Add the location of your project and the Project Name. The location is the project folder where the source of your project will be.&lt;br /&gt;
&lt;br /&gt;
Select &amp;quot;An empty DLL project&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins2.png‎]]&lt;br /&gt;
&lt;br /&gt;
Copy existing source files (*.cpp), headers (*.h) and avisynth.h in your project folder. If you started from scratch, you only need to copy avisynth.h in your project folder.&lt;br /&gt;
&lt;br /&gt;
Go to the Project tab -&amp;gt; Add To Project -&amp;gt; Files:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins3.png‎]]&lt;br /&gt;
&lt;br /&gt;
Add the existing source files (*.cpp), headers (*.h) and avisynth.h to your project. If you start from scratch, you need to a new files to your project:&lt;br /&gt;
&lt;br /&gt;
Go to the Project tab -&amp;gt; Add To project -&amp;gt; New:&lt;br /&gt;
&lt;br /&gt;
1) Select C++ source file, and give it a name.&lt;br /&gt;
2) Select C/C++ header file (if you are going to use one), and give it a name.&lt;br /&gt;
&lt;br /&gt;
Go to the Build tab -&amp;gt; Set Active Configuration -&amp;gt; select the release build.&lt;br /&gt;
&lt;br /&gt;
If you go to the Project tab again -&amp;gt; Settings. Then you should see something similar as this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins4.png‎]]&lt;br /&gt;
&lt;br /&gt;
Save your workspace: File -&amp;gt; Save Workspace.&lt;br /&gt;
&lt;br /&gt;
Finally, code your source/header files, and compile your plugin. Go to the Build tab -&amp;gt; Build (...)&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins5.png‎]]&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins step by step instructions (for MS VC++ 2005 Express Edition) ==&lt;br /&gt;
&lt;br /&gt;
=== How to compile existent (old MS VC 6.0) plugin with MS VC++ 2005 ===&lt;br /&gt;
&lt;br /&gt;
* Start VC++ 2005, go to folder with old plugin (e.g. [[Filter_SDK/Simple_sample | SimpleSample]]) unpacked zip file with full source codes and project files, and open plugin workspace file SimpleSample.dsw.&lt;br /&gt;
&lt;br /&gt;
* Agree in dialog to convert and open this project.&lt;br /&gt;
&lt;br /&gt;
* Go to menu Build -&amp;gt; Configuration Manager, Set active solution configuration to Release (or Debug if you want firsly debug it).&lt;br /&gt;
&lt;br /&gt;
* Go to Build -&amp;gt; Build Solution (F7) to compile and create SimpleSample.dll&lt;br /&gt;
&lt;br /&gt;
* If you get fatal error LNK1181: cannot open input file 'odbc32.lib', then go to menu Project -&amp;gt; SimpleSample Properties. Select Configuration Properties -&amp;gt; Linker -&amp;gt; Input -&amp;gt; Additional Dependencies, and remove extra unneeded libraries like odbc32.lib, odbccp32.lib.&lt;br /&gt;
&lt;br /&gt;
* Also check Linker -&amp;gt; Output File option there and set approriate pathname (or Inherit From Process default).&lt;br /&gt;
&lt;br /&gt;
* You can make some changes (edit) of source codes if you want.&lt;br /&gt;
&lt;br /&gt;
* Repeat command Build -&amp;gt; Build Solution (F7) to compile and create SimpleSample.dll&lt;br /&gt;
&lt;br /&gt;
=== How to create new plugin from scratch with MS VC++ 2005 ===&lt;br /&gt;
&lt;br /&gt;
* Start VC++2005. &lt;br /&gt;
* Menu: fiIe -&amp;gt; Create new project.&lt;br /&gt;
* Select Win32 console appication.&lt;br /&gt;
* Enter name of your new project and press OK.&lt;br /&gt;
* You will in Win32 Appcilation Wizard. Press Application Settings (left panel).&lt;br /&gt;
* Select Application Type as DLL (but it may be console too).&lt;br /&gt;
* At Additional options select &amp;quot;Empty project&amp;quot; &lt;br /&gt;
* Copy files to project folder with Explorer.&lt;br /&gt;
* Add header file avisynth.h to the project: Menu Project -&amp;gt; Add existent item. Also add existant (e.g. simplesample.cpp) or create new CPP files by Project -&amp;gt; Add new item.&lt;br /&gt;
* Go to menu Build -&amp;gt; Configuration Manager, Set active solution configuration to Release (or Debug if you want firsly debug it). &lt;br /&gt;
* Make some changes (edit) of source codes to implement your algorithm. See [[Filter_SDK/Simple_sample | SimpleSample]] or some other open source plugin source code and Avisynth [[Filter SDK]] for details.&lt;br /&gt;
* Go to Build -&amp;gt; Build Solution (F7) to compile and create plugin SimpleSample.dll&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins step by step instructions (for MS VC++ 2008 Professional Edition) ==&lt;br /&gt;
&lt;br /&gt;
* In this guide, we will compile the Example plugin from CPP for C programmers, from http://forum.doom9.org/showthread.php?p=1538557#post1538557 or directly from http://www.mediafire.com/download.php?tc61m9otustmy29&lt;br /&gt;
* Start Microsoft Visual Studio 2008&lt;br /&gt;
* Upon first start, you are asked to set up your environment.  You may choose the typical Visual C++ option&lt;br /&gt;
* Choose File-&amp;gt;New-&amp;gt;Project or click the New Project icon&lt;br /&gt;
* On the left pane, under Project Types, expand Visual C++ and select Win32&lt;br /&gt;
* On the right pane, choose Win32 Console Application&lt;br /&gt;
* Enter a name for your project (in this example we will use Example), click OK&lt;br /&gt;
* You may get an error: An error has occurred in this dialog, Error: 54, Unspecified Error. This may be because you installed some windows updates but didn't reboot yet.  Click OK.&lt;br /&gt;
* You are shown the current project settings.  Click Next.&lt;br /&gt;
* Under Application Type, click the DLL option.  Under Additional options, check the Empty project box.&lt;br /&gt;
* A new directory is created, My Documents\Visual Studio 2008\Projects\Example&lt;br /&gt;
* You need to extract the files from our example plugin into My Documents\Visual Studio 2008\Projects\Example\Example&lt;br /&gt;
* In the default layout, there is a Solution Explorer pane on the left side.  Right click Header Files, and select Add-&amp;gt;Existing Item, select avisynth.h and click Add&lt;br /&gt;
* Continue to add the other files, Info.h and InfoF.h&lt;br /&gt;
* Right click Source Files, select Add-&amp;gt;Existing Item, and select Example.cpp&lt;br /&gt;
* Click Build-&amp;gt;Build Solution (this will give errors!)&lt;br /&gt;
* There's a lot of errors about OutputDebugStringW.  To fix this, select Project-&amp;gt;Example Properties&lt;br /&gt;
* In the left pane, Expand Configuration Properties, select General&lt;br /&gt;
* In the right pane, click Character Set.  Use the drop-down to select Use Multi-Byte Character Set.  Click OK.&lt;br /&gt;
* Click Build-&amp;gt;Build Solution (this may give errors!)&lt;br /&gt;
* In the version 0.3 of the plugin, there was an error, 'example.cpp(610) : error C4430: missing type specifier - int assumed'.  To fix this, double-click that error line to highlight it's location in the example.cpp source file.  Change 'const wstep = (vi.IsRGB24()) ? 3 : 4; // 3 bytes for RGB24, &amp;amp; 4 for RGB32.' to 'const int wstep = (vi.IsRGB24()) ? 3 : 4; // 3 bytes for RGB24, &amp;amp; 4 for RGB32.'&lt;br /&gt;
* Click Build-&amp;gt;Build Solution&lt;br /&gt;
* If you get an error 'unresolved external symbol _main referenced in function ___tmainCRTStartup', then you're trying to build an .exe.  Use Project-&amp;gt;Example Properties, Configuration Properties, General, set Configuration Type to Dynamic Library (.dll)&lt;br /&gt;
* By default, a debug version is made.  To change this, Build-&amp;gt;Configuration Manager, select Release in the left drop-down&lt;br /&gt;
* You will have to re-apply the configuration changes:  Project-&amp;gt;Example Properties, Configuration Properties, General, Configuration Type=Dynamic Library (.dll) and Character Set=Use Multi-Byte Character Set&lt;br /&gt;
* The following file should appear: My Documents\Visual Studio 2008\Projects\Example\Release\Example.dll.  Note that there is also a directory My Documents\Visual Studio 2008\Projects\Example\Example\Release which contains only tempory files, but not the dll.  This is set under Project-&amp;gt;Example Properties, General, Output Directory=$(SolutionDir)$(ConfigurationName), Intermediate Directory=$(ConfigurationName).  In this case $(SolutionDir)=My Documents\Visual Studio 2008\Projects\Example, $(ConfigurationName)=Release.&lt;br /&gt;
* You need to copy Example.dll to your Avisynth plugins directory, and then test it with the Example.avs file.&lt;br /&gt;
* If everything worked, you can proceed to modify the example by following the comments, or also using the SimnpleSample included in the Avisynth distribution.&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins or console applications step by step instructions (for MS VC++ 2010 Express and Professional Edition) ==&lt;br /&gt;
&lt;br /&gt;
These instructions are also valid for the 2008 editions. Be sure to start with the [[Filter_SDK/SDK_necessaries|necessary software]] and [[Filter_SDK/Compile AviSynth|necessary software and setting up environments]].&lt;br /&gt;
&lt;br /&gt;
=== Creating a new project ===&lt;br /&gt;
&lt;br /&gt;
Open MSVC++ 2010. Select a new project: &lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_001.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
Select a Win32 Console Application. Add the location of your project and the project name. The Location\Name will be the project folder (or Solution Directory as MSVC++ 2010 calls it) where the source of your project will be. If the folder &amp;quot;Name&amp;quot; already exists the 'Create directory for solution' box should be left unchecked, otherwise it will create as a subfolder regardless.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_002.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
Select application settings. When creating a plugin check the application type 'DLL' and when creating a console application (such as avs2wav.exe for example) check the application type 'Console application'. Also check the additional option 'Empty project' boxes. Click on finish:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_003.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Adding files to the project ===&lt;br /&gt;
&lt;br /&gt;
In the Solution Explorer window, the solution has the 'folders' External Dependencies, Header Files, Resource Files and Source Files:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_004.jpg]]&lt;br /&gt;
&lt;br /&gt;
* When creating a plugin using the C++ API, you need to copy the existing source files (*.cpp), headers (*.h) and avisynth.h in your project folder. If you started from scratch, you only need to copy avisynth.h in your project folder.&lt;br /&gt;
&lt;br /&gt;
* When creating a plugin using the C API, you need to copy the existing source files (*.c), headers (*.h) and avisynth_c.h in your project folder. If you started from scratch, you only need to copy avisynth_c.h in your project folder. Note make sure your source files end with '.c' instead of '.cpp' (that's how for example MSVC++ knows it's C code).&lt;br /&gt;
&lt;br /&gt;
You can add the source and header files to your project by right-clicking on a 'folder' (say Header Files as in the screenshot below), select Add and Existing Item (or New Item if you start from scratch):&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_005.jpg]]&lt;br /&gt;
&lt;br /&gt;
When creating a plugin using the C API, you need to do two additional things:&lt;br /&gt;
&lt;br /&gt;
* You need to link to avisynth.lib (create the folder InvertNeg/lib and copy the library to it). In the linker add lib\avisynth.lib under 'Additional Dependencies' (both for the release and debug configuration):&lt;br /&gt;
:[[Image:Compiling_cplugins_msvc2010_001.jpg]]&lt;br /&gt;
&lt;br /&gt;
* When compiling with MSVC++ you also need to add a definition file to your project (otherwise LoadCPlugin can't load the library). Create a text file (here named InvertNeg.def), add it to your project (under source files) and add it to the 'Module Definition File' in the linker (both for the release and debug configuration):&lt;br /&gt;
:[[Image:Compiling_cplugins_msvc2010_002.jpg]]&lt;br /&gt;
&lt;br /&gt;
Select the release build, since we are building the release build.&lt;br /&gt;
&lt;br /&gt;
=== General settings ===&lt;br /&gt;
&lt;br /&gt;
If it's your first time you use the compiler, you need to select the expert settings to make the build tab visible:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Settings &amp;gt; Expert Settings&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_006.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
In the property page you can see (and change) the location of the DLL that will be build:&lt;br /&gt;
&lt;br /&gt;
Right click on the project name (InvertNeg in our case) &amp;gt; Properties &amp;gt; Configuration Properties &amp;gt; General&lt;br /&gt;
&lt;br /&gt;
The default location is $(SolutionDir)$(Configuration)\. You have set the 'SolutionDir' when defining the project (D:\AviSynth\Plugins\InvertNeg in our case). 'Configuration' will be the Release or Debug folder depending on which configuration you have selected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_07.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
Next you need to be aware of the VC++ Directories and change them if necessary:&lt;br /&gt;
&lt;br /&gt;
Right click on the project name (InvertNeg in our case) &amp;gt; Properties &amp;gt; Configuration Properties &amp;gt; VC++ Directories&lt;br /&gt;
&lt;br /&gt;
Here you will find the location of the 'Include Directories' and others. $(VCInstallDir)include points to the include folder of MSVC++ 2010 and $(WindowsSdkDir)include to the include folder of the Microsoft Platform SDK. When including headers (such as windows.h) in your project they will be searched for in the include folders (unless you explicitly add its location when including them). So both of them should point to the correct folders. &lt;br /&gt;
&lt;br /&gt;
Note that in general windows.h should be included in your project. It is the header file for accessing the Win32 API through C/C++ and it is located in the include folder of the Microsoft Platform SDK.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_008.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can see the values of VCInstallDir and WindowsSdkDir when opening the VS command prompt:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Visual Studio &amp;gt; Command Prompt&lt;br /&gt;
&lt;br /&gt;
The VS command prompt will be loaded. Type set and you will see the variables. They will be set when starting MSVC++ 2010 (by vsvars32.bat which is located in your &amp;lt;VisualStudioInstallDir&amp;gt;\Common7\Tools folder).&lt;br /&gt;
&lt;br /&gt;
=== Building the plugin or console application ===&lt;br /&gt;
&lt;br /&gt;
Now you are ready to build you DLL/EXE. Go to&lt;br /&gt;
&lt;br /&gt;
Build &amp;gt; Build Solution&lt;br /&gt;
&lt;br /&gt;
And you will find your compiled plugin in the Location\Name\Folder.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_009.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Development]]&lt;br /&gt;
[[Category:FilterSDK]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Filter_SDK/Compiling_instructions</id>
		<title>Filter SDK/Compiling instructions</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Filter_SDK/Compiling_instructions"/>
				<updated>2019-01-03T22:35:04Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Avisynth API is a C++ API, but that doesn't mean that you can use every C++ compiler to compile your plugin. Unfortunately compilers have different ideas about what the C++ ABI should look like. In practice, this means that if you want things to work 100% as expected, you must compile your plugin with the same compiler that was used to compile AviSynth. That's MSVC 6.0 for official builds. Later versions of MSVC will kinda sorta work, as will ICL (up to ICL10.1), but there are caveats (for example, you must never allow any C++ exceptions to escape your plugin ever - use ThrowError() instead - and you must always make sure memory allocated by AviSynth is freed by AviSynth itself and not by your plugin). So unfortunately it matters what C++ compiler will be used to compile a plugin.&lt;br /&gt;
&lt;br /&gt;
An application binary interface ([http://en.wikipedia.org/wiki/Application_binary_interface ABI]) specifies how software components should interact with each other at the binary level (in this case AviSynth and a plugin). ABIs cover details such as the sizes, layout, and alignment of data types, the calling convention of functions' arguments that are passed and returned. It standardizes details such as the [http://en.wikipedia.org/wiki/Name_mangling#Name_mangling_in_C.2B.2B C++ name mangling] and exception propagation. The problem is that there are different C++ ABIs.&lt;br /&gt;
&lt;br /&gt;
Microsoft set their general C++ ABI with their first C++ compilers, and it has had some changes along the years and versions of their compiler suite. Intel and Borland, among others, support the Microsoft ABI, and thus things built with the other generally work, just like with Linux and the ABI used by GCC. Enter MinGW.&lt;br /&gt;
&lt;br /&gt;
Instead of implementing the Microsoft ABI, the people at GCC and MinGW decided to just use the same C++ ABI on Windows as they use everywhere else. Thus we have two groups of compilers that use a different ABI. It will give issues if you try to load a mingw-built C++ API DLL from a MSVC-built Avisynth. The opposite will not work, either. The C interface was made exactly for this reason, as pretty much by chance the ABI for C is (more or less) set, and thus it is generally OK to mix binaries created by different C compilers.&lt;br /&gt;
&lt;br /&gt;
This is why the Avisynth C API exists: if you want a portable API, you want a C API. C++ API's are more or less by definition unportable.&lt;br /&gt;
&lt;br /&gt;
This section explains how to compile Avisynth plugins that are using the C++ API and that are using the C API. For the latter see the MSVC++ 2010 section.&lt;br /&gt;
&lt;br /&gt;
=== Further reading ===&lt;br /&gt;
&lt;br /&gt;
If you want extra reading regarding calling conventions and name mangling and such ABI-related things, you can read the following PDF that lists quite a few things of various implementations. Available [http://www.agner.org/optimize/calling_conventions.pdf here]. Basically these things in general are not fixable by a mere header, you would have to patch a compiler for the other calling convention, as well as handle exceptions so that the other side would understand it as well. And so forth, and so forth. (source: Doom9 forum posts: [http://forum.doom9.org/showthread.php?p=1653392#post1653392], [http://forum.doom9.org/showthread.php?p=1653737#post1653737].)&lt;br /&gt;
&lt;br /&gt;
== Installing necessary software ==&lt;br /&gt;
&lt;br /&gt;
For installing software and setting up environments have a look at [[Filter_SDK/SDK_necessaries|necessary software]] and [[Filter_SDK/Compile AviSynth|necessary software and setting up environments]].&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins step by step instructions (for MS VC++ 6.0) ==&lt;br /&gt;
&lt;br /&gt;
Open VC++. Select a new project: Go to the File tab -&amp;gt; New. Select a Win32 Dynamic-Link Library in the Projects tab:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins.png‎]]&lt;br /&gt;
&lt;br /&gt;
Add the location of your project and the Project Name. The location is the project folder where the source of your project will be.&lt;br /&gt;
&lt;br /&gt;
Select &amp;quot;An empty DLL project&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins2.png‎]]&lt;br /&gt;
&lt;br /&gt;
Copy existing source files (*.cpp), headers (*.h) and avisynth.h in your project folder. If you started from scratch, you only need to copy avisynth.h in your project folder.&lt;br /&gt;
&lt;br /&gt;
Go to the Project tab -&amp;gt; Add To Project -&amp;gt; Files:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins3.png‎]]&lt;br /&gt;
&lt;br /&gt;
Add the existing source files (*.cpp), headers (*.h) and avisynth.h to your project. If you start from scratch, you need to a new files to your project:&lt;br /&gt;
&lt;br /&gt;
Go to the Project tab -&amp;gt; Add To project -&amp;gt; New:&lt;br /&gt;
&lt;br /&gt;
1) Select C++ source file, and give it a name.&lt;br /&gt;
2) Select C/C++ header file (if you are going to use one), and give it a name.&lt;br /&gt;
&lt;br /&gt;
Go to the Build tab -&amp;gt; Set Active Configuration -&amp;gt; select the release build.&lt;br /&gt;
&lt;br /&gt;
If you go to the Project tab again -&amp;gt; Settings. Then you should see something similar as this:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins4.png‎]]&lt;br /&gt;
&lt;br /&gt;
Save your workspace: File -&amp;gt; Save Workspace.&lt;br /&gt;
&lt;br /&gt;
Finally, code your source/header files, and compile your plugin. Go to the Build tab -&amp;gt; Build (...)&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins5.png‎]]&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins step by step instructions (for MS VC++ 2005 Express Edition) ==&lt;br /&gt;
&lt;br /&gt;
=== How to compile existent (old MS VC 6.0) plugin with MS VC++ 2005 ===&lt;br /&gt;
&lt;br /&gt;
* Start VC++ 2005, go to folder with old plugin (e.g. [[Filter_SDK/Simple_sample | SimpleSample]]) unpacked zip file with full source codes and project files, and open plugin workspace file SimpleSample.dsw.&lt;br /&gt;
&lt;br /&gt;
* Agree in dialog to convert and open this project.&lt;br /&gt;
&lt;br /&gt;
* Go to menu Build -&amp;gt; Configuration Manager, Set active solution configuration to Release (or Debug if you want firsly debug it).&lt;br /&gt;
&lt;br /&gt;
* Go to Build -&amp;gt; Build Solution (F7) to compile and create SimpleSample.dll&lt;br /&gt;
&lt;br /&gt;
* If you get fatal error LNK1181: cannot open input file 'odbc32.lib', then go to menu Project -&amp;gt; SimpleSample Properties. Select Configuration Properties -&amp;gt; Linker -&amp;gt; Input -&amp;gt; Additional Dependencies, and remove extra unneeded libraries like odbc32.lib, odbccp32.lib.&lt;br /&gt;
&lt;br /&gt;
* Also check Linker -&amp;gt; Output File option there and set approriate pathname (or Inherit From Process default).&lt;br /&gt;
&lt;br /&gt;
* You can make some changes (edit) of source codes if you want.&lt;br /&gt;
&lt;br /&gt;
* Repeat command Build -&amp;gt; Build Solution (F7) to compile and create SimpleSample.dll&lt;br /&gt;
&lt;br /&gt;
=== How to create new plugin from scratch with MS VC++ 2005 ===&lt;br /&gt;
&lt;br /&gt;
* Start VC++2005. &lt;br /&gt;
* Menu: fiIe -&amp;gt; Create new project.&lt;br /&gt;
* Select Win32 console appication.&lt;br /&gt;
* Enter name of your new project and press OK.&lt;br /&gt;
* You will in Win32 Appcilation Wizard. Press Application Settings (left panel).&lt;br /&gt;
* Select Application Type as DLL (but it may be console too).&lt;br /&gt;
* At Additional options select &amp;quot;Empty project&amp;quot; &lt;br /&gt;
* Copy files to project folder with Explorer.&lt;br /&gt;
* Add header file avisynth.h to the project: Menu Project -&amp;gt; Add existent item. Also add existant (e.g. simplesample.cpp) or create new CPP files by Project -&amp;gt; Add new item.&lt;br /&gt;
* Go to menu Build -&amp;gt; Configuration Manager, Set active solution configuration to Release (or Debug if you want firsly debug it). &lt;br /&gt;
* Make some changes (edit) of source codes to implement your algorithm. See [[Filter_SDK/Simple_sample | SimpleSample]] or some other open source plugin source code and Avisynth [[Filter SDK]] for details.&lt;br /&gt;
* Go to Build -&amp;gt; Build Solution (F7) to compile and create plugin SimpleSample.dll&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins step by step instructions (for MS VC++ 2008 Professional Edition) ==&lt;br /&gt;
&lt;br /&gt;
* In this guide, we will compile the Example plugin from CPP for C programmers, from http://forum.doom9.org/showthread.php?p=1538557#post1538557 or directly from http://www.mediafire.com/download.php?tc61m9otustmy29&lt;br /&gt;
* Start Microsoft Visual Studio 2008&lt;br /&gt;
* Upon first start, you are asked to set up your environment.  You may choose the typical Visual C++ option&lt;br /&gt;
* Choose File-&amp;gt;New-&amp;gt;Project or click the New Project icon&lt;br /&gt;
* On the left pane, under Project Types, expand Visual C++ and select Win32&lt;br /&gt;
* On the right pane, choose Win32 Console Application&lt;br /&gt;
* Enter a name for your project (in this example we will use Example), click OK&lt;br /&gt;
* You may get an error: An error has occurred in this dialog, Error: 54, Unspecified Error. This may be because you installed some windows updates but didn't reboot yet.  Click OK.&lt;br /&gt;
* You are shown the current project settings.  Click Next.&lt;br /&gt;
* Under Application Type, click the DLL option.  Under Additional options, check the Empty project box.&lt;br /&gt;
* A new directory is created, My Documents\Visual Studio 2008\Projects\Example&lt;br /&gt;
* You need to extract the files from our example plugin into My Documents\Visual Studio 2008\Projects\Example\Example&lt;br /&gt;
* In the default layout, there is a Solution Explorer pane on the left side.  Right click Header Files, and select Add-&amp;gt;Existing Item, select avisynth.h and click Add&lt;br /&gt;
* Continue to add the other files, Info.h and InfoF.h&lt;br /&gt;
* Right click Source Files, select Add-&amp;gt;Existing Item, and select Example.cpp&lt;br /&gt;
* Click Build-&amp;gt;Build Solution (this will give errors!)&lt;br /&gt;
* There's a lot of errors about OutputDebugStringW.  To fix this, select Project-&amp;gt;Example Properties&lt;br /&gt;
* In the left pane, Expand Configuration Properties, select General&lt;br /&gt;
* In the right pane, click Character Set.  Use the drop-down to select Use Multi-Byte Character Set.  Click OK.&lt;br /&gt;
* Click Build-&amp;gt;Build Solution (this may give errors!)&lt;br /&gt;
* In the version 0.3 of the plugin, there was an error, 'example.cpp(610) : error C4430: missing type specifier - int assumed'.  To fix this, double-click that error line to highlight it's location in the example.cpp source file.  Change 'const wstep = (vi.IsRGB24()) ? 3 : 4; // 3 bytes for RGB24, &amp;amp; 4 for RGB32.' to 'const int wstep = (vi.IsRGB24()) ? 3 : 4; // 3 bytes for RGB24, &amp;amp; 4 for RGB32.'&lt;br /&gt;
* Click Build-&amp;gt;Build Solution&lt;br /&gt;
* If you get an error 'unresolved external symbol _main referenced in function ___tmainCRTStartup', then you're trying to build an .exe.  Use Project-&amp;gt;Example Properties, Configuration Properties, General, set Configuration Type to Dynamic Library (.dll)&lt;br /&gt;
* By default, a debug version is made.  To change this, Build-&amp;gt;Configuration Manager, select Release in the left drop-down&lt;br /&gt;
* You will have to re-apply the configuration changes:  Project-&amp;gt;Example Properties, Configuration Properties, General, Configuration Type=Dynamic Library (.dll) and Character Set=Use Multi-Byte Character Set&lt;br /&gt;
* The following file should appear: My Documents\Visual Studio 2008\Projects\Example\Release\Example.dll.  Note that there is also a directory My Documents\Visual Studio 2008\Projects\Example\Example\Release which contains only tempory files, but not the dll.  This is set under Project-&amp;gt;Example Properties, General, Output Directory=$(SolutionDir)$(ConfigurationName), Intermediate Directory=$(ConfigurationName).  In this case $(SolutionDir)=My Documents\Visual Studio 2008\Projects\Example, $(ConfigurationName)=Release.&lt;br /&gt;
* You need to copy Example.dll to your Avisynth plugins directory, and then test it with the Example.avs file.&lt;br /&gt;
* If everything worked, you can proceed to modify the example by following the comments, or also using the SimnpleSample included in the Avisynth distribution.&lt;br /&gt;
&lt;br /&gt;
== Compiling AviSynth plugins or console applications step by step instructions (for MS VC++ 2010 Express and Professional Edition) ==&lt;br /&gt;
&lt;br /&gt;
These instructions are also valid for the 2008 editions. Be sure to start with the [[Filter_SDK/SDK_necessaries|necessary software]] and [[Filter_SDK/Compile AviSynth|necessary software and setting up environments]].&lt;br /&gt;
&lt;br /&gt;
=== Creating a new project ===&lt;br /&gt;
&lt;br /&gt;
Open MSVC++ 2010. Select a new project: &lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_001.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
Select a Win32 Console Application. Add the location of your project and the project name. The Location\Name will be the project folder (or Solution Directory as MSVC++ 2010 calls it) where the source of your project will be. If the folder &amp;quot;Name&amp;quot; already exists the 'Create directory for solution' box should be left unchecked, otherwise it will create as a subfolder regardless.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_002.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
Select application settings. When creating a plugin check the application type 'DLL' and when creating a console application (such as avs2wav.exe for example) check the application type 'Console application'. Also check the additional option 'Empty project' boxes. Click on finish:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_003.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Adding files to the project ===&lt;br /&gt;
&lt;br /&gt;
In the Solution Explorer window, the solution has the 'folders' External Dependencies, Header Files, Resource Files and Source Files:&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_004.jpg]]&lt;br /&gt;
&lt;br /&gt;
* When creating a plugin using the C++ API, you need to copy the existing source files (*.cpp), headers (*.h) and avisynth.h in your project folder. If you started from scratch, you only need to copy avisynth.h in your project folder.&lt;br /&gt;
&lt;br /&gt;
* When creating a plugin using the C API, you need to copy the existing source files (*.c), headers (*.h) and avisynth_c.h in your project folder. If you started from scratch, you only need to copy avisynth_c.h in your project folder. Note make sure your source files end with '.c' instead of '.cpp' (that's how for example MSVC++ knows it's C code).&lt;br /&gt;
&lt;br /&gt;
You can add the source and header files to your project by right-clicking on a 'folder' (say Header Files as in the screenshot below), select Add and Existing Item (or New Item if you start from scratch):&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_005.jpg]]&lt;br /&gt;
&lt;br /&gt;
When creating a plugin using the C API, you need to do two additional things:&lt;br /&gt;
&lt;br /&gt;
* You need to link to avisynth.lib (create the folder InvertNeg/lib and copy the library to it). In the linker add lib\avisynth.lib under 'Additional Dependencies' (both for the release and debug configuration):&lt;br /&gt;
:[[Image:Compiling_cplugins_msvc2010_001.jpg]]&lt;br /&gt;
&lt;br /&gt;
* When compiling with MSVC++ you also need to add a definition file to your project (otherwise LoadCPlugin can't load the library). Create a text file (here named InvertNeg.def), add it to your project (under source files) and add it to the 'Module Definition File' in the linker (both for the release and debug configuration):&lt;br /&gt;
:[[Image:Compiling_cplugins_msvc2010_002.jpg]]&lt;br /&gt;
&lt;br /&gt;
Select the release build, since we are building the release build.&lt;br /&gt;
&lt;br /&gt;
=== General settings ===&lt;br /&gt;
&lt;br /&gt;
If it's your first time you use the compiler, you need to select the expert settings to make the build tab visible:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Settings &amp;gt; Expert Settings&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_006.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
In the property page you can see (and change) the location of the DLL that will be build:&lt;br /&gt;
&lt;br /&gt;
Right click on the project name (InvertNeg in our case) &amp;gt; Properties &amp;gt; Configuration Properties &amp;gt; General&lt;br /&gt;
&lt;br /&gt;
The default location is $(SolutionDir)$(Configuration)\. You have set the 'SolutionDir' when defining the project (D:\AviSynth\Plugins|InvertNeg in our case). 'Configuration' will be the Release or Debug folder depending on which configuration you have selected.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_07.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
Next you need to be aware of the VC++ Directories and change them if necessary:&lt;br /&gt;
&lt;br /&gt;
Right click on the project name (InvertNeg in our case) &amp;gt; Properties &amp;gt; Configuration Properties &amp;gt; VC++ Directories&lt;br /&gt;
&lt;br /&gt;
Here you will find the location of the 'Include Directories' and others. $(VCInstallDir)include points to the include folder of MSVC++ 2010 and $(WindowsSdkDir)include to the include folder of the Microsoft Platform SDK. When including headers (such as windows.h) in your project they will be searched for in the include folders (unless you explicitly add its location when including them). So both of them should point to the correct folders. &lt;br /&gt;
&lt;br /&gt;
Note that in general windows.h should be included in your project. It is the header file for accessing the Win32 API through C/C++ and it is located in the include folder of the Microsoft Platform SDK.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_008.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can see the values of VCInstallDir and WindowsSdkDir when opening the VS command prompt:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Visual Studio &amp;gt; Command Prompt&lt;br /&gt;
&lt;br /&gt;
The VS command prompt will be loaded. Type set and you will see the variables. They will be set when starting MSVC++ 2010 (by vsvars32.bat which is located in your &amp;lt;VisualStudioInstallDir&amp;gt;\Common7\Tools folder).&lt;br /&gt;
&lt;br /&gt;
=== Building the plugin or console application ===&lt;br /&gt;
&lt;br /&gt;
Now you are ready to build you DLL/EXE. Go to&lt;br /&gt;
&lt;br /&gt;
Build &amp;gt; Build Solution&lt;br /&gt;
&lt;br /&gt;
And you will find your compiled plugin in the Location\Name\Folder.&lt;br /&gt;
&lt;br /&gt;
[[Image:Compiling_plugins_msvc2010_009.jpg|720px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Development]]&lt;br /&gt;
[[Category:FilterSDK]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Category:Users</id>
		<title>Category:Users</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Category:Users"/>
				<updated>2018-07-06T12:13:26Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;add users in this category  Category:AviSynth&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;add users in this category&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/User:Admin</id>
		<title>User:Admin</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/User:Admin"/>
				<updated>2018-07-06T12:12:26Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;link: http://avisynth.nl/index.php/User:Admin/Filter_SDK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% tables:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{| border=&amp;quot;1&amp;quot;&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|- &amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;nl&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| v2.55&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| Added fourCC option.&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% tables - more advanced (three columns with different width):&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;!width=25%| Filter&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;!width=50%| Description&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;!width=25%| Color format&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| [[Info]]&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| Prints out image and sound information.&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% creating and referring to a category:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Add the following at the end of a page:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Internal filters]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% creating and referring to a subcategory:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% for example a codecs category divided into several subcategories&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Add the following at the end of a codec description page:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:LosslessCodecs]]&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Codecs]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when saving it, it will show up like this: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:LosslessCodecs|Codecs]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now go to the LosslessCodecs page and add some text followed by &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Codecs]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally go to Codecs page and add some text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% redirect to other pages:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#REDIRECT [[BlankClip]] [[Category:Internal filters]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% linking to 'Runtime Functions' when clicking on 'blabla':&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;runtime&amp;quot;&amp;gt;Runtime Functions&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[#runtime|blabla]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% linking - works only for sections:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Runtime Functions ==&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[#Runtime_Functions|Runtime Functions]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% templates&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Template:FuncDef| ...}}&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
... &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Template:Func4Def| ...}}&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
they are defined on this page: ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% Filters: when adding defaults in the template description use &amp;quot;&amp;amp;#61 ;&amp;quot; (without empty space) and not &amp;quot;=&amp;quot;, otherwise the template is not generated:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Template:FuncDef|AviSource(string filename [, ... ] [, bool audio &amp;amp;#61; true] [, string pixel_type &amp;amp;#61; YV12] [, string fourCC])}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% forcing table of contents: &amp;lt;br&amp;gt;&lt;br /&gt;
Add &amp;quot;&amp;lt;nowiki&amp;gt;__FORCETOC__&amp;lt;/nowiki&amp;gt;&amp;quot; to force a table of contents. If the number of sections is less than four, the table of contents will not automatically be generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% Link to a category page: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Link to the page http://www.avisynth.org/mediawiki/wiki/Category:Internal_filters: [[:Category:Internal_filters]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% added languages:&lt;br /&gt;
The sidebar should be updated: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://avisynth.nl/index.php/MediaWiki:Sidebar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% Formula's using LaTeX (and the &amp;quot;math&amp;quot; tags):&lt;br /&gt;
:&amp;lt;math&amp;gt;\eta(\tau) = q^{1/24} \prod_{n=1}^{\infty} (1-q^{n})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{FilterCat|AviSynth|Users}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/User:Admin</id>
		<title>User:Admin</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/User:Admin"/>
				<updated>2018-07-06T12:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;link: http://avisynth.nl/index.php/User:Admin/Filter_SDK&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% tables:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{| border=&amp;quot;1&amp;quot;&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|- &amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;nl&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| v2.55&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| Added fourCC option.&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% tables - more advanced (three columns with different width):&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;!width=25%| Filter&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;!width=50%| Description&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;!width=25%| Color format&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|-&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| [[Info]]&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| Prints out image and sound information.&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% creating and referring to a category:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Add the following at the end of a page:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Internal filters]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% creating and referring to a subcategory:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% for example a codecs category divided into several subcategories&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Add the following at the end of a codec description page:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:LosslessCodecs]]&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Codecs]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when saving it, it will show up like this: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:LosslessCodecs|Codecs]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now go to the LosslessCodecs page and add some text followed by &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Codecs]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally go to Codecs page and add some text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% redirect to other pages:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#REDIRECT [[BlankClip]] [[Category:Internal filters]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% linking to 'Runtime Functions' when clicking on 'blabla':&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;div id=&amp;quot;runtime&amp;quot;&amp;gt;Runtime Functions&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[#runtime|blabla]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% linking - works only for sections:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Runtime Functions ==&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[#Runtime_Functions|Runtime Functions]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% templates&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Template:FuncDef| ...}}&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
... &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Template:Func4Def| ...}}&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
they are defined on this page: ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;%%% Filters: when adding defaults in the template description use &amp;quot;&amp;amp;#61 ;&amp;quot; (without empty space) and not &amp;quot;=&amp;quot;, otherwise the template is not generated:&amp;lt;/nowiki&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Template:FuncDef|AviSource(string filename [, ... ] [, bool audio &amp;amp;#61; true] [, string pixel_type &amp;amp;#61; YV12] [, string fourCC])}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% forcing table of contents: &amp;lt;br&amp;gt;&lt;br /&gt;
Add &amp;quot;&amp;lt;nowiki&amp;gt;__FORCETOC__&amp;lt;/nowiki&amp;gt;&amp;quot; to force a table of contents. If the number of sections is less than four, the table of contents will not automatically be generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% Link to a category page: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Link to the page http://www.avisynth.org/mediawiki/wiki/Category:Internal_filters: [[:Category:Internal_filters]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% added languages:&lt;br /&gt;
The sidebar should be updated: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://avisynth.nl/index.php/MediaWiki:Sidebar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%%% Formula's using LaTeX (and the &amp;quot;math&amp;quot; tags):&lt;br /&gt;
:&amp;lt;math&amp;gt;\eta(\tau) = q^{1/24} \prod_{n=1}^{\infty} (1-q^{n})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth|Users]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/User:Raffriff42</id>
		<title>User:Raffriff42</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/User:Raffriff42"/>
				<updated>2018-02-10T15:04:16Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: added comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Talk]]&lt;br /&gt;
=== Subpages ===&lt;br /&gt;
:[[File:Utils-r41.avsi|'''Utils-r41.avsi''']] (a library of basic utility functions; most require AVS+)&lt;br /&gt;
:[[User:Raffriff42/Utils-r41_Quick_Reference|'''Utils-r41_Quick_Reference''']] (a quick reference page for the above)&lt;br /&gt;
&lt;br /&gt;
:[[User:Raffriff42/Wiki_notes|'''Wiki_notes''']] (useful wikicode snippets)&lt;br /&gt;
&lt;br /&gt;
:[[User:Raffriff42/sandbox]] (blank)&lt;br /&gt;
:[[User:Raffriff42/Main_Page_sandbox]] (blank)&lt;br /&gt;
&lt;br /&gt;
=== Talk ===&lt;br /&gt;
&lt;br /&gt;
==== Color Presets, Categories ====&lt;br /&gt;
I like what you did with the color presets :) - [[User:Reel.Deal|Reel.Deal]] , August 4th 2014&lt;br /&gt;
:Hi again. Please fix the categories when you have time: http://avisynth.nl/index.php/Special:WantedCategories (either create them or remove them if they are doubles). Thanks for your efforts! Btw, the complete list: http://avisynth.nl/index.php/Special:Categories [[User:Admin|Admin]] 00:35, 21 September 2014 (CEST)&lt;br /&gt;
:Please also look at http://avisynth.nl/index.php/Special:LonelyPages . These pages are not linked from anywhere. [[User:Admin|Admin]] 00:52, 21 September 2014 (CEST)&lt;br /&gt;
::Sure thing, I will look at them soon. &lt;br /&gt;
::[[User:Raffriff42|Raffriff42]] 04:54, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
:::Hi, can you please hold off on doing that for just a bit? A handful of those entries are mine and I would like to revise and edit a few things before it gets finalized. I already started but I need a little bit more time. [[User:Reel.Deal|Reel.Deal]] 12:12, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::::You are better qualified to do the Categories anyway, as it is related to the (amazing) work you've been doing lately with External Filters. I'm gonna be busy with the TODO pages for a while, and after that, or maybe before that, a little break time; I'm tired! [[User:Raffriff42|Raffriff42]] 16:12, 21 September 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
::Progress report: I have done some work on [[Special:Categories|Categories]], including as many [[Special:WantedCategories|Wanted Categories]] as I could fix - leaving the foreign language ones, and some others that look like Reel.Deal might be working on them. Ditto, [[Special:WantedPages|Wanted Pages]]. There remains one [[Special:WantedFiles|Wanted File]] that I cannot fix, namely [[Frebuild.avsi]]. That file seems to be lost. &lt;br /&gt;
::[[User:Raffriff42|Raffriff42]] 03:05, 15 November 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::Raffriff42, your recent changes to the templates broke some pages, take a look at [[ChromaShiftSP]], [[FTurn]], and probably more. Also the author's section in the abstract table looks off now (look at FTurn). [[User:Reel.Deal|Reel.Deal]] 05:41, 14 December 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
:::Putting the category without a line break fixes the problem, I'll try to go back and do it to all templates. [[User:Reel.Deal|Reel.Deal]] 05:53, 14 December 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
::::Ouch, so sorry about that! I should have checked! -- [[User:Raffriff42|Raffriff42]] 06:22, 14 December 2015 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;clip.BlankClip does not work reliably here; use BlankClip(clip) instead&amp;quot;&lt;br /&gt;
Please explain. Why, when, under what circumstances? [[User:Admin|Admin]] 16:04, 10 February 2018 (CET)&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Clip_properties</id>
		<title>Clip properties</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Clip_properties"/>
				<updated>2017-10-29T22:44:20Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
You can access a variety of clip properties in AviSynth scripts. For example, if the variable ''clip'' holds a video clip, then ''clip''.{{FuncArg|Height}} is its height in pixels, ''clip''.{{FuncArg|FrameCount}} is its length in frames, and so on. &lt;br /&gt;
&lt;br /&gt;
Clip properties can be accessed like [[Script_variables|script variables]], except that they are read-only (in [[wikipedia:C_(programming_language)|'''C''']] terminology, they cannot be ''L-values'').&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
The full list of properties:&lt;br /&gt;
&lt;br /&gt;
==== Content Properties ====&lt;br /&gt;
* ''bool'' clip.{{Term|HasAudio}}&lt;br /&gt;
: Returns true if the clip has audio, false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|HasVideo}}&lt;br /&gt;
: Returns true if the clip has video, false otherwise.&lt;br /&gt;
&lt;br /&gt;
==== Video: Resolution ====&lt;br /&gt;
* ''int'' clip.{{Term|Width}}&lt;br /&gt;
: Returns the width of the clip in pixels.&lt;br /&gt;
* ''int'' clip.{{Term|Height}}&lt;br /&gt;
: Returns the height of the clip in pixels.&lt;br /&gt;
&lt;br /&gt;
==== Video: Framerate and Duration ====&lt;br /&gt;
* ''int'' clip.{{Term|FrameCount}}&lt;br /&gt;
: Returns the total number of video frames contained in the clip. &lt;br /&gt;
* ''float'' clip.{{Term|FrameRate}}&lt;br /&gt;
: Returns approximate framerate. Video framerate is actually a ratio of two 32-bit integers; &lt;br /&gt;
: so for the precise number, use {{Term|FrameRateNumerator}} and {{Term|FrameRateDenominator}}.&lt;br /&gt;
* ''int'' clip.{{Term|FrameRateNumerator}}&lt;br /&gt;
: Returns the framerate numerator.&lt;br /&gt;
* ''int'' clip.{{Term|FrameRateDenominator}}&lt;br /&gt;
: Returns the framerate denominator.&lt;br /&gt;
&lt;br /&gt;
==== Video: Interlacing ====&lt;br /&gt;
* ''bool'' clip.{{Term|IsFieldBased}}&lt;br /&gt;
: Returns true if the clip is ''field-based''. What this means is explained [[Interlaced_fieldbased|'''here''']].&lt;br /&gt;
* ''bool'' clip.{{Term|IsFrameBased}}&lt;br /&gt;
: Returns true if the clip is ''frame-based''. What this means is explained [[Interlaced_fieldbased|'''here''']].&lt;br /&gt;
* ''bool'' clip.{{Term|GetParity([ int ''f'' ])}}&lt;br /&gt;
: Returns true if frame {{Term|''f''}} (default 0) is the top field of a field-based clip, or if it is a full frame with top field first of a frame-based clip.&lt;br /&gt;
&lt;br /&gt;
==== Video: Color Format ====&lt;br /&gt;
* ''bool'' clip.{{Term|IsPlanar}}&lt;br /&gt;
: Returns true if the color format is [[Planar]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsInterleaved}}&lt;br /&gt;
: Returns true if the color format is [[Interleaved]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsRGB}}&lt;br /&gt;
: Returns true if the color format is [[RGB]], false otherwise.&lt;br /&gt;
: (applies to all RGB clips, whether Planar or Interleaved, RGB or RGBA)&lt;br /&gt;
* ''bool'' clip.{{Term|IsRGB24}}&lt;br /&gt;
: Returns true if the color format is [[RGB24]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsRGB32}}&lt;br /&gt;
: Returns true if the color format is [[RGB32]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsYUV}}&lt;br /&gt;
: Returns true if the color format is [[YUV]], false otherwise.&lt;br /&gt;
: (note that {{Term|IsYUV}} returns ''false'' for a [[Avisynthplus_color_formats|YUVA]] clip, and vice versa)&lt;br /&gt;
* ''bool'' clip.{{Term|IsYUY2}} (clip)&lt;br /&gt;
: Returns true if the color format is [[YUY2]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsY8}} (from v2.60)&lt;br /&gt;
: Returns true if the color format is [[Y8]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsYV12}}&lt;br /&gt;
: Returns true if the color format is [[YV12]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsYV16}} (from v2.60)&lt;br /&gt;
: Returns true if the clip color format is [[YV16]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsYV24}} (v2.60)&lt;br /&gt;
: Returns true if the color format is [[YV24]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsYV411}} (from v2.60)&lt;br /&gt;
: Returns true if the color format is [[YV411]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|Is420}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is 4:2:0, false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|Is422}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is 4:2:2, false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|Is444}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is 4:4:4, false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsY}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is ''Y''-plane only, false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsYUVA}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is [[Avisynthplus_color_formats|YUVA]], false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsRGB48}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is 16-bit RGB ([[Avisynthplus_color_formats|RGB48]]), false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsRGB64}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is 16-bit RBGA ([[Avisynthplus_color_formats|RGB64]]), false otherwise.&lt;br /&gt;
&lt;br /&gt;
* ''bool'' clip.{{Term|IsPackedRGB}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is [[Interleaved]] RGB (RGB24/32/48/64), false otherwise.&lt;br /&gt;
* ''bool'' clip.{{Term|IsPlanarRGB}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is [[Planar]] RGB, false otherwise.&lt;br /&gt;
: (note that {{Term|IsPlanarRGB}} returns ''false'' for a Planar RGBA clip, and vice versa)&lt;br /&gt;
* ''bool'' clip.{{Term|IsPlanarRGBA}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format is [[Planar]] RGBA, false otherwise.&lt;br /&gt;
: (note that {{Term|IsPlanarRGBA}} returns ''false'' for a Planar RGB clip, and vice versa)&lt;br /&gt;
* ''bool'' clip.{{Term|HasAlpha}}&lt;br /&gt;
: {{AvsPluscon}} Returns true if the color format has an alpha channel; (RGBA or YUVA), false otherwise.&lt;br /&gt;
&lt;br /&gt;
* ''int'' clip.{{Term|ComponentSize}}&lt;br /&gt;
: {{AvsPluscon}} Returns '''1''' for 8-bit formats, '''2''' for 10/12/14/16-bit formats, '''4''' for 32-bit float.&lt;br /&gt;
* ''int'' clip.{{Term|NumComponents}}&lt;br /&gt;
: {{AvsPluscon}} Returns '''1''' for ''Y''-only formats, '''3''' for RGB and YUV, '''4''' for RGBA and YUVA.&lt;br /&gt;
* ''int'' clip.{{Term|BitsPerComponent}}&lt;br /&gt;
: {{AvsPluscon}} Returns bit depth per channel &amp;amp;ndash; 8, 10, 12, 14, 16 or 32.&lt;br /&gt;
&lt;br /&gt;
* ''string'' clip.{{Term|PixelType}} (from v2.60)&lt;br /&gt;
: Returns the pixel type as a string, ''eg'' &amp;quot;RGB32&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Audio ====&lt;br /&gt;
* ''int'' clip.{{Term|AudioRate}}&lt;br /&gt;
: Returns the audio sample rate.&lt;br /&gt;
* ''int'' clip.{{Term|AudioLength}}&lt;br /&gt;
: Returns the total number of audio samples, per audio channel. &lt;br /&gt;
: Be aware of possible overflow on extremely long clips (with &amp;gt;= 2&amp;lt;sup&amp;gt;31&amp;lt;/sup&amp;gt; audio samples) &amp;amp;ndash; see [[#Examples|Examples]] below.&lt;br /&gt;
* ''int'' clip.{{Term|AudioLengthLo([ int ''m'' ])}}  (from v2.60)&lt;br /&gt;
* ''int'' clip.{{Term|AudioLengthHi([ int ''d'' ])}}  (from v2.60)&lt;br /&gt;
: clip.{{Term|AudioLengthLo}} returns the total number of audio samples, modulo {{Term|''m''}}, which is 10&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; by default.&lt;br /&gt;
: clip.{{Term|AudioLengthHi}} returns the total number of audio samples, divided by {{Term|''d''}}, which is 10&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; by default.&lt;br /&gt;
: Therefore, assuming {{Term|''m''}}=={{Term|''d''}}, the (possibly 64-bit) total equals {{Term|AudioLengthHi}} × {{Term|''m''}} + {{Term|AudioLengthLo}}.&lt;br /&gt;
: (see [[#Examples|Examples]] below)&lt;br /&gt;
* ''float'' clip.{{Term|AudioLengthF}}&lt;br /&gt;
: Returns the total number of audio samples as a float-point number. &lt;br /&gt;
: No overflow limit, but there is a possible ''precision'' limit &amp;amp;ndash; see [[#Examples|Examples]] below.&lt;br /&gt;
* ''string'' clip.{{Term|AudioLengthS}} (from v2.60)&lt;br /&gt;
: Returns the total number of audio samples as a string.&lt;br /&gt;
* ''float'' clip.{{Term|AudioDuration}} (from v2.60)&lt;br /&gt;
: Returns the audio duration in seconds. &lt;br /&gt;
* ''int'' clip.{{Term|AudioChannels}}&lt;br /&gt;
: Returns the number of audio channels.&lt;br /&gt;
* ''int'' clip.{{Term|AudioBits}}&lt;br /&gt;
: Returns the audio bit depth, ''eg'', 8, 16, 24 or 32.&lt;br /&gt;
* ''bool'' clip.{{Term|IsAudioFloat}}&lt;br /&gt;
: Returns true if the audio format is [[Float]].&lt;br /&gt;
* ''bool'' clip.{{Term|IsAudioInt}}&lt;br /&gt;
: Returns true if the audio format is an integer type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
* Clip duration = 10 seconds. All {{Term|AudioLength}} forms agree.&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|46|2}} &amp;gt;&lt;br /&gt;
 [[ColorBars]](width=440, height=440)&lt;br /&gt;
 [[Trim]](0, 299)&lt;br /&gt;
 [[Info]]&lt;br /&gt;
 [[Levels]](0, 1.0, 255, 64, 255-64, coring=false)&lt;br /&gt;
 [[Subtitle]](&lt;br /&gt;
 \   &amp;quot;\nAudioLength  = &amp;quot;  + [[Internal_functions#String|String]](AudioLength)&lt;br /&gt;
 \ + &amp;quot;\nAudioLengthS = '&amp;quot; + AudioLengthS + &amp;quot;'&amp;quot;&lt;br /&gt;
 \ + &amp;quot;\nAudioLengthF = &amp;quot; + String(AudioLengthF)&lt;br /&gt;
 \ + &amp;quot;\nAudioLengthLo= &amp;quot; + String(AudioLengthLo)&lt;br /&gt;
 \ + &amp;quot;\nAudioLengthHi= &amp;quot; + String(AudioLengthHi)&lt;br /&gt;
 \ , font=&amp;quot;courier&amp;quot;, text_color=$ffffff, size=32, align=4, lsp=0)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
:[[File:AudioLength-10s.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Clip duration approximately 24 hours. &lt;br /&gt;
&amp;lt;div {{ListItemContinue}} &amp;gt;&lt;br /&gt;
Integer {{Term|AudioLength}} overloads (wraps around to a negative number), while the floating-point form has lost several digits of precision.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|24|2}} &amp;gt;&lt;br /&gt;
 [[ColorBars]](width=440, height=440)&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;#Trim(0, 299)&amp;lt;/span&amp;gt;&lt;br /&gt;
 [[Loop]](24)&lt;br /&gt;
 Info&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
:[[File:AudioLength-24hr.png]]&lt;br /&gt;
&amp;lt;div {{ListItemContinue}} &amp;gt;&lt;br /&gt;
Note the {{Term|AudioLengthHi}} / {{Term|AudioLengthLo}} arithmetic:&lt;br /&gt;
:total = &amp;lt;tt&amp;gt;4&amp;lt;/tt&amp;gt; × &amp;lt;tt&amp;gt;10&amp;lt;/tt&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; + &amp;lt;tt&amp;gt;147195848&amp;lt;/tt&amp;gt;&lt;br /&gt;
:total = &amp;lt;tt&amp;gt;4147195848&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Back to [[AviSynth Syntax]].&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Syntax]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Internal_functions</id>
		<title>Internal functions</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Internal_functions"/>
				<updated>2017-07-10T14:29:10Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Global Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;max-width:82em; min-width:42em;&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;!-- {{AvsStarFilter}} --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
In addition to [[Internal_filters|internal filters]] AviSynth has a fairly large number of other (non-clip) internal functions. &lt;br /&gt;
&lt;br /&gt;
The input or/and output of these functions are not clips, but some other variables which can be used in a script. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boolean functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These return true or false, if the condition that they test holds or not, respectively.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|IsBool||IsBool(var)}}&lt;br /&gt;
: Tests if {{FuncArg|var}} is of the bool type. {{FuncArg|var}} can be any expression allowed by the [[AviSynth Syntax]].&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 b = false&lt;br /&gt;
 IsBool(b) = true&lt;br /&gt;
 IsBool(1 &amp;lt; 2 &amp;amp;&amp;amp; 0 == 1) = true&lt;br /&gt;
 IsBool(123) = false&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|IsClip||IsClip(var)}}&lt;br /&gt;
: Tests if {{FuncArg|var}} is of the clip type. {{FuncArg|var}} can be any expression allowed by the [[AviSynth Syntax]].&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
&lt;br /&gt;
 c = [[AviSource]](...)&lt;br /&gt;
 IsClip(c) = true&lt;br /&gt;
 IsClip(&amp;quot;c&amp;quot;) = false&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|IsFloat||IsFloat(var)}}&lt;br /&gt;
: Tests if {{FuncArg|var}} is of the float type. {{FuncArg|var}} can be any expression allowed by the [[AviSynth Syntax]].&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 f = [[Internal_functions/Numeric_functions|Sqrt]](2)&lt;br /&gt;
 IsFloat(f) = true&lt;br /&gt;
 IsFloat(2) = true   # ints are considered to be floats by this function&lt;br /&gt;
 IsFloat(true) = false&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|IsInt||IsInt(var)}}&lt;br /&gt;
: Tests if {{FuncArg|var}} is of the int type. {{FuncArg|var}} can be any expression allowed by the [[AviSynth Syntax]].&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 IsInt(2) = true&lt;br /&gt;
 IsInt(2.1) = false&lt;br /&gt;
 IsInt(true) = false&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|IsString||IsString(var)}}&lt;br /&gt;
: Tests if {{FuncArg|var}} is of the string type. {{FuncArg|var}} can be any expression allowed by the [[AviSynth Syntax]].&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 IsString(&amp;quot;test&amp;quot;) = true&lt;br /&gt;
 IsString(2.3) = false&lt;br /&gt;
 IsString([[Internal_functions/Conversion_functions|String]](2.3)) = true&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Exist||Exist(filename)}}&lt;br /&gt;
: Tests if the file specified by {{FuncArg|filename}} exists.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 filename = ...&lt;br /&gt;
 clp = Exist(filename) &lt;br /&gt;
 \ ? [[AviSource]](filename) &lt;br /&gt;
 \ : [[Internal_functions/Control_functions|Assert]](false, &amp;quot;file: &amp;quot; + filename + &amp;quot; does not exist&amp;quot;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Defined||Defined(var)}}&lt;br /&gt;
: Tests if {{FuncArg|var}} is defined. Can be used inside [[Script_functions]] to test if an optional argument has been given an explicit value.&lt;br /&gt;
: More formally, the function returns false if its argument (normally a function argument or variable) has the void ('undefined') type, otherwise it returns true.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 b_arg_supplied = Defined(arg)&lt;br /&gt;
 myvar = b_arg_supplied ? ... : ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Control functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These facilitate flow of control (loading of scripts, arguments checks, global settings adjustment, etc.).&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Apply||Apply(string ''func_string'' [, arg1 [, arg2 [, ... [, argn]]]] )}}&lt;br /&gt;
: Calls the function or filter {{FuncArg|func_string}} with arguments {{FuncArg|arg1}}, {{FuncArg|arg2}}, ..., {{FuncArg|argn}} (as many as supplied). Thus, it provides a way to call a function or filter '''by name''' providing arguments in the usual way as in a typical function call. &lt;br /&gt;
: Consequently, &amp;lt;tt&amp;gt;Apply(&amp;quot;f&amp;quot;, x)&amp;lt;/tt&amp;gt; is equivalent to &amp;lt;tt&amp;gt;f(x)&amp;lt;/tt&amp;gt; which in turn is equivalent to &amp;lt;tt&amp;gt;Eval(&amp;quot;f(&amp;quot; + String(x) + &amp;quot;)&amp;quot;)&amp;lt;/tt&amp;gt;.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 # here the same call to [[Resize|BicubicResize]] as in the Eval() example is shown &lt;br /&gt;
 Apply(&amp;quot;BicubicResize&amp;quot;, last, 352, 288)&lt;br /&gt;
 # Note that the clip argument must be supplied - 'last' is not implicitly assumed&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Eval||Eval(expression [, string ''name''])}}&lt;br /&gt;
: Evaluates an arbitrary {{FuncArg|expression}} as if it was placed inside the script at the point of the call and returns the result of evaluation (either to the [[Script_variables|variable]] that is explicitly assigned to or to the Last special variable.&lt;br /&gt;
: You can use '''Eval''' to construct and evaluate expressions dynamically inside your scripts, based on variable input data. Below some specific examples are shown but you get the general idea.&lt;br /&gt;
: Argument {{FuncArg|name}} will be shown in the error message besides the script name. Both will be followed with the line number in the script where the is error caused.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 # calls [[BicubicResize]](last, 352, 288)&lt;br /&gt;
 settings = &amp;quot;352, 288&amp;quot;&lt;br /&gt;
 Eval( &amp;quot;BicubicResize(&amp;quot; + settings + &amp;quot;)&amp;quot; )&lt;br /&gt;
 &lt;br /&gt;
 # results in Defined(u) == false&lt;br /&gt;
 u = Eval(&amp;quot;#&amp;quot;)   &lt;br /&gt;
 &lt;br /&gt;
 # increments a global based on a variable's value&lt;br /&gt;
 Eval(&amp;quot;global my_counter = my_counter + &amp;quot; + String(increment)) &lt;br /&gt;
 &lt;br /&gt;
 # multi-line example with comment and line continuation&lt;br /&gt;
 Eval(&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
 [[ColorBars]]&lt;br /&gt;
 [[BicubicResize]](352, 288)&lt;br /&gt;
 #FlipVertical&lt;br /&gt;
 Subtitle(&lt;br /&gt;
 \   &amp;quot;Width  = &amp;quot;  + [[Internal_functions#String|String]]([[Clip_properties|Width]]) + &amp;quot;\n&amp;quot;&lt;br /&gt;
 \ + &amp;quot;Height = &amp;quot; + String(Height)&lt;br /&gt;
 \ , align=7, lsp=0)&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Import||Import(filename)}}&lt;br /&gt;
: Evaluates the contents of another script and returns that script's return value. Typically it is used to make available to the calling script library functions and the return value is not used. However this is simply a convention; it is not enforced by the [[AviSynth Syntax]]. See also the dedicated [[Import]] page in [[Internal filters]] for other possible uses.&lt;br /&gt;
: Possible scenarios (an indicative list) where the return value could be of use is for the library script to:&lt;br /&gt;
:* indicate whether it succesfully initialised itself (a bool return value), &lt;br /&gt;
:* inform for the number of presets found on disk (an int return value);&lt;br /&gt;
: the value then could be tested by the calling script to decide what action to take next.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 # here we do not care about the value (''mylib.avsi'' contains only functions)&lt;br /&gt;
 Import(&amp;quot;mylib.avsi&amp;quot;)  &lt;br /&gt;
 ...&lt;br /&gt;
 # ''mysources.avsi'' loads predetermined file names from a folder into globals&lt;br /&gt;
 okflag = [[Import]](&amp;quot;mysources.avsi&amp;quot;)  &lt;br /&gt;
 source = okflag ? global1 + global2 + global3 : [[BlankClip]]()&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Select||Select(index, item0 [, item1 [, ...[, itemn]]])}}&lt;br /&gt;
: Returns the item selected by the {{FuncArg|index}} argument, which must be of int type (0 returns {{FuncArg|item0}}, 1 returns {{FuncArg|item1}}, ..., etc). Items can be any script [[Script_variables|variable]] or expression of any type and can even be mixed.&lt;br /&gt;
&lt;br /&gt;
:If {{FuncArg|index}} is out of range, an error is raised.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 # select a clip-brush from a set of presets&lt;br /&gt;
 idx = 2&lt;br /&gt;
 brush = Select(idx, [[AviSource]](&amp;quot;round.avi&amp;quot;), &lt;br /&gt;
 \        rectangle, diagonal, diagonal.[[FlipHorizontal]])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note - all branches are evaluated:&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 index=1&lt;br /&gt;
 Select(index, &amp;quot;zero&amp;quot;, &amp;quot;one&amp;quot;, &amp;quot;two&amp;quot;, &lt;br /&gt;
 \        Assert(false, &amp;quot;Select evaluates all branches&amp;quot;)) &lt;br /&gt;
 ## NOTE this code does not run - it throws [[#Assert|Assert]] error&lt;br /&gt;
 ## because Select evaluates all branches&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is not desired, use the [[Ternary_operator|conditional execution]] operator: &lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 index=1&lt;br /&gt;
 x = (index==0) ? &amp;quot;zero&amp;quot;&lt;br /&gt;
 \ : (index==1) ? &amp;quot;one&amp;quot;&lt;br /&gt;
 \ : (index==2) ? &amp;quot;two&amp;quot;&lt;br /&gt;
 \ : Assert(false, &amp;quot;index out of range&amp;quot;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Default||Default(x, d)}}&lt;br /&gt;
: Returns {{FuncArg|x}} if '''Defined'''(x) is true, {{FuncArg|d}} otherwise. {{FuncArg|x}} must either be a function's argument or an already declared script variable (ie a variable which has been assigned a value) else an error will occur.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 function myfunc(clip c, ..., int &amp;quot;strength&amp;quot;) {&lt;br /&gt;
     ...&lt;br /&gt;
     strength = Default(strength, 4) # if not supplied make it 4&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Assert||Assert(condition [, err_msg])}}&lt;br /&gt;
: Does nothing if {{FuncArg|condition}} is true; throws an error, immediately terminating script execution, if {{FuncArg|condition}} is false. In the later case {{FuncArg|err_msg}}, if supplied, is presented to the user through a dialog box; else the standard message &amp;quot;Assert: assertion failed&amp;quot; shows up.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 function myfunc(clip c, ..., int &amp;quot;strength&amp;quot;) {&lt;br /&gt;
     ...&lt;br /&gt;
     strength = Default(strength, 4) # if not supplied make it 4&lt;br /&gt;
     Assert(strength &amp;gt; 0, &amp;quot;'strength' must be positive&amp;quot;)&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|NOP||NOP()}}&lt;br /&gt;
: This is a no-operation function provided mainly for conditional execution with non-return value items such as [[Import]], when no &amp;quot;else&amp;quot; condition is desired. That is, use it whenever the [[AviSynth Syntax]] requires an operation (such as with the ?: [[Operators#For_Booleans|operator]]) but your script does not need one.&lt;br /&gt;
: Return value: 0 (int type).&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 preset = want_presets ? [[AviSource]](&amp;quot;c:\presets\any.avi&amp;quot;) : NOP&lt;br /&gt;
 ... &lt;br /&gt;
 loadlib ? [[Import]](&amp;quot;my_useful_functions.avs&amp;quot;) : NOP&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Undefined|v2.60|Undefined()}}&lt;br /&gt;
: Returns the undefined state.&lt;br /&gt;
: It's the state for which '''Defined'''() returns false.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 x = Undefined()&lt;br /&gt;
 Defined(x) # == false&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
{{ScriptFunctionH5|SetMemoryMax||SetMemoryMax(amount)}}&lt;br /&gt;
: Sets the maximum memory that AviSynth uses (in MB) to the value of {{FuncArg|amount}}. Setting to zero just returns the current Memory Max value. In the 2.5 series the default Memory Max value is 25% of the free physical memory, with a minimum of 16MB.&lt;br /&gt;
: The default Memory Max is also limited to 512MB.&lt;br /&gt;
:{|class=&amp;quot;wikitable&amp;quot; &amp;lt;!-- width=50% --&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | Free memory&lt;br /&gt;
 | &amp;lt;64&lt;br /&gt;
 | 128&lt;br /&gt;
 | 256&lt;br /&gt;
 | 512&lt;br /&gt;
 | 1024&lt;br /&gt;
 | 2048&lt;br /&gt;
 | 3072&lt;br /&gt;
 |-&lt;br /&gt;
 | Default Max&lt;br /&gt;
 | 16&lt;br /&gt;
 | 32&lt;br /&gt;
 | 64&lt;br /&gt;
 | 192&lt;br /&gt;
 | 448&lt;br /&gt;
 | 512&lt;br /&gt;
 | 512&lt;br /&gt;
 |}&lt;br /&gt;
: In some versions there is a default setting of 5MB, which is quite low. If you encounter problems (e.g. low speed) try to set this values to at least 32MB. Too high values can result in crashes because of 2GB address space limit.&lt;br /&gt;
: Return value: Actual MemoryMax value set.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 SetMemoryMax(128)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|SetWorkingDir||SetWorkingDir(path)}}&lt;br /&gt;
: Sets the default directory for AviSynth to the {{FuncArg|path}} argument.&lt;br /&gt;
: This is primarily for easy loading of source clips, [[Import|importing]] scripts, etc. It does not affect plugins' autoloading. &lt;br /&gt;
: Return value is 0 if successful, -1 otherwise.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 SetWorkingDir(&amp;quot;c:\my_presets&amp;quot;)&lt;br /&gt;
 [[AviSource]](&amp;quot;border_mask.avi&amp;quot;)  # this loads c:\my_presets\border_mask.avi&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|SetPlanarLegacyAlignment||SetPlanarLegacyAlignment(mode)}}&lt;br /&gt;
: Set alignment mode for [[planar]] frames. {{FuncArg|mode}} can either be true or false.&lt;br /&gt;
: Some older [[External_plugins|plugins]] illegally assume the layout of video frames in memory. This special filter forces the memory layout of planar frames to be compatible with prior versions of AviSynth. The filter works on the [[The_script_execution_model/Evaluation_of_runtime_scripts|GetFrame]]() call stack, so it effects filters '''before''' it in the script.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Example : Using an older version of Mpeg2Source() (1.10 or older):&lt;br /&gt;
 &lt;br /&gt;
 LoadPlugin(&amp;quot;...\Mpeg2Decode.dll&amp;quot;)&lt;br /&gt;
 Mpeg2Source(&amp;quot;test.d2v&amp;quot;)         # A plugin that illegally assumes the layout of memory&lt;br /&gt;
 SetPlanarLegacyAlignment(true)  # Set legacy memory alignment for prior statements&lt;br /&gt;
 [[Convert|ConvertToYUY2]]()     # Statements through to the end of the script have&lt;br /&gt;
 ...                             # advanced memory alignment.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_AllowFloatAudio||global OPT_AllowFloatAudio &amp;amp;#61; true ## default false}}&lt;br /&gt;
: [[Float]] audio is converted to 16 bit when [[Frameserver|frameserving]] through [[ACM]], unless [[Internal_functions#OPT_AllowFloatAudio|OPT_AllowFloatAudio]] is set to true (this option enables WAVE_FORMAT_IEEE_FLOAT audio output&amp;lt;sup&amp;gt;[http://forum.doom9.org/showthread.php?t=109608]&amp;lt;/sup&amp;gt;). In that case the audio is kept as it is. When accessing AviSynth directly (like MeGUI, BeHappy or ffmpeg do for example), there is no automatic conversion.&lt;br /&gt;
&lt;br /&gt;
:The automatic conversion is done for clients that cannot handle [[Float]] audio (in the old days most of them couldn't). Note conversion takes place ''after'' the script processing is finished. [[Float]] audio is always allowed within the script.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_UseWaveExtensible||global OPT_UseWaveExtensible &amp;amp;#61; true ## default false}}&lt;br /&gt;
: This option enables WAVE_FORMAT_EXTENSIBLE audio output. The default is WAVE_FORMAT_EX.&lt;br /&gt;
: '''Note:''' The default DirectShow component for .AVS files, &amp;quot;AVI/WAV File Source&amp;quot;, does not correctly implement WAVE_FORMAT_EXTENSIBLE processing, so many application may not be able to detect the audio track. There are third party DirectShow readers that do work correctly. Intermediate work files written using the AVIFile interface for later DirectShow processing will work correctly if they use the DirectShow &amp;quot;File Source (async)&amp;quot; component or equivalent. &lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_dwChannelMask|v2.60|global OPT_dwChannelMask(int v)}}&lt;br /&gt;
: This option enables you to set ChannelMask. It overrides WAVEFORMATEXTENSIBLE.dwChannelMask&amp;lt;sup&amp;gt;[[http://wiki.multimedia.cx/index.php?title=WAVEFORMATEXTENSIBLE]&amp;lt;/sup&amp;gt; which is set according to this table&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 0x00004, // 1   -- -- Cf&lt;br /&gt;
 0x00003, // 2   Lf Rf&lt;br /&gt;
 0x00007, // 3   Lf Rf Cf&lt;br /&gt;
 0x00033, // 4   Lf Rf -- -- Lr Rr&lt;br /&gt;
 0x00037, // 5   Lf Rf Cf -- Lr Rr&lt;br /&gt;
 0x0003F, // 5.1 Lf Rf Cf Sw Lr Rr&lt;br /&gt;
 0x0013F, // 6.1 Lf Rf Cf Sw Lr Rr -- -- Cr&lt;br /&gt;
 0x0063F, // 7.1 Lf Rf Cf Sw Lr Rr -- -- -- Ls Rs&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_AVIPadScanlines|v2.60|global OPT_AVIPadScanlines &amp;amp;#61; true ## default false}}&lt;br /&gt;
: This option enables DWORD aligned planar padding. Default is packed aligned planar padding. See [[AVIFile output emulation|memory alignment used in the AVIFile output emulation]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_VDubPlanarHack|v2.60|global OPT_VDubPlanarHack &amp;amp;#61; true ## default false}}&lt;br /&gt;
: This option enables flipped YV24 and YV16 chroma planes. This is an hack for early versions of Virtualdub with YV24/YV16 support. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_Enable_V210|{{AvsPluscon}}|global OPT_Enable_V210 &amp;amp;#61; true ## default false}}&lt;br /&gt;
: For 10bit YUV422, [[Frameserver|Frameserve]] interleaved V210 instead of planar P210. (VfW)&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
{{BoldColor|black|100|§}} ''VfW'' here means [[wikipedia:Video_for_Windows|Video For Windows]] clients such as VirtualDub are affected, but not other clients such as ffmpeg.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_Enable_Y3_10_10|{{AvsPluscon}}|global OPT_Enable_Y3_10_10 &amp;amp;#61; true ## default false}}&lt;br /&gt;
: For 10bit YUV422, set the [[FourCC]] to Y3[10][10] ('Y', '3', 10, 10) instead of P210  ('P', '2', '1', '0'). (VfW) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_Enable_Y3_10_16|{{AvsPluscon}}|global OPT_Enable_Y3_10_16 &amp;amp;#61; true ## default false}}&lt;br /&gt;
: For 16bit YUV422, use Y3[10][16] instead of P216 (VfW)&lt;br /&gt;
:[[TODO]] not working?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_Enable_b64a|{{AvsPluscon}}|global OPT_Enable_b64a &amp;amp;#61; true ## default false}}&lt;br /&gt;
: Use b64a instead of BRA[64] (VfW)&lt;br /&gt;
:[[TODO]] not working?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|OPT_Enable_PlanarToPackedRGB|{{AvsPluscon}}|global OPT_Enable_PlanarToPackedRGB &amp;amp;#61; true ## default false}}&lt;br /&gt;
: Convert Planar RGB to packed RGB (VfW)&lt;br /&gt;
:[[TODO]] not working?&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conversion functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These convert between different types.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Value||Value(string)}}&lt;br /&gt;
: Converts a decimal string to its associated numeric value.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Value (&amp;quot;-2.7&amp;quot;) = -2.7&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|HexValue||HexValue(string)}}&lt;br /&gt;
: Converts a hexadecimal string to its associated numeric value. &lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 HexValue (&amp;quot;FF00&amp;quot;) = 65280&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Hex|v2.60|Hex(int)}}&lt;br /&gt;
: Converts a numerical value to its hexadecimal value. See [[Colors]] for more information on specifying colors.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Hex (10824234) = &amp;quot;A52A2A&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|String||String(var [, string format_string])}}&lt;br /&gt;
: Converts a variable to a string. String arguments are passed along unchanged; booleans are converted to &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;; numbers (ints or floats) are formatted as described below; all other value types are converted to the empty string. &lt;br /&gt;
: If the variable is float or integer, it first converts it to a float and then uses {{FuncArg|format_string}} to convert the float to a string. &lt;br /&gt;
:The syntax of format_string is as follows:&lt;br /&gt;
: &amp;lt;code&amp;gt;'''%'''[flags][width][.precision]'''f'''&amp;lt;/code&amp;gt;&lt;br /&gt;
:; ''flags'':&lt;br /&gt;
:: &amp;lt;tt&amp;gt;-  &amp;lt;/tt&amp;gt; left align (instead right align)&lt;br /&gt;
:: &amp;lt;tt&amp;gt;+  &amp;lt;/tt&amp;gt; always print the +/- sign&lt;br /&gt;
:: &amp;lt;tt&amp;gt;0  &amp;lt;/tt&amp;gt; padding with leading zeros&lt;br /&gt;
:: &amp;lt;tt&amp;gt;' '&amp;lt;/tt&amp;gt; print a blank instead of a &amp;quot;+&amp;quot;&lt;br /&gt;
:: &amp;lt;tt&amp;gt;#  &amp;lt;/tt&amp;gt; always print the decimal point&lt;br /&gt;
:; ''width'': the minimum width (the string is never truncated)&lt;br /&gt;
:; ''precision'': the number of digits printed&lt;br /&gt;
: You can also put arbitrary text around the format_string as defined above, similar to the C-language [http://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm sprintf] function.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Subtitle( &amp;quot;Clip height is &amp;quot; + String(last.height) )&lt;br /&gt;
 &lt;br /&gt;
 Subtitle( String(1.23, &amp;quot;%f&amp;quot; ))              # '1.23'&lt;br /&gt;
 Subtitle( String(1.23, &amp;quot;%5.1f&amp;quot;) )           # '  1.2'&lt;br /&gt;
 Subtitle( String(1.23, &amp;quot;%1.3f&amp;quot;) )           # '1.230'&lt;br /&gt;
 Subtitle( String(24, &amp;quot;%05.0f&amp;quot;) )            # '00024'&lt;br /&gt;
 &lt;br /&gt;
 Subtitle( &amp;quot;PI=&amp;quot; + String(PI, &amp;quot;%0.0f&amp;quot;) )     # &amp;quot;PI=3&amp;quot;&lt;br /&gt;
 Subtitle( &amp;quot;PI=&amp;quot; + String(PI, &amp;quot;%2.0f&amp;quot;) )     # &amp;quot;PI= 3&amp;quot;&lt;br /&gt;
 Subtitle( &amp;quot;PI=&amp;quot; + String(PI, &amp;quot;%3.2f&amp;quot;) )     # &amp;quot;PI=3.14&amp;quot;&lt;br /&gt;
 Subtitle( &amp;quot;PI=&amp;quot; + String(PI, &amp;quot;%0.5f&amp;quot;) )     # &amp;quot;PI=3.14159&amp;quot;&lt;br /&gt;
 Subtitle( &amp;quot;PI=&amp;quot; + String(PI, &amp;quot;%6.3f&amp;quot;) )     # &amp;quot;PI= 3.142&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Subtitle( &amp;quot;'&amp;quot; + String(32, &amp;quot;%0f&amp;quot;) + &amp;quot;'&amp;quot; )   # '32.000000'&lt;br /&gt;
 Subtitle( &amp;quot;'&amp;quot; + String(32, &amp;quot;%0.0f&amp;quot;) + &amp;quot;'&amp;quot; ) # '32'&lt;br /&gt;
 Subtitle( &amp;quot;'&amp;quot; + String(32, &amp;quot;%3.0f&amp;quot;) + &amp;quot;'&amp;quot; ) # ' 32'&lt;br /&gt;
 Subtitle( &amp;quot;'&amp;quot; + String(32, &amp;quot;%8.0f&amp;quot;) + &amp;quot;'&amp;quot; ) # '      32'&lt;br /&gt;
 &lt;br /&gt;
 # arbitrary text around format_string:&lt;br /&gt;
 Subtitle( String(PI(), &amp;quot;PI = %1.5f (more or less)&amp;quot;) ))&lt;br /&gt;
 # another example of arbitrary text:&lt;br /&gt;
 Subtitle( String(x, &amp;quot;Value of x is %.3f after AR calc&amp;quot;) )&lt;br /&gt;
 # same output as above but using string concatenation:&lt;br /&gt;
 Subtitle( &amp;quot;Value of x is &amp;quot; + String(x, &amp;quot;%.3f&amp;quot;) + &amp;quot; after AR calc&amp;quot;) ) &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Numeric functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These provide common mathematical operations on numeric variables.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Max||Max(float, float [, ...])}}&lt;br /&gt;
: Returns the maximum value of a set of numbers.&lt;br /&gt;
: If all the values are of type Int, the result is an Int. If any of the values are of type Float, the result is a Float.&lt;br /&gt;
: This may cause an unexpected result when an Int value greater than 16777216 is mixed with Float values.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Max (1, 2) = 2&lt;br /&gt;
 Max (5, 3.0, 2) = 5.0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Min||Min(float, float [, ...])}}&lt;br /&gt;
: Returns the minimum value of a set of numbers.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Min (1, 2) = 1&lt;br /&gt;
 Min (5, 3.0, 2) = 2.0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|MulDiv||MulDiv(int, int, int)}}&lt;br /&gt;
: Multiplies two ints (m, n) and divides the product by a third (d) in a single operation, with 64 bit intermediate result. The actual equation used is &amp;lt;tt&amp;gt; (m * n + d / 2) / d &amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 MulDiv (1, 1, 2) = 1&lt;br /&gt;
 MulDiv (2, 3, 2) = 3&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Floor||Floor(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round down on any fractional amount).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Floor(1.2) = 1&lt;br /&gt;
 Floor(1.6) = 1&lt;br /&gt;
 Floor(-1.2) = -2&lt;br /&gt;
 Floor(-1.6) = -2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Ceil||Ceil(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round up on any fractional amount).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Ceil(1.2) = 2&lt;br /&gt;
 Ceil(1.6) = 2&lt;br /&gt;
 Ceil(-1.2) = -1&lt;br /&gt;
 Ceil(-1.6) = -1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Round||Round(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round off to nearest integer).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Round(1.2) = 1&lt;br /&gt;
 Round(1.6) = 2&lt;br /&gt;
 Round(-1.2) = -1&lt;br /&gt;
 Round(-1.6) = -2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Int||Int(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round towards zero).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Int(1.2) = 1&lt;br /&gt;
 Int(1.6) = 1&lt;br /&gt;
 Int(-1.2) = -1&lt;br /&gt;
 Int(-1.6) = -1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Float||Float(int)}}&lt;br /&gt;
: Converts int to single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value. Integer values that require more than 24-bits to be represented will have their lower 8-bits truncated yielding unexpected values.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Float(4) = 4.0&lt;br /&gt;
 Float(4) / 3 = 1.333 (while 4 / 3 = 1 , due to integer division)&lt;br /&gt;
 Float(123456789) = 123456792.0 (error = -3, 0.000002%)&lt;br /&gt;
 Float(1234567890) = 1234567936.0 (error = -46, 0.000004%)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Fmod|v2.60|Fmod(float, float)}}&lt;br /&gt;
: Returns the modulo of the argument. Output is float.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Fmod(3.5, 0.5) = 0 (since 3.5 - 7*0.5 = 0)&lt;br /&gt;
 Fmod(3.5, 1.0) = 0.5 (since 3.5 - 3*1.0 = 0.5)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Pi||Pi()}}&lt;br /&gt;
: Returns the value of the {{BoldColor|black|110|π}} constant (the ratio of a circle's circumference to its diameter).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 d = Pi()    # d == 3.141592653&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Exp||Exp(float)}}&lt;br /&gt;
: Returns the natural (base-e) exponent of the argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Exp(1) = 2.7182818&lt;br /&gt;
 Exp(0) = 1.0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Log||Log(float)}}&lt;br /&gt;
: Returns the natural (base-e) logarithm of the argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Log(1) = 0.0&lt;br /&gt;
 Log(10) = 2.30259&lt;br /&gt;
 Log(Exp(1)) = 1.0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Log10|v2.60|Log10(float)}}&lt;br /&gt;
: Returns the common logarithm of the argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Log10(1.0) = 0&lt;br /&gt;
 Log10(10.0) = 1.0&lt;br /&gt;
 Log10(2.0) = 0.3010299957&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Pow||Pow(float base, float power)}}&lt;br /&gt;
: Returns {{FuncArg|base}} raised to a {{FuncArg|power}}.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Pow(2, 3) = 8&lt;br /&gt;
 Pow(3, 2) = 9&lt;br /&gt;
 Pow(3.45, 1.75) = 8.7334&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Sqrt||Sqrt(float)}}&lt;br /&gt;
: Returns the square root of the argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Sqrt(1) = 1.0&lt;br /&gt;
 Sqrt(2) = 1.4142&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Abs||Abs(float or int)}}&lt;br /&gt;
: Returns the absolute value of its argument (returns float for float, integer for integer).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Abs(-3.8) = 3.8&lt;br /&gt;
 Abs(-4) = 4&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Sign||Sign(float)}}&lt;br /&gt;
: Returns the sign of the value passed as argument (1, 0 or -1).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Sign(-3.5) = -1&lt;br /&gt;
 Sign(3.5) = 1&lt;br /&gt;
 Sign(0) = 0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Frac||Frac(float)}}&lt;br /&gt;
: Returns the fractional portion of the value provided.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Frac(3.7) = 0.7&lt;br /&gt;
 Frac(-1.8) = -0.8&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Rand||Rand([int max] [, bool scale] [, bool seed])}}&lt;br /&gt;
: Returns a random integer value. All parameters are optional. &lt;br /&gt;
:;max&lt;br /&gt;
::sets the maximum value+1 (default 32768) and can be set negative for negative results. It operates either in scaled or modulus mode (default {{FuncArg|scale}}=true only if [[#Abs|Abs]]({{FuncArg|max}}) &amp;gt; 32768, false otherwise). &lt;br /&gt;
:;scale&lt;br /&gt;
::When true, ''scales'' the internal random number generator value to the maximum value, while ''modulus mode'' ({{FuncArg|scale}}=false) uses the remainder from an integer divide of the random generator value by the maximum. Modulus mode is recommended for smaller maximums. &lt;br /&gt;
:;seed&lt;br /&gt;
::When true, seeds the random number generator with the current time. {{FuncArg|seed}} defaults to false and probably isn't necessary, although it's there just in case. &lt;br /&gt;
: Typically, this function would be used with the [[#Select|'''Select''']] function for random clips. &lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Select(Rand(5), clip1, clip2, clip3, clip4, clip5)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Spline||Spline(float X, x1, y1, x2, y2, .... [, bool cubic])}}&lt;br /&gt;
: Interpolates the Y value at point X using the control points {{FuncArg|x1}}/{{FuncArg|y1}}, ... There have to be at least 2 x/y-pairs. The interpolation can be {{FuncArg|cubic}} (the result is a spline) or linear (the result is a polygon). Default is cubic.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Spline(5, 0, 0, 10, 10, 20, 0, false) = 5&lt;br /&gt;
 Spline(5, 0, 0, 10, 10, 20, 0, true) = 7&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Continued Numerator, Denominator =====&lt;br /&gt;
{{ScriptFunctionCode|ContinuedNumerator|v2.60|ContinuedNumerator(float, int limit)}}&lt;br /&gt;
{{ScriptFunctionCode|ContinuedNumerator|v2.60|ContinuedNumerator(int, int, int limit)}}&lt;br /&gt;
{{ScriptFunctionCode|ContinuedDenominator|v2.60|ContinuedDenominator(float, int limit)}}&lt;br /&gt;
{{ScriptFunctionCode|ContinuedDenominator|v2.60|ContinuedDenominator(int, int, int limit)}}&lt;br /&gt;
: The rational pair ('''ContinuedNumerator''', '''ContinuedDenominator''') returned has the smallest possible denominator such that the absolute error is less than 1/{{FuncArg|limit}}. More information can be found on [http://en.wikipedia.org/wiki/Continued_fraction wikipedia].&lt;br /&gt;
: If {{FuncArg|limit}} is not specified in the Float case the rational pair returned is to the limit of the single precision floating point value. Thus (float)((double)Num/(double)Den) == V.&lt;br /&gt;
: In the Int case if {{FuncArg|limit}} is not specified then the normalized original values will be returned, i.e. reduced by the ''GCD'' (greatest common divisor).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ContinuedNumerator(PI(), limit=5000]) = 355&lt;br /&gt;
 ContinuedDenominator(PI(), limit=5000) = 113&lt;br /&gt;
 &lt;br /&gt;
 ContinuedNumerator(PI(), limit=50]) = 22&lt;br /&gt;
 ContinuedDenominator(PI(), limit=50) = 7&lt;br /&gt;
 &lt;br /&gt;
 ContinuedNumerator(355, 113, limit=50]) = 22&lt;br /&gt;
 ContinuedDenominator(355, 113, limit=50) = 7&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Trigonometry functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: relationships involving lengths and angles of triangles. &lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Sin||Sin(float)}}&lt;br /&gt;
: Returns the sine of the argument (assumes it is radians).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Sin(Pi()/4) = 0.707&lt;br /&gt;
 Sin(Pi()/2) = 1.0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Cos||Cos(float)}}&lt;br /&gt;
: Returns the cosine of the argument (assumes it is radians).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Cos(Pi()/4) = 0.707&lt;br /&gt;
 Cos(Pi()/2) = 0.0&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Tan|v2.60|Tan(float)}}&lt;br /&gt;
: Returns the tangent of the argument (assumes it is radians).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Tan(Pi/4) = 1.0&lt;br /&gt;
 Tan(Pi/2) = not defined&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
: 32 bit IEEE floats do not have sufficient resolution to exactly represent&lt;br /&gt;
: pi/2 so AviSynth returns a large positive number for the value slightly less&lt;br /&gt;
: than pi/2 and a large negative value for the next possible value which is&lt;br /&gt;
: slightly greater than pi/2.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Asin|v2.60|Asin(float)}}&lt;br /&gt;
: Returns the inverse of the sine of the argument (output is radians).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Asin(0.707) = 0.7852471634 (~ Pi/4)&lt;br /&gt;
 Asin(1.0) = 1.570796327 (~ Pi/2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Acos|v2.60|Acos(float)}}&lt;br /&gt;
: Returns the inverse of the cosine of the argument (output is in radians).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Acos(0.707) = 0.7852471634 (~ Pi/4)&lt;br /&gt;
 Acos(0.0) = 1.570796327 (~ Pi/2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Atan|v2.60|Atan(float)}}&lt;br /&gt;
: Returns the inverse of the tangent of the argument (output is in radians).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Atan(0.707) = 0.6154085176&lt;br /&gt;
 Atan(1.0) = 0.7853981634 (~ Pi/4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Atan2|v2.60|Atan2(float, float)}}&lt;br /&gt;
: Returns the angle between the positive x-axis of a plane and the point given by the coordinates (x, y) on it. Output is in radians. See [http://en.wikipedia.org/wiki/Atan2 wikipedia] for more information.&lt;br /&gt;
: y is the first argument and x is the second argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Atan2(1.0, 0) = 1.570796327 (~ Pi/2)&lt;br /&gt;
 Atan2(1.0, 1.0) = 0.7852471634 (~ Pi/4)&lt;br /&gt;
 Atan2(-1.0, -1.0) = -2.356194490 (~ -3Pi/4)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Sinh|v2.60|Sinh(float)}}&lt;br /&gt;
: Returns the hyperbolic sine of the argument. See [http://en.wikipedia.org/wiki/Hyperbolic_function wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Sinh(2.0) = 3.626860408&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Cosh|v2.60|Cosh(float)}}&lt;br /&gt;
: Returns the hyperbolic cosine of the argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Cosh(2.0) = 3.762195691&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Tanh|v2.60|Tanh(float)}}&lt;br /&gt;
: Returns the hyperbolic tangent of the argument.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Tanh(2.0) = 0.9640275801&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bit functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: The functions are ''bitwise operators''. They manipulate individual bits within integer variables. This means that their arguments (being integers) are converted to binary numbers, the operation is performed on their bits, and the resulting binary number is converted back again.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|BitAnd|v2.60|BitAnd(int, int)}}&lt;br /&gt;
: Returns the bitwise AND (sets bit to 1 if both bits are 1 and sets bit to 0 otherwise).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 BitAnd(5, 6) = 4 # since 5 = 101, 6 = 110, and 101&amp;amp;110 = 100&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|BitNot|v2.60|BitNot(int)}}&lt;br /&gt;
: Returns the bit-inversion (sets bit to 1 if bit is 0 and vice-versa).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 BitNOT(5) = -6 &lt;br /&gt;
 # since  5 = 101,  &lt;br /&gt;
 # and ~101 = 1111 1111 1111 1111 1111 1111 1111 1010 = -6&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
: Note: 1111 1111 1111 1111 1111 1111 1111 1010 &lt;br /&gt;
::= (2^32-1)-2^0-2^2 = 2^32-(1+2^0+2^2) &lt;br /&gt;
::= (signed) -(1+2^0+2^2) = -6&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|BitOr|v2.60|BitOr(int, int)}}&lt;br /&gt;
: Returns the bitwise inclusive OR (sets bit to 1 if one of the bits (or both) is 1 and sets bit to 0 otherwise).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 BitOr(5, 6) = 7 # since 5 = 101, 6 = 110, and 101|110 = 111&lt;br /&gt;
 BitOr(4, 2) = 6 # since 4 = 100, 2 = 010, and 100|010 = 110&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|BitXor|v2.60|BitXor(int, int)}}&lt;br /&gt;
: Returns the bitwise exclusive OR (sets bit to 1 if exactly one of the bits is 1 and sets bit to 0 otherwise).&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 BitXor(5, 6) = 3 # since 5 = 101, 6 = 110, and 101^110 = 011&lt;br /&gt;
 BitXor(4, 2) = 6 # since 4 = 100, 2 = 010, and 100^010 = 110&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit shift left =====&lt;br /&gt;
{{ScriptFunctionCode|BitLShift|v2.60|BitLShift(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitShl|v2.60|BitShl(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitSal|v2.60|BitSal(int, int)}}&lt;br /&gt;
: Shift the bits of a number to the left.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Shifts the bits of the number 5 two bits to the left:&lt;br /&gt;
 BitLShift(5, 2) = 20 (since 101 &amp;lt;&amp;lt; 2 = 10100)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit shift right =====&lt;br /&gt;
{{ScriptFunctionCode|BitRShiftA|v2.60|BitRShiftA(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitRShiftS|v2.60|BitRShiftS(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitSar|v2.60|BitSar(int, int)}}&lt;br /&gt;
: Shift the bits of an integer to the right. (Arithmetic, Sign bit fill, Right Shift)&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Shifts the bits of the number -42 one bit to the right, treating it as signed:&lt;br /&gt;
 BitRShiftA(-42, 1) = -21 &lt;br /&gt;
 # (since 1111 1111 1111 1111 1111 1111 1101 0110 &amp;gt;&amp;gt; 1  &lt;br /&gt;
 #      = 1111 1111 1111 1111 1111 1111 1110 1011)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit shift right, unsigned =====&lt;br /&gt;
{{ScriptFunctionCode|BitRShiftL|v2.60|BitRShiftL(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitRShiftU|v2.60|BitRShiftU(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitShr|v2.60|BitShr(int, int)}}&lt;br /&gt;
: Shift the bits of an unsigned integer to the right. (Logical, zero fill, Right Shift)&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Shifts the bits of the number -42 one bit to the right, treating it as unsigned:&lt;br /&gt;
 BitRShiftL(-42, 1) = 2147483627 &lt;br /&gt;
 # (since 1111 1111 1111 1111 1111 1111 1101 0110 &amp;gt;&amp;gt; 1 &lt;br /&gt;
 #      = 0111 1111 1111 1111 1111 1111 1110 1011)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
: Note: -42 = -(1+2^0+2^3+2^5) = (unsigned) (2^32-1)-(2^0+2^3+2^5) = &lt;br /&gt;
::1111 1111 1111 1111 1111 1111 1101 0110&lt;br /&gt;
&lt;br /&gt;
===== Bit rotate left =====&lt;br /&gt;
{{ScriptFunctionCode|BitLRotate|v2.60|BitLRotate(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitRol|v2.60|BitRol(int, int)}}&lt;br /&gt;
: Rotates the bits of an integer to the left by the number of bits specified in the second operand. For each rotation specified, the high order bit that exits from the left of the operand returns at the right to become the new low order bit.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Rotates the bits of the number -2147483642 one bit to the left:&lt;br /&gt;
 BitLRotate(-2147483642, 1) = 13 &lt;br /&gt;
 # (since 10000000000000000000000000000110 ROL 1&lt;br /&gt;
 #      = 00000000000000000000000000001101)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit rotate right =====&lt;br /&gt;
{{ScriptFunctionCode|BitRRotate|v2.60|BitRRotateL(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitRor|v2.60|BitRor(int, int)}}&lt;br /&gt;
: Rotates the bits of an integer to the right by the number of bits specified in the second operand. For each rotation specified, the low order bit that exits from the right of the operand returns at the left to become the new high order bit.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Rotates the bits of the number 13 one bit to the right:&lt;br /&gt;
 BitRRotate(13, 1) = -2147483642 &lt;br /&gt;
 # (since 00000000000000000000000000001101 ROR 1 &lt;br /&gt;
 #      = 10000000000000000000000000000110)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit test =====&lt;br /&gt;
{{ScriptFunctionCode|BitTest|v2.60|BitTest(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitTst|v2.60|BitTst(int, int)}}&lt;br /&gt;
: Tests a single bit (that is, it returns true if its state is one, else it returns false). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero).&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Check the state of the fourth bit:&lt;br /&gt;
 BitTest(3, 4) = False&lt;br /&gt;
 BitTest(19, 4) = True&lt;br /&gt;
 &lt;br /&gt;
 Check the state of the sign bit:&lt;br /&gt;
 BitTest(-1, 31) = True&lt;br /&gt;
 BitTest(2147483647, 31) = False&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|BitSet|v2.60|BitSet(int, int)}}&lt;br /&gt;
: Sets a single bit to one (so it sets its state to one). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero).&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Set the state of the fourth bit to one:&lt;br /&gt;
 BitSet(3, 4) = 19&lt;br /&gt;
 BitSet(19, 4) = 19&lt;br /&gt;
 &lt;br /&gt;
 Set the state of the sign bit to one:&lt;br /&gt;
 BitSet(-1, 31) = -1&lt;br /&gt;
 BitSet(2147483647, 31) = -1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit clear =====&lt;br /&gt;
{{ScriptFunctionCode|BitClear|v2.60|BitClear(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitClr|v2.60|BitClr(int, int)}}&lt;br /&gt;
: Sets a single bit to zero (so it sets its state to zero). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero).&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Clear the bits of the number 5&lt;br /&gt;
 BitClear(5, 0) = 4 (first bit is set to zero)&lt;br /&gt;
 BitClear(5, 1) = 5 (second bit is already zero)&lt;br /&gt;
 BitClear(5, 2) = 1 (third bit is set to zero)&lt;br /&gt;
 BitClear(5, 3) = 5 (fourth bit is already zero)&lt;br /&gt;
 &lt;br /&gt;
 Clear the state of the sign bit:&lt;br /&gt;
 BitClear(-1, 31) = 2147483647&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Bit change =====&lt;br /&gt;
{{ScriptFunctionCode|BitChange|v2.60|BitChange(int, int)}}&lt;br /&gt;
{{ScriptFunctionCode|BitChg|v2.60|BitChg(int, int)}}&lt;br /&gt;
: Sets a single bit to its complement (so it changes the state of a single bit; 1 becomes 0 and vice versa). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero). The sign bit is bit 31.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Change the state of the a bit of the number 5:&lt;br /&gt;
 BitChange(5, 0) = 4 (first bit is set to zero)&lt;br /&gt;
 BitChange(5, 1) = 7 (second bit is set to one)&lt;br /&gt;
 BitChange(5, 2) = 1 (third bit is set to zero)&lt;br /&gt;
 BitChange(5, 3) = 13 (fourth bit is set to one)&lt;br /&gt;
 &lt;br /&gt;
 Change the state of the sign bit:&lt;br /&gt;
 BitChange(-1, 31) = 2147483647&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Runtime functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These are internal functions which are evaluated at every frame. They can be used inside the scripts passed to runtime filters ([[ConditionalFilter]], [[ScriptClip]], [[FrameEvaluate]]) to return information for a frame.&lt;br /&gt;
&lt;br /&gt;
===== Average ===== &lt;br /&gt;
{{ScriptFunctionCode|AverageLuma||AverageLuma(clip [, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|AverageChromaU||AverageChromaU(clip [, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|AverageChromaV||AverageChromaV(clip [, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|AverageB||AverageB(clip [, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|AverageG||AverageG(clip [, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|AverageR||AverageR(clip [, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
: This group of functions return a float value with the average pixel value of a plane (Luma, U-chroma and V-chroma, respectively). They require an [[ISSE]] capable cpu. In v2.61 an {{FuncArg|offset}} argument is added which enables you to access other frames than the current one.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 ScriptClip(Last, &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
     threshold = 55&lt;br /&gt;
     luma = AverageLuma ## gives the average luma of the current frame&lt;br /&gt;
     #luma = AverageLuma(1) ## gives the average luma of the next frame&lt;br /&gt;
     luma &amp;lt; threshold &lt;br /&gt;
     \ ? Levels(0, 1.0+0.5*(threshold-luma)/threshold, 255, 10, 255) &lt;br /&gt;
     \ : last&lt;br /&gt;
     Subtitle(&amp;quot;luma=&amp;quot; + String(luma), align=2)&lt;br /&gt;
 &amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Difference =====&lt;br /&gt;
{{ScriptFunctionCode|LumaDifference||LumaDifference(clip1, clip2)}}&lt;br /&gt;
{{ScriptFunctionCode|ChromaUDifference||ChromaUDifference(clip1, clip2)}}&lt;br /&gt;
{{ScriptFunctionCode|ChromaVDifference||ChromaVDifference(clip1, clip2)}}&lt;br /&gt;
{{ScriptFunctionCode|RGBDifference||RGBDifference(clip1, clip2)}}&lt;br /&gt;
{{ScriptFunctionCode|BDifference||BDifference(clip1, clip2)}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GDifference||GDifference(clip1, clip2)}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|RDifference||RDifference(clip1, clip2)}} {{AvsPluscon}}&lt;br /&gt;
: This group of functions return a float value between 0 and 255 of the absolute difference between two planes from two different clips &amp;amp;ndash; either the combined RGB difference or the Luma, U-chroma or V-chroma differences, respectively. They require an [[ISSE]] capable cpu.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 ovl = [[Overlay]](last, mov_star, x=some_xvalue, y=some_yvalue, mask=mov_mask)&lt;br /&gt;
 ldif = LumaDifference(ovl) # implicit last for clip1&lt;br /&gt;
 udif = ChromaUDifference([[Tweak]](hue=24), ovl)&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Difference from previous =====&lt;br /&gt;
{{ScriptFunctionCode|YDifferenceFromPrevious||YDifferenceFromPrevious(clip)}}&lt;br /&gt;
{{ScriptFunctionCode|UDifferenceFromPrevious||UDifferenceFromPrevious(clip)}}&lt;br /&gt;
{{ScriptFunctionCode|VDifferenceFromPrevious||VDifferenceFromPrevious(clip)}}&lt;br /&gt;
{{ScriptFunctionCode|RGBDifferenceFromPrevious||RGBDifferenceFromPrevious(clip)}}&lt;br /&gt;
{{ScriptFunctionCode|BDifferenceFromPrevious||BDifferenceFromPrevious(clip)}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GDifferenceFromPrevious||GDifferenceFromPrevious(clip)}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|RDifferenceFromPrevious||RDifferenceFromPrevious(clip)}} {{AvsPluscon}}&lt;br /&gt;
: This group of functions return the absolute difference of pixel value between the current and previous frame of {{FuncArg|clip}} &amp;amp;ndash; either the combined RGB difference or the Luma, U-chroma or V-chroma differences, respectively.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 scene_change = (YDifferenceFromPrevious) &amp;gt; threshold)&lt;br /&gt;
 scene_change ? some_filter(...) : another_filter(...)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Difference to next =====&lt;br /&gt;
{{ScriptFunctionCode|YDifferenceToNext||YDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}}&lt;br /&gt;
{{ScriptFunctionCode|UDifferenceToNext||UDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}}&lt;br /&gt;
{{ScriptFunctionCode|VDifferenceToNext||VDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}}&lt;br /&gt;
{{ScriptFunctionCode|RGBDifferenceToNext||RGBDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}}&lt;br /&gt;
{{ScriptFunctionCode|BDifferenceToNext||BDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GDifferenceToNext||GDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|RDifferenceToNext||RDifferenceToNext(clip [, int offset &amp;amp;#61; 1])}} {{AvsPluscon}}&lt;br /&gt;
: This group of functions return the absolute difference of pixel value between the current and next frame of {{FuncArg|clip}} &amp;amp;ndash; either the combined RGB difference or the Luma, U-chroma or V-chroma differences, respectively. In v2.61 an {{FuncArg|offset}} argument is added, which enables you to access the difference between the RGB, luma or chroma plane of the current frame and of ''any'' other frame. Note that for example clip.'''RGBDifferenceToNext'''(-1) = clip.'''RGBDifferenceToPrevious''', and clip.'''RGBDifferenceToNext'''(0) = 0.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 # both th1, th2 are positive thresholds; th1 is larger enough than th2&lt;br /&gt;
 scene_change = (YDifferenceFromPrevious &amp;gt; th1) &amp;amp;&amp;amp; (YDifferenceToNext &amp;lt; th2)&lt;br /&gt;
 scene_change ? some_filter(...) : another_filter(...)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Color plane median, min, max, range =====&lt;br /&gt;
{{ScriptFunctionCode|YPlaneMedian||YPlaneMedian(clip [, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|UPlaneMedian||UPlaneMedian(clip [, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|VPlaneMedian||VPlaneMedian(clip [, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|BPlaneMedian||BPlaneMedian(clip [, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GPlaneMedian||GPlaneMedian(clip [, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|RPlaneMedian||RPlaneMedian(clip [, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionCode|YPlaneMin||YPlaneMin(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|UPlaneMin||UPlaneMin(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|VPlaneMin||VPlaneMin(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|BPlaneMin||BPlaneMin(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GPlaneMin||GPlaneMin(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}{{ScriptFunctionCode|RPlaneMin||RPlaneMin(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionCode|YPlaneMax||YPlaneMax(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|UPlaneMax||UPlaneMax(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|VPlaneMax||VPlaneMax(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|BPlaneMax||BPlaneMax(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GPlaneMax||GPlaneMax(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}{{ScriptFunctionCode|RPlaneMax||RPlaneMax(clip [, float threshold &amp;amp;#61; 0, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionCode|YPlaneMinMaxDifference||YPlaneMinMaxDifference(clip [, float threshold, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|UPlaneMinMaxDifference||UPlaneMinMaxDifference(clip [, float threshold, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|VPlaneMinMaxDifference||VPlaneMinMaxDifference(clip [, float threshold, int offset &amp;amp;#61; 0])}}&lt;br /&gt;
{{ScriptFunctionCode|BPlaneMinMaxDifference||BPlaneMinMaxDifference(clip [, float threshold, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|GPlaneMinMaxDifference||GPlaneMinMaxDifference(clip [, float threshold, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
{{ScriptFunctionCode|RPlaneMinMaxDifference||RPlaneMinMaxDifference(clip [, float threshold, int offset &amp;amp;#61; 0])}} {{AvsPluscon}}&lt;br /&gt;
&lt;br /&gt;
: This group of functions return statistics about the distribution of pixel values on a plane (Luma, U-chroma and V-chroma, respectively). The statistics are, in order of presentation: maximum, minimum, median and range (maximum - minimum difference). &lt;br /&gt;
: {{FuncArg|threshold}} is a percentage, stating how many percent of the pixels are allowed above or below minimum. The threshold is optional and defaults to 0. In v2.61 an {{FuncArg|offset}} argument is added, which enables you to access the statistics of other frames than the current one.&lt;br /&gt;
&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 # median and average are close only on even distributions; &lt;br /&gt;
 # this can be a useful diagnostic&lt;br /&gt;
 have_intense_brights = YPlaneMedian() - AverageLuma() &amp;lt; threshold&lt;br /&gt;
 ...&lt;br /&gt;
 # a simple per-frame normalizer to [16..235], CCIR, range&lt;br /&gt;
 [[Levels]](YPlaneMin(), 1.0, YPlaneMax(), 16, 235)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These provide AviSynth script information.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|ScriptName|v2.60|ScriptName()}}&lt;br /&gt;
: Returns the path and filename of the loaded script as a string.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 name = ScriptName() # name = &amp;quot;F:\ProjectXYZ\video.avs&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|ScriptFile|v2.60|ScriptFile()}}&lt;br /&gt;
: Returns the filename of the loaded script as a string.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 file = ScriptFile() # file = &amp;quot;video.avs&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|ScriptDir|v2.60|ScriptDir()}}&lt;br /&gt;
: Returns the path of the loaded script as a string.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 folder = ScriptDir() # folder = &amp;quot;F:\ProjectXYZ&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== String functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These provide common operations on string variables.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|LCase||LCase(string)}}&lt;br /&gt;
: Returns lower case of {{FuncArg|string}}.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 LCase(&amp;quot;AviSynth&amp;quot;) = &amp;quot;avisynth&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|UCase||UCase(string)}}&lt;br /&gt;
: Returns upper case of {{FuncArg|string}}.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 UCase(&amp;quot;AviSynth&amp;quot;) = &amp;quot;AVISYNTH&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|StrLen||StrLen(string)}}&lt;br /&gt;
: Returns length of {{FuncArg|string}}.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 StrLen(&amp;quot;AviSynth&amp;quot;) = 8&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|RevStr||RevStr(string)}}&lt;br /&gt;
: Returns {{FuncArg|string}} backwards.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 RevStr(&amp;quot;AviSynth&amp;quot;) = &amp;quot;htnySivA&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|LeftStr||LeftStr(string, int)}}&lt;br /&gt;
: Returns first {{FuncArg|int}} count of characters.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 LeftStr(&amp;quot;AviSynth&amp;quot;, 3) = &amp;quot;Avi&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|RightStr||RightStr(string, int)}}&lt;br /&gt;
: Returns last {{FuncArg|int}} count of characters.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 RightStr(&amp;quot;AviSynth&amp;quot;, 5) = &amp;quot;Synth&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|MidStr||MidStr(string, int pos [, int length])}}&lt;br /&gt;
: Returns substring starting at {{FuncArg|pos}} for optional {{FuncArg|length}} or to end. {{FuncArg|pos}}=1 specifies start.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 MidStr(&amp;quot;AviSynth&amp;quot;, 3, 2) = &amp;quot;iS&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|FindStr||FindStr(string, substring)}}&lt;br /&gt;
: Returns position of {{FuncArg|string}} within {{FuncArg|string}} (note this function is case-sensitive). Returns 0 if {{FuncArg|string}} is not found.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Findstr(&amp;quot;AviSynth&amp;quot;, &amp;quot;Syn&amp;quot;) = 4&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|FillStr|v2.60|FillStr(int [, string])}}&lt;br /&gt;
: Fills a string. When {{FuncArg|int}}&amp;gt;1 it concatenates the {{FuncArg|string}} {{FuncArg|int}} times. {{FuncArg|string}} is &amp;quot;&amp;lt;tt&amp;gt; &amp;lt;/tt&amp;gt;&amp;quot; (space) by default.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 FillStr(1, &amp;quot;AviSynth&amp;quot;) = &amp;quot;AviSynth&amp;quot;&lt;br /&gt;
 FillStr(2, &amp;quot;AviSynth&amp;quot;) = &amp;quot;AviSynthAviSynth&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|StrCmp|v2.60|StrCmp(string, string)}}&lt;br /&gt;
: Compares two character strings. The comparison is case-sensitive. If the first string is less than the second string, the return value is negative. If it's greater, the return value is positive. If they are equal, the return value is zero. (The actual value seems to be language dependent so it can't be relied upon.)&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 StrCmp(&amp;quot;AviSynth&amp;quot;, &amp;quot;AviSynth&amp;quot;) = 0 # strings are equal.&lt;br /&gt;
 StrCmp(&amp;quot;AviSynth&amp;quot;, &amp;quot;Avisynth&amp;quot;) != 0 # strings are not equal.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|StrCmpi|v2.60|StrCmpi(string, string)}}&lt;br /&gt;
: Compares two character strings. The comparison is not case-sensitive. If the first string is less than the second string, the return value is negative. If it's greater, the return value is positive. If they are equal, the return value is zero. (The actual value seems to be language dependent so it can't be relied upon.)&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 StrCmpi(&amp;quot;AviSynth&amp;quot;, &amp;quot;AviSynth&amp;quot;) = 0 # strings are equal.&lt;br /&gt;
 StrCmpi(&amp;quot;AviSynth&amp;quot;, &amp;quot;Avisynth&amp;quot;) = 0 # strings are equal.&lt;br /&gt;
 StrCmpi(&amp;quot;abcz&amp;quot;, &amp;quot;abcdefg&amp;quot;) != 0 &lt;br /&gt;
 # returns the difference betweeen &amp;quot;z&amp;quot; and &amp;quot;d&amp;quot; (which is positive).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Chr||Chr(int)}}&lt;br /&gt;
: Returns the ASCII character. &lt;br /&gt;
: Note that characters above the ASCII character set (ie above 127) are code page dependent and may render different (visual) results in different systems. This has an importance only for user-supplied localised text messages.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Chr(34) returns the quote character&lt;br /&gt;
 Chr(9)  returns the tab   character&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Ord|v2.60|Ord(string)}}&lt;br /&gt;
: Gives the ordinal number (character code) of the first character of {{FuncArg|string}} (works like php [http://php.net/manual/en/function.ord.php ord] or Basic [http://msdn.microsoft.com/en-us/library/xfw01fx4%28v=vs.84%29.aspx Asc])&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 Ord(&amp;quot;a&amp;quot;) = 97&lt;br /&gt;
 Ord(&amp;quot;AviSynth&amp;quot;) = Ord(&amp;quot;A&amp;quot;) = 65&lt;br /&gt;
 Ord(&amp;quot;§&amp;quot;) = 167&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|Time||Time(string)}}&lt;br /&gt;
: Returns a string with the current system time formatted as defined by {{FuncArg|string}}.&lt;br /&gt;
&lt;br /&gt;
: The string may contain any of the codes for output formatting presented below:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;width:9em&amp;quot; | Code&lt;br /&gt;
 ! style=&amp;quot;width:38em&amp;quot; | Description&lt;br /&gt;
 |-&lt;br /&gt;
 |%a&lt;br /&gt;
%A  &lt;br /&gt;
 | Abbreviated weekday name&lt;br /&gt;
Full weekday name&lt;br /&gt;
 |-&lt;br /&gt;
 |%b&lt;br /&gt;
%B  &lt;br /&gt;
 | Abbreviated month name&lt;br /&gt;
Full month name&lt;br /&gt;
 |-&lt;br /&gt;
 |%c  &lt;br /&gt;
 | Date and time representation appropriate for locale&lt;br /&gt;
 |-&lt;br /&gt;
 |%d  &lt;br /&gt;
 | Day of month as decimal number (01 - 31)&lt;br /&gt;
 |-&lt;br /&gt;
 |%H&lt;br /&gt;
%I  &lt;br /&gt;
 | Hour in 24-hour format (00 - 23)&lt;br /&gt;
Hour in 12-hour format (01 - 12)&lt;br /&gt;
 |-&lt;br /&gt;
 |%j  &lt;br /&gt;
 | Day of year as decimal number (001 - 366)&lt;br /&gt;
 |-&lt;br /&gt;
 |%m  &lt;br /&gt;
 | Month as decimal number (01 - 12)&lt;br /&gt;
 |-&lt;br /&gt;
 |%M  &lt;br /&gt;
 | Minute as decimal number (00 - 59)&lt;br /&gt;
 |-&lt;br /&gt;
 |%p  &lt;br /&gt;
 | Current locale's A.M./P.M. indicator for 12-hour clock&lt;br /&gt;
 |-&lt;br /&gt;
 |%S  &lt;br /&gt;
 | Second as decimal number (00 - 59)&lt;br /&gt;
 |-&lt;br /&gt;
 |%U  &lt;br /&gt;
 | Week of year as decimal number, with Sunday as first day of week (00 - 53)&lt;br /&gt;
 |-&lt;br /&gt;
 |%w  &lt;br /&gt;
 | Weekday as decimal number (0 - 6; Sunday is 0)&lt;br /&gt;
 |-&lt;br /&gt;
 |%W  &lt;br /&gt;
 | Week of year as decimal number, with Monday as first day of week (00 - 53)&lt;br /&gt;
 |-&lt;br /&gt;
 |%x  &lt;br /&gt;
 | Date representation for current locale&lt;br /&gt;
 |-&lt;br /&gt;
 |%X  &lt;br /&gt;
 | Time representation for current locale&lt;br /&gt;
 |-&lt;br /&gt;
 |%y&lt;br /&gt;
%Y  &lt;br /&gt;
 | Year without century, as decimal number (00 - 99)&lt;br /&gt;
Year ''with'' century, as decimal number&lt;br /&gt;
 |-&lt;br /&gt;
 |%z, %Z  &lt;br /&gt;
 | Time-zone name or abbreviation; no characters if time zone is unknown&lt;br /&gt;
 |-&lt;br /&gt;
 |%%  &lt;br /&gt;
 | Percent sign &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
: The '#' flag may prefix any formatting code. In that case, the meaning of the format code is changed as follows:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;width:9em&amp;quot; |Code with '#' flag&lt;br /&gt;
 ! style=&amp;quot;width:38em&amp;quot; |Change in meaning&lt;br /&gt;
 |-&lt;br /&gt;
 |%#'''a''', %#'''A''', %#'''b''', &lt;br /&gt;
%#'''B''', %#'''p''', %#'''X''', &lt;br /&gt;
%#'''z''', %#'''Z''', %#'''%'''&lt;br /&gt;
 | No change; flag is ignored. &lt;br /&gt;
 |-&lt;br /&gt;
 |%#'''c''' &lt;br /&gt;
 | Long date and time representation, appropriate for current locale. &lt;br /&gt;
For example, ''&amp;quot;Tuesday, March 14, 1995, 12:41:29&amp;quot;'' &lt;br /&gt;
 |-&lt;br /&gt;
 |%#'''x''' &lt;br /&gt;
 | Long date representation, appropriate to current locale. &lt;br /&gt;
For example, ''&amp;quot;Tuesday, March 14, 1995&amp;quot;''&lt;br /&gt;
 |-&lt;br /&gt;
 |%#'''d''', %#'''H''', %#'''I''', &lt;br /&gt;
%#'''j''', %#'''m''', %#'''M''', &lt;br /&gt;
%#'''S''', %#'''U''', %#'''w''', &lt;br /&gt;
%#'''W''', %#'''y''', %#'''Y''' &lt;br /&gt;
 | Remove leading zeros (if any).&lt;br /&gt;
 |}&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 v = Time(&amp;quot;%Y-%m-%d&amp;quot;)        # &amp;quot;2010-03-01&amp;quot;&lt;br /&gt;
 v = Time(&amp;quot;%d-%b-%Y&amp;quot;)        # &amp;quot;01-Mar-2010&amp;quot;&lt;br /&gt;
 v = Time(&amp;quot;%#d/%#m/%y&amp;quot;)      # &amp;quot;1/3/10&amp;quot;&lt;br /&gt;
 v = Time(&amp;quot;%I:%M:%S %p, %z&amp;quot;) # &amp;quot;08:04:42 PM, GMT Standard Time&amp;quot;&lt;br /&gt;
 v = Time(&amp;quot;%H:%M:%S %z&amp;quot;)     # &amp;quot;20:04:42 GMT Standard Time&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Version functions ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;max-width:62em&amp;quot; &amp;gt;&lt;br /&gt;
: These provide AviSynth version information.&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|VersionNumber||VersionNumber()}}&lt;br /&gt;
: Returns AviSynth version number as a float.&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 v = VersionNumber() # 2.60&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ScriptFunctionH5|VersionString||VersionString()}}&lt;br /&gt;
: Returns AviSynth version info as a string (first line used in [[Version]]() command).&lt;br /&gt;
''Examples:''&lt;br /&gt;
&amp;lt;div {{BoxWidthIndent|56|2}} &amp;gt;&lt;br /&gt;
 v = VersionString() # &amp;quot;AviSynth 2.60, build:Mar 31 2015 [16:38:54]&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Back to [[AviSynth Syntax]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Internal_functions]]&lt;br /&gt;
[[Category:AviSynth_Syntax]]&lt;br /&gt;
[[Category:Scripting_Basics]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Internal_filters</id>
		<title>Internal filters</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Internal_filters"/>
				<updated>2017-07-10T14:24:12Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Audio processing filters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;max-width:76em; min-width:48em&amp;quot;&amp;gt;&lt;br /&gt;
The available (internal) filters are listed here and divided into categories. A short description is added, including the supported [[Color_spaces|color formats]] (and sample types for the audio filters). There are some functions which combine two or more clips in different ways. How the video content is calculated is described for each function, but [[filters_with_multiple_input_clips|here is a summary which explains which properties that the resulting clip will have]].&lt;br /&gt;
&lt;br /&gt;
An alphabetical listing of the internal filters can be found [[:Category:Internal_filters|here]].&lt;br /&gt;
&lt;br /&gt;
=== Source filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can read media files and return an AviSynth clip. See [[#Debug_filters|debug filters]] for non-file source filters.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[AviSource]] / [[AviFileSource]] / [[OpenDMLSource]]&lt;br /&gt;
| Opens an AVI file.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DirectShowSource]]&lt;br /&gt;
| Opens a filename using [[DirectShow]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ImageReader]] / [[ImageSource]] / [[ImageSourceAnim]]&lt;br /&gt;
| Reads in still or animated images. See [[#Export_filters|ImageWriter]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Import]]&lt;br /&gt;
| Imports an AviSynth script into the current script.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SegmentedAviSource]] / [[SegmentedDirectShowSource]]&lt;br /&gt;
| Loads up to 100 avi files per argument.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[WavSource]]&lt;br /&gt;
| Opens a WAV file or the audio of an AVI file.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Color conversion and adjustment filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to change the color format or adjust the colors of a clip.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[ColorYUV]]&lt;br /&gt;
| Adjusts colors and luma independently.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertBackToYUY2]]&lt;br /&gt;
| Converts a RGB clip back to YUY2.&lt;br /&gt;
| [[#Color_formats|RGB]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertToRGB]]&lt;br /&gt;
| Converts to RGB32 unless clip is RGB24.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertToRGB24]] / [[ConvertToRGB32]] / [[ConvertToYUY2]] / [[ConvertToY8]] / [[ConvertToYV411]] / [[ConvertToYV12]] / [[ConvertToYV16]] / [[ConvertToYV24]]&lt;br /&gt;
| Converts to RGB24 / RGB32 / YUY2 / Y8 / YV411 / YV12 / YV16 (planar version of YUY2) / YV24 (full YUV).&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FixLuminance]]&lt;br /&gt;
| Correct shifting vertical luma offset.&lt;br /&gt;
| YUY2&lt;br /&gt;
|-&lt;br /&gt;
| [[Greyscale]]/[[Grayscale]]&lt;br /&gt;
| Converts a video to greyscale (no color)&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Invert]]&lt;br /&gt;
| Inverts selected color channels of a video.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Levels]]&lt;br /&gt;
| Scales and clamps the black and white levels, and adjusts the gamma.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Limiter]]&lt;br /&gt;
| Clips levels to within CCIR-601 range, and optionally highlights pixels outside that range.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MergeARGB]] / [[MergeRGB]]&lt;br /&gt;
| Select and combine a color channel from each of the input video clips.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MergeChroma]] / [[MergeLuma]]&lt;br /&gt;
| Merge (blend) chroma or luma from one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[RGBAdjust]]&lt;br /&gt;
| Adjusts each color channel separately.&lt;br /&gt;
| [[#Color_formats|RGB]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowAlpha]] / [[ShowRed]] / [[ShowGreen]] / [[ShowBlue]]&lt;br /&gt;
| Shows the selected channel of an (A)RGB clip.&lt;br /&gt;
| [[#Color_formats|RGB]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SwapUV]]&lt;br /&gt;
| Swaps chroma channels.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Tweak]]&lt;br /&gt;
| Adjusts the hue, saturation, brightness, and contrast.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[UToY]] / [[UToY8]] / [[VToY]] / [[VToY8]]&lt;br /&gt;
| Copies U or V chroma plane to the Y luma plane.&lt;br /&gt;
| [[#Color_formats|YUV]], except [[Y8]]&lt;br /&gt;
|-&lt;br /&gt;
| [[YToUV]]&lt;br /&gt;
| Puts the luma channels of two clips as U and V channels. Luma is now 50% grey.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Overlay and Mask filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to layer clips with or without using masks and to create masks.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorKeyMask]]&lt;br /&gt;
| Sets the alpha-channel (similar as Mask does) but generates it by comparing the color.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[Layer]]&lt;br /&gt;
| Puts one clip on top of another using different layer (blend) modes and variable opacity. Supports alpha-channel transparency.&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
|-&lt;br /&gt;
| [[Mask]]&lt;br /&gt;
| Applies an alpha-mask to a clip.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[MaskHS]]&lt;br /&gt;
| This filter returns a mask (as Y8) of clip using a given hue and saturation range.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Merge]]&lt;br /&gt;
| Merge (blend) one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Overlay]]&lt;br /&gt;
| Puts one clip on top of another with optional XY displacement of the overlaying image, using different overlay (blend) modes and variable opacity. Uses a separate ''mask'' clip for transparency information.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ResetMask]]&lt;br /&gt;
| Applies an &amp;quot;all-opaque&amp;quot; alpha-mask to clip.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[Subtract]]&lt;br /&gt;
| Shows the difference between the corresponding pixels of two clips.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Geometric deformation filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to change image size, process borders or make other deformations of a clip.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[AddBorders]]&lt;br /&gt;
| Adds black or colored borders around the image.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Crop]]&lt;br /&gt;
| Crops excess pixels from each frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CropBottom]]&lt;br /&gt;
| Crops excess pixels from the bottom of each frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FlipHorizontal]] / [[FlipVertical]]&lt;br /&gt;
| Flips the video from left to right/upside-down.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Letterbox]]&lt;br /&gt;
| Blackens out (or colors out) the top and bottom (and optionally left and right) of each frame. &lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[HorizontalReduceBy2]] / [[VerticalReduceBy2]] / [[ReduceBy2]]&lt;br /&gt;
| Reduces the size of each frame by half horizontally, vertically or in both directions.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[BicubicResize]] / [[BilinearResize]] / [[BlackmanResize]] / [[GaussResize]] / [[LanczosResize]] / [[Lanczos4Resize]] / [[PointResize]] / [[SincResize]] / [[Spline16Resize]] / [[Spline36Resize]] / [[Spline64Resize]]&lt;br /&gt;
| Rescale the input video frames to an arbitrary new resolution, using different sampling algorithms.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SkewRows]]&lt;br /&gt;
| Skews (or deskews) the rows of a clip.&lt;br /&gt;
| RGB24, RGB32, YUY2, Y8&lt;br /&gt;
|-&lt;br /&gt;
| [[TurnLeft]] / [[TurnRight]] / [[Turn180]]&lt;br /&gt;
| Rotates the clip 90 degrees counter-clockwise / 90 degrees clockwise.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pixel restoration filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used for image detail (pixel) restoration (like denoising, sharpening) of a clip.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[Blur]] / [[Sharpen]]&lt;br /&gt;
| Simple 3x3-kernel blurring/sharpening filter.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[GeneralConvolution]]&lt;br /&gt;
| General 3x3 or 5x5 convolution matrix.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[SpatialSoften]] / [[TemporalSoften]]&lt;br /&gt;
| Removes noise from a video clip by selectively blending pixels spatially/temporally.&lt;br /&gt;
| YUY2 (SpatialSoften), [[#Color_formats|YUV Planar]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FixBrokenChromaUpsampling]]&lt;br /&gt;
| The free Canopus DV Codec v1.00 upsamples the chroma channels incorrectly (although newer non-free versions appear to work fine). This filter compensates for it.&lt;br /&gt;
| YUY2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Timeline editing filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to arrange frames in time (clip cutting, splicing and other editing).&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[AlignedSplice]] / [[UnalignedSplice]]&lt;br /&gt;
| Joins two or more video clips end to end.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeFPS]] / [[AssumeScaledFPS]] / [[ChangeFPS]] / [[ConvertFPS]]&lt;br /&gt;
| Changes framerate and/or video speed in different ways.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DeleteFrame]]&lt;br /&gt;
| Deletes a single frame, given as an argument.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Dissolve]]&lt;br /&gt;
| Like [[AlignedSplice]], except that the clips are combined with some overlap.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DuplicateFrame]]&lt;br /&gt;
| Duplicates a single frame given as an argument.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FadeIn0]] / [[FadeIn]] / [[FadeIn2]] / [[FadeOut0]] / [[FadeOut]] / [[FadeOut2]] / [[FadeIO0]] / [[FadeIO]] / [[FadeIO2]]&lt;br /&gt;
| Causes the video stream to fade linearly to black at the start or end.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FreezeFrame]]&lt;br /&gt;
| Replaces all the frames between ''first-frame'' and ''last-frame'' with a selected frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Interleave]]&lt;br /&gt;
| Interleaves frames from several clips on a frame-by-frame basis.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Loop]]&lt;br /&gt;
| Loops the segment from ''start_frame'' to ''end_frame'' a given number of times.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Reverse]]&lt;br /&gt;
| Makes a clip play in reverse.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SelectEven]] / [[SelectOdd]]&lt;br /&gt;
| Makes an output video stream using only the even- or odd-numbered frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SelectEvery]]&lt;br /&gt;
| Selects frames with a fixed period; a generalization of [[SelectEven]] and [[SelectOdd]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SelectRangeEvery]]&lt;br /&gt;
| Selects a range of frames with a fixed period.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Trim]]&lt;br /&gt;
| Trims a video clip so that it includes only the frames ''first_frame'' through ''last_frame''.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Interlace filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used for creating and processing field-based material (which is frame-based material separated into fields). AviSynth is capable of dealing with both progressive and interlaced material. The main problem is, that it often doesn't know what it receives from source filters. This is the reason that the field-based flag exists and can be used when dealing with interlaced material. More information about field-based video can be found [[Interlaced_fieldbased|here]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeFrameBased]] / [[AssumeFieldBased]]&lt;br /&gt;
| Forces frame-based or field-based material.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeBFF]] / [[AssumeTFF]]&lt;br /&gt;
| Forces field order.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bob]]&lt;br /&gt;
| Takes a clip and [[Wikipedia:Deinterlacing#Field_extension_deinterlacing|bob-deinterlaces]] it.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ComplementParity]]&lt;br /&gt;
| Changes top fields to bottom fields and vice-versa.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DoubleWeave]]&lt;br /&gt;
| Operates like [[Weave]], except that it produces double the number of frames by combining both the odd and even pairs of fields.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[PeculiarBlend]]&lt;br /&gt;
| Blends each frame with the following frame in a peculiar way.&lt;br /&gt;
| YUY2&lt;br /&gt;
|-&lt;br /&gt;
| [[Pulldown]]&lt;br /&gt;
| Selects two out of every five frames of the source video.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SeparateColumns]] / [[SeparateRows]]&lt;br /&gt;
| Separates the columns or rows of each frame into new frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SeparateFields]]&lt;br /&gt;
| Splits each frame into its component top and bottom fields.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SwapFields]]&lt;br /&gt;
| Swaps the two fields in an interlaced frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Weave]]&lt;br /&gt;
| Combines fields together to produce interlaced frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[WeaveColumns]] / [[WeaveRows]]&lt;br /&gt;
| Takes a clip and weaves sets of columns or rows together to produce composite frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio processing filters ===&lt;br /&gt;
&lt;br /&gt;
These filters process audio. Audio samples will be automatically converted if any filters requires a special type of sample. This means that if a filter doesn't support the type of sample it is given, it will automatically convert the samples to something it supports. The internal formats supported in each filter is listed in the sample type column. A specific sample type can be forced by using the [[ConvertAudio]] functions.&lt;br /&gt;
&lt;br /&gt;
{{AvsPluscon}} automatic conversion is ''not'' performed. The new behavior is to raise an error when a sample type is not compatible. It is your responsibility to use [[ConvertAudio]] where needed.&lt;br /&gt;
&lt;br /&gt;
[[Float]] audio is converted to 16 bit when [[Frameserver|frameserving]] through [[ACM]], unless [[Internal_functions#OPT_AllowFloatAudio|OPT_AllowFloatAudio]] is set to true. In that case the audio is kept as it is. When accessing AviSynth directly (like MeGUI, BeHappy or ffmpeg do for example), there is no automatic conversion.&lt;br /&gt;
&lt;br /&gt;
The automatic conversion is done for clients that cannot handle [[Float]] audio (in the old days most of them couldn't). Note conversion takes place ''after'' the script processing is finished. [[Float]] audio is always allowed within the script.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Sample type&lt;br /&gt;
|-&lt;br /&gt;
| [[Amplify]] / [[AmplifydB]]&lt;br /&gt;
| Amplify multiply audio samples by amount.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeSampleRate]]&lt;br /&gt;
| Adjusts the playback speed of the audio.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[AudioDub]] / [[AudioDubEx]]&lt;br /&gt;
| ''AudioDub'' takes the video stream from the first argument and the audio stream from the second argument and combines them. ''AudioDubEx'' is similar, but it doesn't throw an exception if both clips don't have a video or audio stream.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[AudioTrim]]&lt;br /&gt;
| Trims an audio clip so that it includes only the ''start_time'' through ''end_time''.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertAudioTo8bit]] / [[ConvertAudioTo16bit]] / [[ConvertAudioTo24bit]] / [[ConvertAudioTo32bit]] / [[ConvertAudioToFloat]]&lt;br /&gt;
| Converts audio samples to 8/16/24/32/Float bits.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertToMono]]&lt;br /&gt;
| Merges all audio channels.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[DelayAudio]]&lt;br /&gt;
| Delays the audio track by second seconds.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[EnsureVBRMP3Sync]]&lt;br /&gt;
| Corrects out-of-sync MP3-AVI's, when seeking or trimming.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[GetChannel]] / [[GetLeftChannel]] / [[GetRightChannel]]&lt;br /&gt;
| Returns an audio channel from a clip.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[KillAudio]] / [[KillVideo]]&lt;br /&gt;
| Removes the audio or video from a clip completely.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[MergeChannels]]&lt;br /&gt;
| Merges channels of two audio clips.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[MixAudio]]&lt;br /&gt;
| Mixes audio from two clips.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[MonoToStereo]]&lt;br /&gt;
| Converts two mono signals to one stereo signal.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[Normalize]]&lt;br /&gt;
| Amplifies the entire waveform as much as possible, without clipping.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[ResampleAudio]]&lt;br /&gt;
| Performs a high-quality change of audio sample rate.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[SuperEQ]]&lt;br /&gt;
| High quality 18 band sound equalizer.&lt;br /&gt;
| Float&lt;br /&gt;
|-&lt;br /&gt;
| [[SSRC]]&lt;br /&gt;
| Very high quality sample rate conversion.&lt;br /&gt;
| Float&lt;br /&gt;
|-&lt;br /&gt;
| [[TimeStretch]]&lt;br /&gt;
| Change speed of a sound without changing the pitch, and change pitch without changing duration.&lt;br /&gt;
| Float&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Conditional and other meta filters  ===&lt;br /&gt;
&lt;br /&gt;
''Meta'' filters can be used to control other filters' execution. The basic characteristic of conditional filters is that their scripts are evaluated (executed) at every frame instead of when the clip is loaded. This allows for complex video processing that would be difficult or impossible to be performed by a normal AviSynth script. &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[ConditionalFilter]] / [[FrameEvaluate]] / [[ScriptClip]] / [[ConditionalSelect]]&lt;br /&gt;
| ''ConditionalFilter'' returns source1 if some condition is met, otherwise it returns source2. ''ScriptClip/FrameEvaluate'' returns the clip which is returned by the function evaluated on every frame. ''ConditionalSelect'' returns one frame from several sources based on an integer evaluator.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConditionalReader]]&lt;br /&gt;
| Import information from a text file, with different values for each frame - or a range of frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[WriteFile]] / [[WriteFileIf]] / [[WriteFileStart]] / [[WriteFileEnd]]&lt;br /&gt;
| These filters evaluate expressions and output the results to a text-file.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Animate]] / [[ApplyRange]]&lt;br /&gt;
| ''Animate'' is a meta-filter which evaluates another filter with continuously varying arguments.&lt;br /&gt;
''ApplyRange'' 'is a special case of ''Animate'' where ''start_args'' = ''end_args''.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[TCPServer]] / [[TCPSource]]&lt;br /&gt;
| Send clips over your network. You can connect several clients to the same machine.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Export filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can write directly to media files. &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[ImageWriter]]&lt;br /&gt;
| Writes frames as images to your hard disk. See [[#Source_filters|ImageReader]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Debug filters ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[BlankClip]] / [[Blackness]]&lt;br /&gt;
| Produces a solid color, silent video clip of the specified length (in frames).&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorBars]] / [[ColorBarsHD]]&lt;br /&gt;
| Produce a video clip containing SMPTE colorbars scaled to any image size.&lt;br /&gt;
| RGB32, YUY2, YV12, YV24&lt;br /&gt;
|-&lt;br /&gt;
| [[Compare]]&lt;br /&gt;
| Compares two clips and prints out information about the differences.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Echo]]&lt;br /&gt;
| Forces internal &amp;lt;tt&amp;gt;GetFrame&amp;lt;/tt&amp;gt; calls to all input clips. Returns only first clip result.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Histogram]]&lt;br /&gt;
| A multipurpose audio/video analysis tool.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Info]]&lt;br /&gt;
| Prints out image and sound information.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MessageClip]]&lt;br /&gt;
| Produces a clip containing a text message.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[Preroll]]&lt;br /&gt;
| Preroll the audio or video on non-linear access.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowFiveVersions]]&lt;br /&gt;
| Takes five video clips and combines them in a staggered arrangement from left to right.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowFrameNumber]] / [[ShowSMPTE]] / [[ShowTime]]&lt;br /&gt;
| Draws text on every frame indicating what number AviSynth thinks it is.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[StackHorizontal]] / [[StackVertical]]&lt;br /&gt;
| Takes two or more video clips and displays them together in left-to-right/up-to-down order.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Subtitle]]&lt;br /&gt;
| Adds anti-aliased text to a range of frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Tone]]&lt;br /&gt;
| Generates a sound.&lt;br /&gt;
| Float&lt;br /&gt;
|-&lt;br /&gt;
| [[Version]]&lt;br /&gt;
| Generates a video clip with a short AviSynth version and copyright statement.&lt;br /&gt;
| RGB24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HiddenAnchor|Color_formats}}&lt;br /&gt;
=== Footnote: Color Formats ===&lt;br /&gt;
&lt;br /&gt;
''The above filters work with the following named color formats.''&lt;br /&gt;
{| style=&amp;quot;height:100px&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!Formats&lt;br /&gt;
|-&lt;br /&gt;
| All&lt;br /&gt;
| RGB, YUV&lt;br /&gt;
|-&lt;br /&gt;
| [[RGB]]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
|-&lt;br /&gt;
| [[YUV]]&lt;br /&gt;
| [[YUY2]], YUV Planar &lt;br /&gt;
|-&lt;br /&gt;
| YUV [[Planar]]&amp;amp;nbsp;&lt;br /&gt;
| [[YV24]]&amp;amp;diams;, [[YV16]]&amp;amp;diams;, [[YV12]], [[YV411]]&amp;amp;diams;, [[Y8]]&amp;amp;diams;&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
(&amp;amp;diams; = not supported in AviSynth version 2.58 or below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
[[Category:AviSynth_Syntax]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Internal_filters</id>
		<title>Internal filters</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Internal_filters"/>
				<updated>2017-07-10T14:23:32Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Audio processing filters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;max-width:76em; min-width:48em&amp;quot;&amp;gt;&lt;br /&gt;
The available (internal) filters are listed here and divided into categories. A short description is added, including the supported [[Color_spaces|color formats]] (and sample types for the audio filters). There are some functions which combine two or more clips in different ways. How the video content is calculated is described for each function, but [[filters_with_multiple_input_clips|here is a summary which explains which properties that the resulting clip will have]].&lt;br /&gt;
&lt;br /&gt;
An alphabetical listing of the internal filters can be found [[:Category:Internal_filters|here]].&lt;br /&gt;
&lt;br /&gt;
=== Source filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can read media files and return an AviSynth clip. See [[#Debug_filters|debug filters]] for non-file source filters.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[AviSource]] / [[AviFileSource]] / [[OpenDMLSource]]&lt;br /&gt;
| Opens an AVI file.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DirectShowSource]]&lt;br /&gt;
| Opens a filename using [[DirectShow]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ImageReader]] / [[ImageSource]] / [[ImageSourceAnim]]&lt;br /&gt;
| Reads in still or animated images. See [[#Export_filters|ImageWriter]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Import]]&lt;br /&gt;
| Imports an AviSynth script into the current script.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SegmentedAviSource]] / [[SegmentedDirectShowSource]]&lt;br /&gt;
| Loads up to 100 avi files per argument.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[WavSource]]&lt;br /&gt;
| Opens a WAV file or the audio of an AVI file.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Color conversion and adjustment filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to change the color format or adjust the colors of a clip.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[ColorYUV]]&lt;br /&gt;
| Adjusts colors and luma independently.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertBackToYUY2]]&lt;br /&gt;
| Converts a RGB clip back to YUY2.&lt;br /&gt;
| [[#Color_formats|RGB]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertToRGB]]&lt;br /&gt;
| Converts to RGB32 unless clip is RGB24.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertToRGB24]] / [[ConvertToRGB32]] / [[ConvertToYUY2]] / [[ConvertToY8]] / [[ConvertToYV411]] / [[ConvertToYV12]] / [[ConvertToYV16]] / [[ConvertToYV24]]&lt;br /&gt;
| Converts to RGB24 / RGB32 / YUY2 / Y8 / YV411 / YV12 / YV16 (planar version of YUY2) / YV24 (full YUV).&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FixLuminance]]&lt;br /&gt;
| Correct shifting vertical luma offset.&lt;br /&gt;
| YUY2&lt;br /&gt;
|-&lt;br /&gt;
| [[Greyscale]]/[[Grayscale]]&lt;br /&gt;
| Converts a video to greyscale (no color)&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Invert]]&lt;br /&gt;
| Inverts selected color channels of a video.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Levels]]&lt;br /&gt;
| Scales and clamps the black and white levels, and adjusts the gamma.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Limiter]]&lt;br /&gt;
| Clips levels to within CCIR-601 range, and optionally highlights pixels outside that range.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MergeARGB]] / [[MergeRGB]]&lt;br /&gt;
| Select and combine a color channel from each of the input video clips.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MergeChroma]] / [[MergeLuma]]&lt;br /&gt;
| Merge (blend) chroma or luma from one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[RGBAdjust]]&lt;br /&gt;
| Adjusts each color channel separately.&lt;br /&gt;
| [[#Color_formats|RGB]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowAlpha]] / [[ShowRed]] / [[ShowGreen]] / [[ShowBlue]]&lt;br /&gt;
| Shows the selected channel of an (A)RGB clip.&lt;br /&gt;
| [[#Color_formats|RGB]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SwapUV]]&lt;br /&gt;
| Swaps chroma channels.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Tweak]]&lt;br /&gt;
| Adjusts the hue, saturation, brightness, and contrast.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[UToY]] / [[UToY8]] / [[VToY]] / [[VToY8]]&lt;br /&gt;
| Copies U or V chroma plane to the Y luma plane.&lt;br /&gt;
| [[#Color_formats|YUV]], except [[Y8]]&lt;br /&gt;
|-&lt;br /&gt;
| [[YToUV]]&lt;br /&gt;
| Puts the luma channels of two clips as U and V channels. Luma is now 50% grey.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Overlay and Mask filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to layer clips with or without using masks and to create masks.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorKeyMask]]&lt;br /&gt;
| Sets the alpha-channel (similar as Mask does) but generates it by comparing the color.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[Layer]]&lt;br /&gt;
| Puts one clip on top of another using different layer (blend) modes and variable opacity. Supports alpha-channel transparency.&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
|-&lt;br /&gt;
| [[Mask]]&lt;br /&gt;
| Applies an alpha-mask to a clip.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[MaskHS]]&lt;br /&gt;
| This filter returns a mask (as Y8) of clip using a given hue and saturation range.&lt;br /&gt;
| [[#Color_formats|YUV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Merge]]&lt;br /&gt;
| Merge (blend) one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Overlay]]&lt;br /&gt;
| Puts one clip on top of another with optional XY displacement of the overlaying image, using different overlay (blend) modes and variable opacity. Uses a separate ''mask'' clip for transparency information.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ResetMask]]&lt;br /&gt;
| Applies an &amp;quot;all-opaque&amp;quot; alpha-mask to clip.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[Subtract]]&lt;br /&gt;
| Shows the difference between the corresponding pixels of two clips.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Geometric deformation filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to change image size, process borders or make other deformations of a clip.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[AddBorders]]&lt;br /&gt;
| Adds black or colored borders around the image.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Crop]]&lt;br /&gt;
| Crops excess pixels from each frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CropBottom]]&lt;br /&gt;
| Crops excess pixels from the bottom of each frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FlipHorizontal]] / [[FlipVertical]]&lt;br /&gt;
| Flips the video from left to right/upside-down.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Letterbox]]&lt;br /&gt;
| Blackens out (or colors out) the top and bottom (and optionally left and right) of each frame. &lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[HorizontalReduceBy2]] / [[VerticalReduceBy2]] / [[ReduceBy2]]&lt;br /&gt;
| Reduces the size of each frame by half horizontally, vertically or in both directions.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[BicubicResize]] / [[BilinearResize]] / [[BlackmanResize]] / [[GaussResize]] / [[LanczosResize]] / [[Lanczos4Resize]] / [[PointResize]] / [[SincResize]] / [[Spline16Resize]] / [[Spline36Resize]] / [[Spline64Resize]]&lt;br /&gt;
| Rescale the input video frames to an arbitrary new resolution, using different sampling algorithms.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SkewRows]]&lt;br /&gt;
| Skews (or deskews) the rows of a clip.&lt;br /&gt;
| RGB24, RGB32, YUY2, Y8&lt;br /&gt;
|-&lt;br /&gt;
| [[TurnLeft]] / [[TurnRight]] / [[Turn180]]&lt;br /&gt;
| Rotates the clip 90 degrees counter-clockwise / 90 degrees clockwise.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pixel restoration filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used for image detail (pixel) restoration (like denoising, sharpening) of a clip.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|- &lt;br /&gt;
| [[Blur]] / [[Sharpen]]&lt;br /&gt;
| Simple 3x3-kernel blurring/sharpening filter.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[GeneralConvolution]]&lt;br /&gt;
| General 3x3 or 5x5 convolution matrix.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[SpatialSoften]] / [[TemporalSoften]]&lt;br /&gt;
| Removes noise from a video clip by selectively blending pixels spatially/temporally.&lt;br /&gt;
| YUY2 (SpatialSoften), [[#Color_formats|YUV Planar]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FixBrokenChromaUpsampling]]&lt;br /&gt;
| The free Canopus DV Codec v1.00 upsamples the chroma channels incorrectly (although newer non-free versions appear to work fine). This filter compensates for it.&lt;br /&gt;
| YUY2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Timeline editing filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used to arrange frames in time (clip cutting, splicing and other editing).&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[AlignedSplice]] / [[UnalignedSplice]]&lt;br /&gt;
| Joins two or more video clips end to end.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeFPS]] / [[AssumeScaledFPS]] / [[ChangeFPS]] / [[ConvertFPS]]&lt;br /&gt;
| Changes framerate and/or video speed in different ways.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DeleteFrame]]&lt;br /&gt;
| Deletes a single frame, given as an argument.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Dissolve]]&lt;br /&gt;
| Like [[AlignedSplice]], except that the clips are combined with some overlap.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DuplicateFrame]]&lt;br /&gt;
| Duplicates a single frame given as an argument.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FadeIn0]] / [[FadeIn]] / [[FadeIn2]] / [[FadeOut0]] / [[FadeOut]] / [[FadeOut2]] / [[FadeIO0]] / [[FadeIO]] / [[FadeIO2]]&lt;br /&gt;
| Causes the video stream to fade linearly to black at the start or end.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FreezeFrame]]&lt;br /&gt;
| Replaces all the frames between ''first-frame'' and ''last-frame'' with a selected frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Interleave]]&lt;br /&gt;
| Interleaves frames from several clips on a frame-by-frame basis.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Loop]]&lt;br /&gt;
| Loops the segment from ''start_frame'' to ''end_frame'' a given number of times.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Reverse]]&lt;br /&gt;
| Makes a clip play in reverse.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SelectEven]] / [[SelectOdd]]&lt;br /&gt;
| Makes an output video stream using only the even- or odd-numbered frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SelectEvery]]&lt;br /&gt;
| Selects frames with a fixed period; a generalization of [[SelectEven]] and [[SelectOdd]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SelectRangeEvery]]&lt;br /&gt;
| Selects a range of frames with a fixed period.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Trim]]&lt;br /&gt;
| Trims a video clip so that it includes only the frames ''first_frame'' through ''last_frame''.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Interlace filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can be used for creating and processing field-based material (which is frame-based material separated into fields). AviSynth is capable of dealing with both progressive and interlaced material. The main problem is, that it often doesn't know what it receives from source filters. This is the reason that the field-based flag exists and can be used when dealing with interlaced material. More information about field-based video can be found [[Interlaced_fieldbased|here]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeFrameBased]] / [[AssumeFieldBased]]&lt;br /&gt;
| Forces frame-based or field-based material.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeBFF]] / [[AssumeTFF]]&lt;br /&gt;
| Forces field order.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Bob]]&lt;br /&gt;
| Takes a clip and [[Wikipedia:Deinterlacing#Field_extension_deinterlacing|bob-deinterlaces]] it.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ComplementParity]]&lt;br /&gt;
| Changes top fields to bottom fields and vice-versa.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[DoubleWeave]]&lt;br /&gt;
| Operates like [[Weave]], except that it produces double the number of frames by combining both the odd and even pairs of fields.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[PeculiarBlend]]&lt;br /&gt;
| Blends each frame with the following frame in a peculiar way.&lt;br /&gt;
| YUY2&lt;br /&gt;
|-&lt;br /&gt;
| [[Pulldown]]&lt;br /&gt;
| Selects two out of every five frames of the source video.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SeparateColumns]] / [[SeparateRows]]&lt;br /&gt;
| Separates the columns or rows of each frame into new frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SeparateFields]]&lt;br /&gt;
| Splits each frame into its component top and bottom fields.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SwapFields]]&lt;br /&gt;
| Swaps the two fields in an interlaced frame.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Weave]]&lt;br /&gt;
| Combines fields together to produce interlaced frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[WeaveColumns]] / [[WeaveRows]]&lt;br /&gt;
| Takes a clip and weaves sets of columns or rows together to produce composite frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Audio processing filters ===&lt;br /&gt;
&lt;br /&gt;
These filters process audio. Audio samples will be automatically converted if any filters requires a special type of sample. This means that if a filter doesn't support the type of sample it is given, it will automatically convert the samples to something it supports. The internal formats supported in each filter is listed in the sample type column. A specific sample type can be forced by using the [[ConvertAudio]] functions.&lt;br /&gt;
&lt;br /&gt;
{{AvsPluscon}} automatic conversion is ''not'' performed. The new behavior is to raise an error when a sample type is not compatible. It is your responsibility to use [[ConvertAudio]] where needed.&lt;br /&gt;
&lt;br /&gt;
[[Float]] audio is converted to 16 bit when [[Frameserver|frameserving]] through [[ACM]], unless [[Internal_functions#OPT_AllowFloatAudio|OPT_AllowFloatAudio]] is set to true. In that case the audio is kept as it is. When accessing AviSynth directly (like MeGUI, BeHappy or ffmpeg do for example), there is no automatic conversion.&lt;br /&gt;
&lt;br /&gt;
The automatic conversion is done for clients that cannot handle [[Float]] audio (in the old days, most of them didn't). Note conversion takes place ''after'' the script processing is finished. [[Float]] audio is always allowed within the script.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Sample type&lt;br /&gt;
|-&lt;br /&gt;
| [[Amplify]] / [[AmplifydB]]&lt;br /&gt;
| Amplify multiply audio samples by amount.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[AssumeSampleRate]]&lt;br /&gt;
| Adjusts the playback speed of the audio.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[AudioDub]] / [[AudioDubEx]]&lt;br /&gt;
| ''AudioDub'' takes the video stream from the first argument and the audio stream from the second argument and combines them. ''AudioDubEx'' is similar, but it doesn't throw an exception if both clips don't have a video or audio stream.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[AudioTrim]]&lt;br /&gt;
| Trims an audio clip so that it includes only the ''start_time'' through ''end_time''.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertAudioTo8bit]] / [[ConvertAudioTo16bit]] / [[ConvertAudioTo24bit]] / [[ConvertAudioTo32bit]] / [[ConvertAudioToFloat]]&lt;br /&gt;
| Converts audio samples to 8/16/24/32/Float bits.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[ConvertToMono]]&lt;br /&gt;
| Merges all audio channels.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[DelayAudio]]&lt;br /&gt;
| Delays the audio track by second seconds.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[EnsureVBRMP3Sync]]&lt;br /&gt;
| Corrects out-of-sync MP3-AVI's, when seeking or trimming.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[GetChannel]] / [[GetLeftChannel]] / [[GetRightChannel]]&lt;br /&gt;
| Returns an audio channel from a clip.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[KillAudio]] / [[KillVideo]]&lt;br /&gt;
| Removes the audio or video from a clip completely.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[MergeChannels]]&lt;br /&gt;
| Merges channels of two audio clips.&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[MixAudio]]&lt;br /&gt;
| Mixes audio from two clips.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[MonoToStereo]]&lt;br /&gt;
| Converts two mono signals to one stereo signal.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[Normalize]]&lt;br /&gt;
| Amplifies the entire waveform as much as possible, without clipping.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[ResampleAudio]]&lt;br /&gt;
| Performs a high-quality change of audio sample rate.&lt;br /&gt;
| 16 bit, Float&lt;br /&gt;
|-&lt;br /&gt;
| [[SuperEQ]]&lt;br /&gt;
| High quality 18 band sound equalizer.&lt;br /&gt;
| Float&lt;br /&gt;
|-&lt;br /&gt;
| [[SSRC]]&lt;br /&gt;
| Very high quality sample rate conversion.&lt;br /&gt;
| Float&lt;br /&gt;
|-&lt;br /&gt;
| [[TimeStretch]]&lt;br /&gt;
| Change speed of a sound without changing the pitch, and change pitch without changing duration.&lt;br /&gt;
| Float&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Conditional and other meta filters  ===&lt;br /&gt;
&lt;br /&gt;
''Meta'' filters can be used to control other filters' execution. The basic characteristic of conditional filters is that their scripts are evaluated (executed) at every frame instead of when the clip is loaded. This allows for complex video processing that would be difficult or impossible to be performed by a normal AviSynth script. &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[ConditionalFilter]] / [[FrameEvaluate]] / [[ScriptClip]] / [[ConditionalSelect]]&lt;br /&gt;
| ''ConditionalFilter'' returns source1 if some condition is met, otherwise it returns source2. ''ScriptClip/FrameEvaluate'' returns the clip which is returned by the function evaluated on every frame. ''ConditionalSelect'' returns one frame from several sources based on an integer evaluator.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ConditionalReader]]&lt;br /&gt;
| Import information from a text file, with different values for each frame - or a range of frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[WriteFile]] / [[WriteFileIf]] / [[WriteFileStart]] / [[WriteFileEnd]]&lt;br /&gt;
| These filters evaluate expressions and output the results to a text-file.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Animate]] / [[ApplyRange]]&lt;br /&gt;
| ''Animate'' is a meta-filter which evaluates another filter with continuously varying arguments.&lt;br /&gt;
''ApplyRange'' 'is a special case of ''Animate'' where ''start_args'' = ''end_args''.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[TCPServer]] / [[TCPSource]]&lt;br /&gt;
| Send clips over your network. You can connect several clients to the same machine.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Export filters ===&lt;br /&gt;
&lt;br /&gt;
These filters can write directly to media files. &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[ImageWriter]]&lt;br /&gt;
| Writes frames as images to your hard disk. See [[#Source_filters|ImageReader]].&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Debug filters ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;height:100px; width:95%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!width=25%| Filter&lt;br /&gt;
!width=50%| Description&lt;br /&gt;
!width=15%| Color format&lt;br /&gt;
|-&lt;br /&gt;
| [[BlankClip]] / [[Blackness]]&lt;br /&gt;
| Produces a solid color, silent video clip of the specified length (in frames).&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorBars]] / [[ColorBarsHD]]&lt;br /&gt;
| Produce a video clip containing SMPTE colorbars scaled to any image size.&lt;br /&gt;
| RGB32, YUY2, YV12, YV24&lt;br /&gt;
|-&lt;br /&gt;
| [[Compare]]&lt;br /&gt;
| Compares two clips and prints out information about the differences.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Echo]]&lt;br /&gt;
| Forces internal &amp;lt;tt&amp;gt;GetFrame&amp;lt;/tt&amp;gt; calls to all input clips. Returns only first clip result.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Histogram]]&lt;br /&gt;
| A multipurpose audio/video analysis tool.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Info]]&lt;br /&gt;
| Prints out image and sound information.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MessageClip]]&lt;br /&gt;
| Produces a clip containing a text message.&lt;br /&gt;
| RGB32&lt;br /&gt;
|-&lt;br /&gt;
| [[Preroll]]&lt;br /&gt;
| Preroll the audio or video on non-linear access.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowFiveVersions]]&lt;br /&gt;
| Takes five video clips and combines them in a staggered arrangement from left to right.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowFrameNumber]] / [[ShowSMPTE]] / [[ShowTime]]&lt;br /&gt;
| Draws text on every frame indicating what number AviSynth thinks it is.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[StackHorizontal]] / [[StackVertical]]&lt;br /&gt;
| Takes two or more video clips and displays them together in left-to-right/up-to-down order.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Subtitle]]&lt;br /&gt;
| Adds anti-aliased text to a range of frames.&lt;br /&gt;
| [[#Color_formats|All]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Tone]]&lt;br /&gt;
| Generates a sound.&lt;br /&gt;
| Float&lt;br /&gt;
|-&lt;br /&gt;
| [[Version]]&lt;br /&gt;
| Generates a video clip with a short AviSynth version and copyright statement.&lt;br /&gt;
| RGB24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{HiddenAnchor|Color_formats}}&lt;br /&gt;
=== Footnote: Color Formats ===&lt;br /&gt;
&lt;br /&gt;
''The above filters work with the following named color formats.''&lt;br /&gt;
{| style=&amp;quot;height:100px&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name&lt;br /&gt;
!Formats&lt;br /&gt;
|-&lt;br /&gt;
| All&lt;br /&gt;
| RGB, YUV&lt;br /&gt;
|-&lt;br /&gt;
| [[RGB]]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
|-&lt;br /&gt;
| [[YUV]]&lt;br /&gt;
| [[YUY2]], YUV Planar &lt;br /&gt;
|-&lt;br /&gt;
| YUV [[Planar]]&amp;amp;nbsp;&lt;br /&gt;
| [[YV24]]&amp;amp;diams;, [[YV16]]&amp;amp;diams;, [[YV12]], [[YV411]]&amp;amp;diams;, [[Y8]]&amp;amp;diams;&amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
(&amp;amp;diams; = not supported in AviSynth version 2.58 or below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
[[Category:AviSynth_Syntax]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/ACM</id>
		<title>ACM</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/ACM"/>
				<updated>2017-07-10T14:17:07Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;https://en.wikipedia.org/wiki/Windows_legacy_audio_components#Audio_Compression_Manager  Category:Glossary&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://en.wikipedia.org/wiki/Windows_legacy_audio_components#Audio_Compression_Manager&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Filter_SDK/CInvertNeg</id>
		<title>Filter SDK/CInvertNeg</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Filter_SDK/CInvertNeg"/>
				<updated>2017-01-13T22:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'll start off with a complete, working Avisynth C plugin. It's called &amp;quot;InvertNeg&amp;quot;, and it produces a photo-negative of the input clip.&lt;br /&gt;
&lt;br /&gt;
Here's InvertNeg.c:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth_c.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 AVS_VideoFrame* AVSC_CC InvertNeg_get_frame(AVS_FilterInfo* fi, int n)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_VideoFrame* src;&lt;br /&gt;
    AVS_VideoFrame* dst;&lt;br /&gt;
    int row_size, height, src_pitch, dst_pitch;&lt;br /&gt;
    const BYTE* srcp;&lt;br /&gt;
    BYTE* dstp;&lt;br /&gt;
    int x, y, p;&lt;br /&gt;
 &lt;br /&gt;
    int planes[] = {AVS_PLANAR_Y, AVS_PLANAR_V, AVS_PLANAR_U};&lt;br /&gt;
 &lt;br /&gt;
    src = avs_get_frame(fi-&amp;gt;child, n);&lt;br /&gt;
    dst = avs_new_video_frame(fi-&amp;gt;env, &amp;amp;fi-&amp;gt;vi);&lt;br /&gt;
 &lt;br /&gt;
    for (p=0; p&amp;lt;3; p++) {&lt;br /&gt;
       srcp = avs_get_read_ptr_p(src, planes[p]);&lt;br /&gt;
       dstp = avs_get_write_ptr_p(dst, planes[p]);&lt;br /&gt;
       src_pitch = avs_get_pitch_p(src, planes[p]);&lt;br /&gt;
       dst_pitch = avs_get_pitch_p(dst, planes[p]);&lt;br /&gt;
       row_size = avs_get_row_size_p(dst, planes[p]);&lt;br /&gt;
       height = avs_get_height_p(dst, planes[p]);&lt;br /&gt;
 &lt;br /&gt;
       for (y = 0; y &amp;lt; height; y++) {&lt;br /&gt;
          for (x = 0; x &amp;lt; row_size; x++) {&lt;br /&gt;
             dstp[x] = srcp[x] ^ 255;&lt;br /&gt;
          }&lt;br /&gt;
          srcp += src_pitch;&lt;br /&gt;
          dstp += dst_pitch;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    avs_release_video_frame(src);&lt;br /&gt;
    return dst;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 AVS_Value AVSC_CC Create_InvertNeg(AVS_ScriptEnvironment* env, AVS_Value args, void* user_data)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_Value v;&lt;br /&gt;
    AVS_FilterInfo* fi;&lt;br /&gt;
    AVS_Clip* new_clip = avs_new_c_filter(env, &amp;amp;fi, avs_array_elt(args, 0), 1);&lt;br /&gt;
 &lt;br /&gt;
    if (!avs_is_planar(&amp;amp;fi-&amp;gt;vi) || !avs_is_yuv(&amp;amp;fi-&amp;gt;vi)) {&lt;br /&gt;
       return avs_new_value_error(&amp;quot;InvertNeg: planar YUV data only!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    fi-&amp;gt;get_frame = InvertNeg_get_frame;&lt;br /&gt;
 &lt;br /&gt;
    v = avs_new_value_clip(new_clip);&lt;br /&gt;
 &lt;br /&gt;
    avs_release_clip(new_clip);&lt;br /&gt;
    return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 const char* AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment * env)&lt;br /&gt;
 {&lt;br /&gt;
    avs_add_function(env, &amp;quot;InvertNeg&amp;quot;, &amp;quot;c&amp;quot;, Create_InvertNeg, 0);&lt;br /&gt;
    return &amp;quot;InvertNeg sample c-plugin&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Link to avisynth.lib and when using the MSVC++ compiler add the definition file. Compile this file into a DLL named InvertNeg.dll. See [[Filter_SDK/Compiling_instructions|compiling instructions]]. Now create an Avisynth script which looks something like this:&lt;br /&gt;
&lt;br /&gt;
 LoadCPlugin(&amp;quot;d:\path\InvertNeg.dll&amp;quot;)&lt;br /&gt;
 clip = BlankClip().ConvertToYV12()&lt;br /&gt;
 return clip.InvertNeg()&lt;br /&gt;
&lt;br /&gt;
=== Line by line breakdown ===&lt;br /&gt;
&lt;br /&gt;
Here's a line-by-line breakdown of InvertNeg.c:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth_c.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This header declares all the classes and miscellaneous constants that you might need when writing a plugin. All external plugins should #include it.&lt;br /&gt;
&lt;br /&gt;
External plugins do not link with avisynth.dll, so they can't directly access functions that are defined in the main Avisynth source code. Therefore, every important function in avisynth_c.h is either defined inline or (???).&lt;br /&gt;
&lt;br /&gt;
 AVS_VideoFrame* AVSC_CC InvertNeg_get_frame(AVS_FilterInfo* fi, int n)&lt;br /&gt;
&lt;br /&gt;
This function is the main callback functions for our filter. When called it should return frame n. It returns this frame as a pointer to AVS_VideoFrame.&lt;br /&gt;
&lt;br /&gt;
AVSC_CC stands for Avisynth calling convention. Right now it is stdcall (it used to be cdecl when the C interface was exposes through seperate plugin). By using AVSC_CC you should be able to maintain source code compatibility when the calling convention changes. &lt;br /&gt;
&lt;br /&gt;
    AVS_VideoFrame* src;&lt;br /&gt;
    AVS_VideoFrame* dst;&lt;br /&gt;
    int row_size, height, src_pitch, dst_pitch;&lt;br /&gt;
    const BYTE* srcp;&lt;br /&gt;
    BYTE* dstp;&lt;br /&gt;
    int x, y, p;&lt;br /&gt;
&lt;br /&gt;
Declaring all of the variables we will need '''must be done up front''' (for the C++ plugin this is not necessary). Doing it in between the code will get you strange compile errors.&lt;br /&gt;
&lt;br /&gt;
    int planes[] = {AVS_PLANAR_Y, AVS_PLANAR_V, AVS_PLANAR_U};&lt;br /&gt;
&lt;br /&gt;
The plugin requires planar YUV data, so we need to process the planes. Note the constants (such as AVS_PLANAR_Y) are the same as the ones in the C++ inteface, except for the 'AVS_' in front of it.&lt;br /&gt;
&lt;br /&gt;
    src = avs_get_frame(fi-&amp;gt;child, n);&lt;br /&gt;
&lt;br /&gt;
&amp;quot;child&amp;quot; is a member of AVS_FilterInfo, of type AVS_Clip. It generally contains the clip that was passed into the filter. For our filter to produce frame n we need the corresponding frame of the input clip. If you need a different frame from the input, all you have to do is pass a different frame number get_frame.&lt;br /&gt;
&lt;br /&gt;
Note the functions (such as avs_get_frame) are similar as the ones in the C++ inteface, except for the 'avs_' in front of it.&lt;br /&gt;
&lt;br /&gt;
get_frame calls are usually intercepted by Avisynth's internal caching code, so the frame request may never actually reach the child filter (meaning ???). &lt;br /&gt;
&lt;br /&gt;
    dst = avs_new_video_frame(fi-&amp;gt;env, &amp;amp;fi-&amp;gt;vi);&lt;br /&gt;
&lt;br /&gt;
The avs_new_video_frame function allocates space for a video frame of the supplied size. (In this case it will hold our filter's output.) The frame buffer is uninitialized raw memory.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;env&amp;quot; is a member of AVS_FilterInfo which is a pointer to AVS_ScriptEnvironment. One instance of AVS_ScriptEnvironment is created for each AVS script.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;vi&amp;quot; is another member of AVS_FilterInfo. It is a structure of type AVS_VideoInfo, which contains information about the clip (like frame size, frame rate, pixel format, audio sample rate, etc.). avs_new_video_frame uses the information in this structure to return a frame buffer of the appropriate size.&lt;br /&gt;
&lt;br /&gt;
Frame buffers are reused once all references to them go away. So usually memory won't need to be allocated from the heap. &lt;br /&gt;
&lt;br /&gt;
    for (p=0; p&amp;lt;3; p++) {&lt;br /&gt;
&lt;br /&gt;
Loop over all planes.&lt;br /&gt;
&lt;br /&gt;
       srcp = avs_get_read_ptr_p(src, planes[p]);&lt;br /&gt;
       dstp = avs_get_write_ptr_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
All frame buffers are readable, but not all are writable.&lt;br /&gt;
&lt;br /&gt;
The rule about writability is this: A buffer is writable if and only if its reference count is one. In other words, you can only write to a buffer if no one else might be reading it. This rule guarantees that as long as you hold on to a video frame and don't write to it yourself, that frame will remain unchanged. Any buffer you get from avs_new_video_frame is guaranteed to be writable. However, frames you get from other clips via get_frame may not be writable, in which case avs_get_write_ptr will return a null pointer.&lt;br /&gt;
&lt;br /&gt;
There is an is_writable method which you can call to find out if a buffer is writable or not, and there's a avs_make_writable method (described below) to ensure that it is. &lt;br /&gt;
&lt;br /&gt;
       src_pitch = avs_get_pitch_p(src, planes[p]);&lt;br /&gt;
       dst_pitch = avs_get_pitch_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pitch&amp;quot; of a frame buffer is the offset (in bytes) from the beginning of one scan line to the beginning of the next. The source and destination buffers won't necessarily have the same pitch.&lt;br /&gt;
&lt;br /&gt;
Buffers created by avs_new_video_frame are always double word (16-byte) aligned and always have a pitch that is a multiple of 16. &lt;br /&gt;
&lt;br /&gt;
       row_size = avs_get_row_size_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
The row size is the length of each row in bytes (not pixels). It's usually equal to the pitch or slightly less, but it may be significantly less if the frame in question has been through Crop.&lt;br /&gt;
&lt;br /&gt;
Since our source and destination frames have the same width and pixel format, they will always have the same row size. Thus I only need one row_size variable, and I could just as well have used dest instead of src. &lt;br /&gt;
&lt;br /&gt;
       height = avs_get_height_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
The height is the height in pixels. Again, for our filter this is the same for the source and the destination.&lt;br /&gt;
&lt;br /&gt;
       for (y = 0; y &amp;lt; height; y++) {&lt;br /&gt;
          for (x = 0; x &amp;lt; row_size; x++) {&lt;br /&gt;
             dstp[x] = srcp[x] ^ 255;&lt;br /&gt;
          }&lt;br /&gt;
          srcp += src_pitch;&lt;br /&gt;
          dstp += dst_pitch;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
This is the code that does the actual work. The &amp;quot;srcp += src_pitch; dstp += dest_pitch;&amp;quot; idiom is a useful way of dealing with potentially differing pitches without too much grief.&lt;br /&gt;
&lt;br /&gt;
    avs_release_video_frame(src);&lt;br /&gt;
&lt;br /&gt;
Once we are done with a video frame it needs to be released. Releasing a video frame does not actually delete it but decrements the reference count.&lt;br /&gt;
&lt;br /&gt;
    return dst;&lt;br /&gt;
&lt;br /&gt;
GetFrame returns the newly-created frame.&lt;br /&gt;
 &lt;br /&gt;
 AVS_Value AVSC_CC Create_InvertNeg(AVS_ScriptEnvironment* env, AVS_Value args, void* user_data)&lt;br /&gt;
&lt;br /&gt;
In order to use our new filter, we need a scripting-language function which creates an instance of it. This is that function.&lt;br /&gt;
&lt;br /&gt;
Script functions written in C take three arguments. env contains the same ScriptEnvironment pointer that will later be passed to GetFrame. args contais all the arguments passed to the function by the script. user_data contains the void pointer which you passed to AddFunction (see below). Usually you won't need this.&lt;br /&gt;
&lt;br /&gt;
AVS_Value is a variant type which can hold any one of the following: a boolean value (true/false); an integer; a floating-point number; a string; a video clip; an array of AVS_Values; or nothing (&amp;quot;undefined&amp;quot;). You can test which one it is with the methods avs_is_bool, avs_is_int, avs_is_float, avs_is_string, avs_is_clip, avs_is_array, and avs_defined (which returns true if the AVS_Value is not &amp;quot;undefined&amp;quot;). You can get the value with avs_as_bool, avs_as_int, etc. for arrays, you can use the avs_array_size method to get the number of elements, and avs_array_elt get the elements themselves. For convenience, avs_is_float and avs_as_float will work with integers also. But boolean values are not treated as numeric (unlike C).&lt;br /&gt;
&lt;br /&gt;
The name &amp;quot;Create_InvertNeg&amp;quot; is arbitrary. This function will actually be known as &amp;quot;InvertNeg&amp;quot; in scripts, because that's the name we pass to avs_add_function below. &lt;br /&gt;
&lt;br /&gt;
    AVS_Value v;&lt;br /&gt;
&lt;br /&gt;
v will serve as the return value.&lt;br /&gt;
&lt;br /&gt;
    AVS_FilterInfo* fi;&lt;br /&gt;
    AVS_Clip* new_clip = avs_new_c_filter(env, &amp;amp;fi, avs_array_elt(args, 0), 1);&lt;br /&gt;
&lt;br /&gt;
&amp;quot;avs_new_c_filter&amp;quot; creates a new filter. AVS_Clip is an abstract type representing a filter. In this case it will represent our new filter. &amp;quot;env&amp;quot; is the current script environment. &amp;quot;fi&amp;quot; will be set to point to our filter AVS_FilterInfo which is the concrete representation of a C filter. We will modify this structure later. &amp;quot;avs_array_elt(args, 0)&amp;quot; is accessing the first value of args, which is generally the parent clip. The last parameter, is a boolean value &amp;quot;store_child&amp;quot;. It should generally always be set to true.&lt;br /&gt;
&lt;br /&gt;
    if (!avs_is_planar(&amp;amp;fi-&amp;gt;vi) || !avs_is_yuv(&amp;amp;fi-&amp;gt;vi)) {&lt;br /&gt;
       return avs_new_value_error(&amp;quot;InvertNeg: planar YUV data only!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Our filter will not work unless the video is stored as YUV planar. If this is not the case than an error is returned.&lt;br /&gt;
&lt;br /&gt;
    fi-&amp;gt;get_frame = InvertNeg_get_frame;&lt;br /&gt;
&lt;br /&gt;
Here we are setting the get_frame callback. There are other callbacks (like get_audio, set_cache_hints and get_parity), but since &amp;quot;store_child&amp;quot; was set to true we do not have to worry about implementing all of them. Just the ones we need.&lt;br /&gt;
&lt;br /&gt;
    v = avs_new_value_clip(new_clip);&lt;br /&gt;
&lt;br /&gt;
The return value is then set to the new clip returned by avs_new_c_filter. avs_new_value_clip stores the clip in an AVS_Value which will be returned by our Create_InvertNeg. It also creates a new reference to the clip.&lt;br /&gt;
 &lt;br /&gt;
    avs_release_clip(new_clip);&lt;br /&gt;
&lt;br /&gt;
We must now release the clip returned by avs_new_c_filter. In the case of an error the clip is no longer needed. Otherwise a new reference is created to the clip with avs_new_value_clip so we must release the original reference.&lt;br /&gt;
&lt;br /&gt;
    return v;&lt;br /&gt;
&lt;br /&gt;
Finally we return our new clip. We could also have returned an error instead (instead of returning an error right away).&lt;br /&gt;
 &lt;br /&gt;
 const char* AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment * env)&lt;br /&gt;
&lt;br /&gt;
This is the only function which gets exported from the DLL. It is called by the script function LoadCPlugin the first time this plugin in loaded in a particular script. If several scripts are open at once and more than one of them loads this plugin, avisynth_c_plugin_init may be called more than once with different ScriptEnvironments. Therefore:&lt;br /&gt;
&lt;br /&gt;
* You should not save the env parameter in a global variable.&lt;br /&gt;
* If you need to initialize any static data, you should do it in DLLMain, not in this function. &lt;br /&gt;
&lt;br /&gt;
The main purpose of the avisynth_c_plugin_init function is to call avs_add_function.&lt;br /&gt;
&lt;br /&gt;
    avs_add_function(env, &amp;quot;InvertNeg&amp;quot;, &amp;quot;c&amp;quot;, Create_InvertNeg, 0);&lt;br /&gt;
&lt;br /&gt;
As promised, we now call add_function to let Avisynth know of the existence of our filter. This function takes four arguments: the name of the new script function; the parameter-type string; the C function implementing the script function; and the user_data cookie.&lt;br /&gt;
&lt;br /&gt;
The parameter type string specifies the paramaters for the function. The return value is untyped. It consists of a series of letters specinging the parameter types with 'c' for clip, 'i' for integer, 's' for string, 'b' for boolean, and 'f' for float. In addition:&lt;br /&gt;
&lt;br /&gt;
* Any type can be followed with a '*' or '+' to indicate &amp;quot;zero or more&amp;quot; or &amp;quot;one or more&amp;quot; respectively. In this case all the matching arguments will be gathered into a sub-array. For example, if your type string is &amp;quot;is+f&amp;quot;, then the integer argument will be args[0], the string arguments will be args[1][0], args[1][1], etc. (and there will be avs_array_size(args[1]) of them), and the float argument will be args[2].&lt;br /&gt;
* '.' matches a single argument of any type. To match multiple arguments of any type, use &amp;quot;.*&amp;quot; or &amp;quot;.+&amp;quot;.&lt;br /&gt;
* Named arguments can be specified in [brackets] before the type. Named arguments are also optional arguments; if the user omits them, they will be of the undefined type instead of the type you specify. &lt;br /&gt;
&lt;br /&gt;
    return &amp;quot;InvertNeg sample c-plugin&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The return value of avisynth_c_plugin_init is a string which can contain any message you like, such as a notice identifying the version and author of the plugin. This string becomes the return value of LoadCPlugin, and will almost always be ignored. You can also just return 0 if you prefer.&lt;br /&gt;
&lt;br /&gt;
== As an in-place filter ==&lt;br /&gt;
&lt;br /&gt;
The InvertNeg filter could easily do its work in a single buffer, rather than copying from one buffer to another. Here's a new implementation of get_frame that does this:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth_c.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 AVS_VideoFrame* AVSC_CC InvertNeg_get_frame(AVS_FilterInfo* fi, int n)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_VideoFrame* src;&lt;br /&gt;
    int row_size, height, src_pitch;&lt;br /&gt;
    BYTE* srcp;&lt;br /&gt;
    int x, y, p;&lt;br /&gt;
 &lt;br /&gt;
    int planes[] = {AVS_PLANAR_Y, AVS_PLANAR_V, AVS_PLANAR_U};&lt;br /&gt;
 &lt;br /&gt;
    src = avs_get_frame(fi-&amp;gt;child, n);&lt;br /&gt;
    avs_make_writable(fi-&amp;gt;env, &amp;amp;src);&lt;br /&gt;
 &lt;br /&gt;
    for (p=0; p&amp;lt;3; p++) {&lt;br /&gt;
       srcp = avs_get_write_ptr_p(src, planes[p]);&lt;br /&gt;
       src_pitch = avs_get_pitch_p(src, planes[p]);&lt;br /&gt;
       row_size = avs_get_row_size_p(src, planes[p]);&lt;br /&gt;
       height = avs_get_height_p(src, planes[p]);&lt;br /&gt;
 &lt;br /&gt;
       for (y = 0; y &amp;lt; height; y++) {&lt;br /&gt;
          for (x = 0; x &amp;lt; row_size; x++) {&lt;br /&gt;
             srcp[x] = srcp[x] ^ 255; // or srcp[x] =^ 255;&lt;br /&gt;
          }&lt;br /&gt;
          srcp += src_pitch;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return src;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 AVS_Value AVSC_CC Create_InvertNeg(AVS_ScriptEnvironment* env, AVS_Value args, void* user_data)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_Value v;&lt;br /&gt;
    AVS_FilterInfo* fi;&lt;br /&gt;
    AVS_Clip* new_clip = avs_new_c_filter(env, &amp;amp;fi, avs_array_elt(args, 0), 1);&lt;br /&gt;
 &lt;br /&gt;
    if (!avs_is_planar(&amp;amp;fi-&amp;gt;vi) || !avs_is_yuv(&amp;amp;fi-&amp;gt;vi)) {&lt;br /&gt;
       v = avs_new_value_error(&amp;quot;InvertNeg: planar YUV data only!&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
       fi-&amp;gt;get_frame = InvertNeg_get_frame;&lt;br /&gt;
       v = avs_new_value_clip(new_clip);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    avs_release_clip(new_clip);&lt;br /&gt;
    return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 const char* AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment * env)&lt;br /&gt;
 {&lt;br /&gt;
    avs_add_function(env, &amp;quot;InvertNeg&amp;quot;, &amp;quot;c&amp;quot;, Create_InvertNeg, 0);&lt;br /&gt;
    return &amp;quot;InvertNeg sample c-plugin&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The key difference between this version of the function and the original version is the presence of the avs_make_writable callback. This is necessary because this time &amp;quot;we don't know where that source frame has been.&amp;quot; Someone else in the filter chain may be holding a reference to it, in which case we won't be allowed to write to it.&lt;br /&gt;
&lt;br /&gt;
== Old versions ==&lt;br /&gt;
&lt;br /&gt;
[http://www.kevina.org/avisynth_c/example.html Kevin's AviSynth C API Docs] is the documentation written for the deprecated avisynth_c.dll by Kevin Atkinson, in its original form.&lt;br /&gt;
&lt;br /&gt;
[[Category:C API]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Filter_SDK/CInvertNeg</id>
		<title>Filter SDK/CInvertNeg</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Filter_SDK/CInvertNeg"/>
				<updated>2017-01-13T22:30:28Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Line by line breakdown */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'll start off with a complete, working Avisynth C plugin. It's called &amp;quot;InvertNeg&amp;quot;, and it produces a photo-negative of the input clip.&lt;br /&gt;
&lt;br /&gt;
Here's InvertNeg.c:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth_c.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 AVS_VideoFrame* AVSC_CC InvertNeg_get_frame(AVS_FilterInfo* fi, int n)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_VideoFrame* src;&lt;br /&gt;
    AVS_VideoFrame* dst;&lt;br /&gt;
    int row_size, height, src_pitch, dst_pitch;&lt;br /&gt;
    const BYTE* srcp;&lt;br /&gt;
    BYTE* dstp;&lt;br /&gt;
    int x, y, p;&lt;br /&gt;
 &lt;br /&gt;
    int planes[] = {AVS_PLANAR_Y, AVS_PLANAR_V, AVS_PLANAR_U};&lt;br /&gt;
 &lt;br /&gt;
    src = avs_get_frame(fi-&amp;gt;child, n);&lt;br /&gt;
    dst = avs_new_video_frame(fi-&amp;gt;env, &amp;amp;fi-&amp;gt;vi);&lt;br /&gt;
 &lt;br /&gt;
    for (p=0; p&amp;lt;3; p++) {&lt;br /&gt;
       srcp = avs_get_read_ptr_p(src, planes[p]);&lt;br /&gt;
       dstp = avs_get_write_ptr_p(dst, planes[p]);&lt;br /&gt;
       src_pitch = avs_get_pitch_p(src, planes[p]);&lt;br /&gt;
       dst_pitch = avs_get_pitch_p(dst, planes[p]);&lt;br /&gt;
       row_size = avs_get_row_size_p(dst, planes[p]);&lt;br /&gt;
       height = avs_get_height_p(dst, planes[p]);&lt;br /&gt;
 &lt;br /&gt;
       for (y = 0; y &amp;lt; height; y++) {&lt;br /&gt;
          for (x = 0; x &amp;lt; row_size; x++) {&lt;br /&gt;
             dstp[x] = srcp[x] ^ 255;&lt;br /&gt;
          }&lt;br /&gt;
          srcp += src_pitch;&lt;br /&gt;
          dstp += dst_pitch;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    avs_release_video_frame(src);&lt;br /&gt;
    return dst;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 AVS_Value AVSC_CC Create_InvertNeg(AVS_ScriptEnvironment* env, AVS_Value args, void* user_data)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_Value v;&lt;br /&gt;
    AVS_FilterInfo* fi;&lt;br /&gt;
    AVS_Clip* new_clip = avs_new_c_filter(env, &amp;amp;fi, avs_array_elt(args, 0), 1);&lt;br /&gt;
 &lt;br /&gt;
    if (!avs_is_planar(&amp;amp;fi-&amp;gt;vi) || !avs_is_yuv(&amp;amp;fi-&amp;gt;vi)) {&lt;br /&gt;
       return avs_new_value_error(&amp;quot;InvertNeg: planar YUV data only!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    fi-&amp;gt;get_frame = InvertNeg_get_frame;&lt;br /&gt;
 &lt;br /&gt;
    v = avs_new_value_clip(new_clip);&lt;br /&gt;
 &lt;br /&gt;
    avs_release_clip(new_clip);&lt;br /&gt;
    return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 const char* AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment * env)&lt;br /&gt;
 {&lt;br /&gt;
    avs_add_function(env, &amp;quot;InvertNeg&amp;quot;, &amp;quot;c&amp;quot;, Create_InvertNeg, 0);&lt;br /&gt;
    return &amp;quot;InvertNeg sample c-plugin&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Link to avisynth.lib and when using the MSVC++ compiler add the definition file. Compile this file into a DLL named InvertNeg.dll. See [[Filter_SDK/Compiling_instructions|compiling instructions]]. Now create an Avisynth script which looks something like this:&lt;br /&gt;
&lt;br /&gt;
 LoadCPlugin(&amp;quot;d:\path\InvertNeg.dll&amp;quot;)&lt;br /&gt;
 clip = BlankClip().ConvertToYV12()&lt;br /&gt;
 return clip.InvertNeg()&lt;br /&gt;
&lt;br /&gt;
=== Line by line breakdown ===&lt;br /&gt;
&lt;br /&gt;
Here's a line-by-line breakdown of InvertNeg.c:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth_c.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This header declares all the classes and miscellaneous constants that you might need when writing a plugin. All external plugins should #include it.&lt;br /&gt;
&lt;br /&gt;
External plugins do not link with avisynth.dll, so they can't directly access functions that are defined in the main Avisynth source code. Therefore, every important function in avisynth_c.h is either defined inline or (???).&lt;br /&gt;
&lt;br /&gt;
 AVS_VideoFrame* AVSC_CC InvertNeg_get_frame(AVS_FilterInfo* fi, int n)&lt;br /&gt;
&lt;br /&gt;
This function is the main callback functions for our filter. When called it should return frame n. It returns this frame as a pointer to AVS_VideoFrame.&lt;br /&gt;
&lt;br /&gt;
AVSC_CC stands for Avisynth calling convention. Right now it is stdcall (it used to be cdecl when the C interface was exposes through seperate plugin). By using AVSC_CC you should be able to maintain source code compatibility when the calling convention changes. &lt;br /&gt;
&lt;br /&gt;
    AVS_VideoFrame* src;&lt;br /&gt;
    AVS_VideoFrame* dst;&lt;br /&gt;
    int row_size, height, src_pitch, dst_pitch;&lt;br /&gt;
    const BYTE* srcp;&lt;br /&gt;
    BYTE* dstp;&lt;br /&gt;
    int x, y, p;&lt;br /&gt;
&lt;br /&gt;
Declaring all of the variables we will need '''must be done up front''' (for the C++ plugin this is not necessary). Doing it in between the code will get you strange compile errors.&lt;br /&gt;
&lt;br /&gt;
    int planes[] = {AVS_PLANAR_Y, AVS_PLANAR_V, AVS_PLANAR_U};&lt;br /&gt;
&lt;br /&gt;
The plugin requires planar YUV data, so we need to process the planes. Note the constants (such as AVS_PLANAR_Y) are the same as the ones in the C++ inteface, except for the 'AVS_' in front of it.&lt;br /&gt;
&lt;br /&gt;
    src = avs_get_frame(fi-&amp;gt;child, n);&lt;br /&gt;
&lt;br /&gt;
&amp;quot;child&amp;quot; is a member of AVS_FilterInfo, of type AVS_Clip. It generally contains the clip that was passed into the filter. For our filter to produce frame n we need the corresponding frame of the input clip. If you need a different frame from the input, all you have to do is pass a different frame number get_frame.&lt;br /&gt;
&lt;br /&gt;
Note the functions (such as avs_get_frame) are similar as the ones in the C++ inteface, except for the 'avs_' in front of it.&lt;br /&gt;
&lt;br /&gt;
get_frame calls are usually intercepted by Avisynth's internal caching code, so the frame request may never actually reach the child filter (meaning ???). &lt;br /&gt;
&lt;br /&gt;
    dst = avs_new_video_frame(fi-&amp;gt;env, &amp;amp;fi-&amp;gt;vi);&lt;br /&gt;
&lt;br /&gt;
The avs_new_video_frame function allocates space for a video frame of the supplied size. (In this case it will hold our filter's output.) The frame buffer is uninitialized raw memory.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;env&amp;quot; is a member of AVS_FilterInfo which is a pointer to AVS_ScriptEnvironment. One instance of AVS_ScriptEnvironment is created for each AVS script.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;vi&amp;quot; is another member of AVS_FilterInfo. It is a structure of type AVS_VideoInfo, which contains information about the clip (like frame size, frame rate, pixel format, audio sample rate, etc.). avs_new_video_frame uses the information in this structure to return a frame buffer of the appropriate size.&lt;br /&gt;
&lt;br /&gt;
Frame buffers are reused once all references to them go away. So usually memory won't need to be allocated from the heap. &lt;br /&gt;
&lt;br /&gt;
    for (p=0; p&amp;lt;3; p++) {&lt;br /&gt;
&lt;br /&gt;
Loop over all planes.&lt;br /&gt;
&lt;br /&gt;
       srcp = avs_get_read_ptr_p(src, planes[p]);&lt;br /&gt;
       dstp = avs_get_write_ptr_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
All frame buffers are readable, but not all are writable.&lt;br /&gt;
&lt;br /&gt;
The rule about writability is this: A buffer is writable if and only if its reference count is one. In other words, you can only write to a buffer if no one else might be reading it. This rule guarantees that as long as you hold on to a video frame and don't write to it yourself, that frame will remain unchanged. Any buffer you get from avs_new_video_frame is guaranteed to be writable. However, frames you get from other clips via get_frame may not be writable, in which case avs_get_write_ptr will return a null pointer.&lt;br /&gt;
&lt;br /&gt;
There is an is_writable method which you can call to find out if a buffer is writable or not, and there's a avs_make_writable method (described below) to ensure that it is. &lt;br /&gt;
&lt;br /&gt;
       src_pitch = avs_get_pitch_p(src, planes[p]);&lt;br /&gt;
       dst_pitch = avs_get_pitch_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pitch&amp;quot; of a frame buffer is the offset (in bytes) from the beginning of one scan line to the beginning of the next. The source and destination buffers won't necessarily have the same pitch.&lt;br /&gt;
&lt;br /&gt;
Buffers created by avs_new_video_frame are always double word (16-byte) aligned and always have a pitch that is a multiple of 16. &lt;br /&gt;
&lt;br /&gt;
       row_size = avs_get_row_size_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
The row size is the length of each row in bytes (not pixels). It's usually equal to the pitch or slightly less, but it may be significantly less if the frame in question has been through Crop.&lt;br /&gt;
&lt;br /&gt;
Since our source and destination frames have the same width and pixel format, they will always have the same row size. Thus I only need one row_size variable, and I could just as well have used dest instead of src. &lt;br /&gt;
&lt;br /&gt;
       height = avs_get_height_p(dst, planes[p]);&lt;br /&gt;
&lt;br /&gt;
The height is the height in pixels. Again, for our filter this is the same for the source and the destination.&lt;br /&gt;
&lt;br /&gt;
       for (y = 0; y &amp;lt; height; y++) {&lt;br /&gt;
          for (x = 0; x &amp;lt; row_size; x++) {&lt;br /&gt;
             dstp[x] = srcp[x] ^ 255;&lt;br /&gt;
          }&lt;br /&gt;
          srcp += src_pitch;&lt;br /&gt;
          dstp += dst_pitch;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
This is the code that does the actual work. The &amp;quot;srcp += src_pitch; dstp += dest_pitch;&amp;quot; idiom is a useful way of dealing with potentially differing pitches without too much grief.&lt;br /&gt;
&lt;br /&gt;
    avs_release_video_frame(src);&lt;br /&gt;
&lt;br /&gt;
Once we are done with a video frame it needs to be released. Releasing a video frame does not actually delete it but decrements the reference count.&lt;br /&gt;
&lt;br /&gt;
    return dst;&lt;br /&gt;
&lt;br /&gt;
GetFrame returns the newly-created frame.&lt;br /&gt;
 &lt;br /&gt;
 AVS_Value AVSC_CC Create_InvertNeg(AVS_ScriptEnvironment* env, AVS_Value args, void* user_data)&lt;br /&gt;
&lt;br /&gt;
In order to use our new filter, we need a scripting-language function which creates an instance of it. This is that function.&lt;br /&gt;
&lt;br /&gt;
Script functions written in C take three arguments. env contains the same ScriptEnvironment pointer that will later be passed to GetFrame. args contais all the arguments passed to the function by the script. user_data contains the void pointer which you passed to AddFunction (see below). Usually you won't need this.&lt;br /&gt;
&lt;br /&gt;
AVS_Value is a variant type which can hold any one of the following: a boolean value (true/false); an integer; a floating-point number; a string; a video clip; an array of AVS_Values; or nothing (&amp;quot;undefined&amp;quot;). You can test which one it is with the methods avs_is_bool, avs_is_int, avs_is_float, avs_is_string, avs_is_clip, avs_is_array, and avs_defined (which returns true if the AVS_Value is not &amp;quot;undefined&amp;quot;). You can get the value with avs_as_bool, avs_as_int, etc. for arrays, you can use the avs_array_size method to get the number of elements, and avs_array_elt get the elements themselves. For convenience, avs_is_float and avs_as_float will work with integers also. But boolean values are not treated as numeric (unlike C).&lt;br /&gt;
&lt;br /&gt;
The name &amp;quot;Create_InvertNeg&amp;quot; is arbitrary. This function will actually be known as &amp;quot;InvertNeg&amp;quot; in scripts, because that's the name we pass to avs_add_function below. &lt;br /&gt;
&lt;br /&gt;
    AVS_Value v;&lt;br /&gt;
&lt;br /&gt;
v will serve as the return value.&lt;br /&gt;
&lt;br /&gt;
    AVS_FilterInfo* fi;&lt;br /&gt;
    AVS_Clip* new_clip = avs_new_c_filter(env, &amp;amp;fi, avs_array_elt(args, 0), 1);&lt;br /&gt;
&lt;br /&gt;
&amp;quot;avs_new_c_filter&amp;quot; creates a new filter. AVS_Clip is an abstract type representing a filter. In this case it will represent our new filter. &amp;quot;env&amp;quot; is the current script environment. &amp;quot;fi&amp;quot; will be set to point to our filter AVS_FilterInfo which is the concrete representation of a C filter. We will modify this structure later. &amp;quot;avs_array_elt(args, 0)&amp;quot; is accessing the first value of args, which is generally the parent clip. The last parameter, is a boolean value &amp;quot;store_child&amp;quot;. It should generally always be set to true.&lt;br /&gt;
&lt;br /&gt;
    if (!avs_is_planar(&amp;amp;fi-&amp;gt;vi) || !avs_is_yuv(&amp;amp;fi-&amp;gt;vi)) {&lt;br /&gt;
       return avs_new_value_error(&amp;quot;InvertNeg: planar YUV data only!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Our filter will not work unless the video is stored as YUV planar. If this is not the case than an error is returned.&lt;br /&gt;
&lt;br /&gt;
    fi-&amp;gt;get_frame = InvertNeg_get_frame;&lt;br /&gt;
&lt;br /&gt;
Here we are setting the get_frame callback. There are other callbacks (like get_audio, set_cache_hints and get_parity), but since &amp;quot;store_child&amp;quot; was set to true we do not have to worry about implementing all of them. Just the ones we need.&lt;br /&gt;
&lt;br /&gt;
    v = avs_new_value_clip(new_clip);&lt;br /&gt;
&lt;br /&gt;
The return value is then set to the new clip returned by avs_new_c_filter. avs_new_value_clip stores the clip in an AVS_Value which will be returned by our Create_InvertNeg. It also creates a new reference to the clip.&lt;br /&gt;
 &lt;br /&gt;
    avs_release_clip(new_clip);&lt;br /&gt;
&lt;br /&gt;
We must now release the clip returned by avs_new_c_filter. In the case of an error the clip is no longer needed. Otherwise a new reference is created to the clip with avs_new_value_clip so we must release the original reference.&lt;br /&gt;
&lt;br /&gt;
    return v;&lt;br /&gt;
&lt;br /&gt;
Finally we return. &amp;quot;v&amp;quot; is either an error or the new clip.&lt;br /&gt;
 &lt;br /&gt;
 const char* AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment * env)&lt;br /&gt;
&lt;br /&gt;
This is the only function which gets exported from the DLL. It is called by the script function LoadCPlugin the first time this plugin in loaded in a particular script. If several scripts are open at once and more than one of them loads this plugin, avisynth_c_plugin_init may be called more than once with different ScriptEnvironments. Therefore:&lt;br /&gt;
&lt;br /&gt;
* You should not save the env parameter in a global variable.&lt;br /&gt;
* If you need to initialize any static data, you should do it in DLLMain, not in this function. &lt;br /&gt;
&lt;br /&gt;
The main purpose of the avisynth_c_plugin_init function is to call avs_add_function.&lt;br /&gt;
&lt;br /&gt;
    avs_add_function(env, &amp;quot;InvertNeg&amp;quot;, &amp;quot;c&amp;quot;, Create_InvertNeg, 0);&lt;br /&gt;
&lt;br /&gt;
As promised, we now call add_function to let Avisynth know of the existence of our filter. This function takes four arguments: the name of the new script function; the parameter-type string; the C function implementing the script function; and the user_data cookie.&lt;br /&gt;
&lt;br /&gt;
The parameter type string specifies the paramaters for the function. The return value is untyped. It consists of a series of letters specinging the parameter types with 'c' for clip, 'i' for integer, 's' for string, 'b' for boolean, and 'f' for float. In addition:&lt;br /&gt;
&lt;br /&gt;
* Any type can be followed with a '*' or '+' to indicate &amp;quot;zero or more&amp;quot; or &amp;quot;one or more&amp;quot; respectively. In this case all the matching arguments will be gathered into a sub-array. For example, if your type string is &amp;quot;is+f&amp;quot;, then the integer argument will be args[0], the string arguments will be args[1][0], args[1][1], etc. (and there will be avs_array_size(args[1]) of them), and the float argument will be args[2].&lt;br /&gt;
* '.' matches a single argument of any type. To match multiple arguments of any type, use &amp;quot;.*&amp;quot; or &amp;quot;.+&amp;quot;.&lt;br /&gt;
* Named arguments can be specified in [brackets] before the type. Named arguments are also optional arguments; if the user omits them, they will be of the undefined type instead of the type you specify. &lt;br /&gt;
&lt;br /&gt;
    return &amp;quot;InvertNeg sample c-plugin&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The return value of avisynth_c_plugin_init is a string which can contain any message you like, such as a notice identifying the version and author of the plugin. This string becomes the return value of LoadCPlugin, and will almost always be ignored. You can also just return 0 if you prefer.&lt;br /&gt;
&lt;br /&gt;
== As an in-place filter ==&lt;br /&gt;
&lt;br /&gt;
The InvertNeg filter could easily do its work in a single buffer, rather than copying from one buffer to another. Here's a new implementation of get_frame that does this:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth_c.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 AVS_VideoFrame* AVSC_CC InvertNeg_get_frame(AVS_FilterInfo* fi, int n)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_VideoFrame* src;&lt;br /&gt;
    int row_size, height, src_pitch;&lt;br /&gt;
    BYTE* srcp;&lt;br /&gt;
    int x, y, p;&lt;br /&gt;
 &lt;br /&gt;
    int planes[] = {AVS_PLANAR_Y, AVS_PLANAR_V, AVS_PLANAR_U};&lt;br /&gt;
 &lt;br /&gt;
    src = avs_get_frame(fi-&amp;gt;child, n);&lt;br /&gt;
    avs_make_writable(fi-&amp;gt;env, &amp;amp;src);&lt;br /&gt;
 &lt;br /&gt;
    for (p=0; p&amp;lt;3; p++) {&lt;br /&gt;
       srcp = avs_get_write_ptr_p(src, planes[p]);&lt;br /&gt;
       src_pitch = avs_get_pitch_p(src, planes[p]);&lt;br /&gt;
       row_size = avs_get_row_size_p(src, planes[p]);&lt;br /&gt;
       height = avs_get_height_p(src, planes[p]);&lt;br /&gt;
 &lt;br /&gt;
       for (y = 0; y &amp;lt; height; y++) {&lt;br /&gt;
          for (x = 0; x &amp;lt; row_size; x++) {&lt;br /&gt;
             srcp[x] = srcp[x] ^ 255; // or srcp[x] =^ 255;&lt;br /&gt;
          }&lt;br /&gt;
          srcp += src_pitch;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    return src;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 AVS_Value AVSC_CC Create_InvertNeg(AVS_ScriptEnvironment* env, AVS_Value args, void* user_data)&lt;br /&gt;
 {&lt;br /&gt;
    AVS_Value v;&lt;br /&gt;
    AVS_FilterInfo* fi;&lt;br /&gt;
    AVS_Clip* new_clip = avs_new_c_filter(env, &amp;amp;fi, avs_array_elt(args, 0), 1);&lt;br /&gt;
 &lt;br /&gt;
    if (!avs_is_planar(&amp;amp;fi-&amp;gt;vi) || !avs_is_yuv(&amp;amp;fi-&amp;gt;vi)) {&lt;br /&gt;
       v = avs_new_value_error(&amp;quot;InvertNeg: planar YUV data only!&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
       fi-&amp;gt;get_frame = InvertNeg_get_frame;&lt;br /&gt;
       v = avs_new_value_clip(new_clip);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    avs_release_clip(new_clip);&lt;br /&gt;
    return v;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 const char* AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment * env)&lt;br /&gt;
 {&lt;br /&gt;
    avs_add_function(env, &amp;quot;InvertNeg&amp;quot;, &amp;quot;c&amp;quot;, Create_InvertNeg, 0);&lt;br /&gt;
    return &amp;quot;InvertNeg sample c-plugin&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The key difference between this version of the function and the original version is the presence of the avs_make_writable callback. This is necessary because this time &amp;quot;we don't know where that source frame has been.&amp;quot; Someone else in the filter chain may be holding a reference to it, in which case we won't be allowed to write to it.&lt;br /&gt;
&lt;br /&gt;
== Old versions ==&lt;br /&gt;
&lt;br /&gt;
[http://www.kevina.org/avisynth_c/example.html Kevin's AviSynth C API Docs] is the documentation written for the deprecated avisynth_c.dll by Kevin Atkinson, in its original form.&lt;br /&gt;
&lt;br /&gt;
[[Category:C API]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>