How to use AviSynth
There are some really great programs that support AviSynth or utilize it behind the scenes.
• The most well-tested application is VirtualDubMod. It has a great built in editor that allows you to edit scripts and test the result with a keypress. The easiest way to create a script is to create a simple script, open it and enter Tools/Script Editor (or press Ctrl+E). Now you can edit your script and press "F5" to see the result in the main window.
• The best GUI solution is StaxRip. It provides complete integration with AviSynth and very powerful GUI's for creating scripts. It provides visual cropping, resizing and many filters. It is able to store the settings for later use so you can reuse the scripts. A definate must-try!
• Another powerful, GUI-like approach is AVSGenie. It generates scripts, and allows you to very easy adjust filter parameters visually, and see your result instantly. This is a program with very big potential - only problem for now that it isn't capable of reading scripts, so you can re-edit them.
Changes in AviSynth 2.5.8
* Added Czech doc translation.
* Added Polish doc translation by Slim, Krismen & Co.
* Added Japanese doc translation by niiyan.
* Added Installer standalone unpack option.
* Added Blankclip audio channels= and sample_type= arguments.
* ConvertAudio(cii) available to plugins via env->Invoke().
* Added font aspect, rotation and alpha to text routines.
* Added /* xxx */ block comments.
* Added [* [* xxx *] *] nestable block comments.
* SetMemoryMax(0) now just returns Memory Max value.
* Added planar YV12 color format to Compare().
* ColorKeyMask: Allow independant tolerance levels for each channel.
* Added Tweak Hue/Saturation range limiting.
* Added AudioLevels and Color2 modes to Histogram.
* Added WAVE_FORMAT_EXTENSIBLE audio output.
* Added ShowTime() script verb, like ShowSMPTE() but with milliseconds.
* Added BlackmanResize() and Spline64Resize().
* Modified DeleteFrame()/DuplicateFrame() to process multiple arguments.
* Added Min()/Max() script functions.
* Fixed Compare() graph pixel values exceeding YUV limits.
* Fixed AddBorders() args negative value clamping.
* Added workaround for HuffYUV, Xvid reading past end of input buffer.
* Fixed current_frame value in nested runtime script invocations (Gavino).
* Fixed Dissolve overlap arg range checking (gzarkadas).
* Fixed OpenDMLSource() multithreading race problem (QuaddiMM).
* Fixed unsaved variableName string in ConditionalReader.
* Fixed Parser FunctionTable::TypeMatch() missing compulsory arguments. Dissolve bug (Various).
* Fixed DirectShowSource() Flush task interlock race.
* Fixed DirectShowSource() QueryId() use CoTaskMemAlloc for returned value (Dean Pavlekovic).
* Fixed DirectShowSource() use GraphBuilder object for media control (Avery Lee).
* Fixed DirectShowSource() remove PulseEvent calls (Avery Lee).
* Fixed DirectShowSource() QueryAccept() modifying VideoInfo in running script (Haali).
* Fixed Blankclip clip= argument parsing.
* Fixed trashed GPF report, i.e reading 0x0 at 0x0 exception reporting.
* Fixed and refactored Overlay RGB<->YUV conversion routines.
* Fixed ImageReader incompletely inited videoInfo.
* Fixed Layer RGB32 100% alpha implementation, use level=257 (new default).
* Fixed avisynth_c.h avs_is_parity_known().
* Fixed C++ ConvertAudio::Saturate_int32() rounding.
* Fixed WriteFile(), Now remembers absolute path to file.
* Fixed Info() frame pitch, reports pitch of input frame.
* Fixed Invert() right edge memory overrun/corruption.
* Fixed Histogram() Classic mode pixel values exceeding YUV limits.
* Fixed Histogram() chroma plane initialization to 128.
* Fixed Conditional reader/writer illegally saving pointer to IScriptEnvironment.
* Fixed YV12 Blur()/Sharpen() right edge pixel corruption with non-writable input frames.
* Fixed MMX Blur()/Sharpen() code to full 8 bit precision.
* Fixed IsAudioFloat()/IsAudioInt() script functions.
* Fixed Cache memory oversubscription of SetMemoryMax() limit.
* DirectShowSource() convertfps=true add 0.5ms rounding to expected sample
- time. Improves performance with millisecond based DS spliters.
* DirectShowSource() FPS detection as last attempt try getting the duration of 1st frame.
* DirectShowSource() convertfps=true rely only on sample start time values.
* Cache: Trap returned NULL PVideoFrames, i.e. Don't crash, Winge about it!.
* Refactor horizontal planar resizer, no width restrictions or 2 byte overwrite.
* Provide a simple and fast text writing primatives, see info.h
* Make audio cache actually functional.
* Tweak speed improvements.
* Subtract speed improvements.
* Tuneup Overlay() ISSE Convert444ChromaToYV12 and also provide MMX version.
* PokeCache interface implemented.
* Cache and Memory management enhancements.
* Initial Default Memory Max value clamped to 512MB.
* Initial Default Memory Max value still quarter of Free
- memory. Minimum 16Mb. As per 2.5.7.
* Test VFB data buffer for NULL malloc's, if so then Throw!
* Installer Start menu shortcut names translated.
* Test for UTF-8 and Unicode BOM prefixes and issue a useful warning.
* Removed useless current_sample from runtime script environment.
* Added critical section to CAVIFileSynth class.
* Enable Installer multi language support.
* FunctionTable::Lookup() now considers named arguments in making its selection.
* ImageWriter supports negative values as -count for End argument.
* ChangeFPS() use floor instead of round in source frame number calculation.
* Update usage of correct (updated) Rec.709 coefficients.
* Add TCPDeliver.map and DirectShowSource.map to releases.
* Convert to 2.6 Dynamic Assembled rgb to yuy2 code.
* Avisynth_c.h boolean functions return 1 for true instead of arbitrary non-zero.
* Internal RGB2YUV() now copies Alpha top byte through.
* CoUninitialize() done immediately for S_FALSE CoInitialize() returns.
* Pfc, Softwire and SoundTouch updated and added as dependency projects.
* UPX updated to version 2.03 (2006-11-07).
* AVISource/WavSource map WAVEFORMATEXTENSIBLE back to equivalent WAVEFORMATEX.
* DirectShowSource() now recognises incorrect WAVE_FORMAT_EXTENSIBLE audio and accepts it.
* DirectShowSource() now attempts to use partial graph from failing RenderFile call.
* DirectShowSource() now detects and handles non 32 bit aligned picture lines from dud codecs.
* Crop(align=true) tests actual alignment in each GetFrame call.
* Relax YV12 resizer width restriction, now mod 2 was mod 4.
* .AVSI failures during env->CreateScriptEnvironment() are now available to the GetError() interface.
* SetCacheHints(CACHE_RANGE, n) will now surrender frames to satisfy SetMemoryMax().
* CoInitialize()/CoUninitialize() now done as part of ScriptEnvironment creation/deletion.
* Much code from 2.6 base included. Typically IsYV12() changed to IsPlanar().
• A complete list can be found at http://avisynth.org/mediawiki/Changelist
• Known problems and issues
* Rightclick on scripts to open them in VDubMod: When the script is messed
- up in the script editor, the correct error message does not appear.
* Possible other bugs which are reported at