Changes from previous versions
Version 1.1.0 (beta)
- Many new filters: FrameFilter, FrameFilterReader, Stack, StackToFit, Resize, ResizeToFit, ResizeToTarget, FilterChain, FilterVarChain, EditTrimRange, ShowY/U/V, ShowR/G/B (for Avisynth versions up to 2.5.5), MergeYUV, Merge[A]RGB (for Avisynth versions up to 2.5.5), SplitVideoChannels, MergeVideoChannels, etc.
- New, generic string search, replace and formatting functions. They are capable of single or multiple operations (for example replace all occurences in a string) through the coupling of recursion with AVSLib arrays.
- Many new array manipulation and/or property retrieval functions: ArraySort, ArrayReduce, ArrayContains, ArrayDistinct, ArrayIndexOf, etc.
- New clip-related functions and clip properties: ColorSpace, MakeRGBColor, SplitRGBColor, JointPixelType, JointFPS, etc.
- New debug facilities: DebugLog, related helper functions (SetDebugMode, SetDebugFile, etc.) and custom debug levels.
- Many new numeric functions: rounding, trigonometric, 2D curves, factorial, etc.
- A generic loader module, usable by any Avisynth library. It provides the basis for integrating script code and plugins in a single hierarchy of modules, loaded from a single interface.
The Resize filter along with its helper functions (GetDefaultResizer, SetDefaultResizer) is implemented as a C++ plugin. Note also that it is called internally by every AVSLib filter that needs to perform a clip resizing operation.
The RGB channels filters for Avisynth versions up to 2.5.5 (loaded transparently to the user by the library, based on Avisynth version number) are thin wrappers around the RGB Manipulate plugin developed by tsp which provides the core functionality of RGB channels manipulation. Many thanks to this fine plugin author.
- Complete re-structuring. Now AVSLib is organised in a multi-level package / module hierarchy. Thus, the way that the library is loaded in scripts has changed. Documentation has been updated as well.
- Animation filters are now based on ScriptClip and not Animate. This results in a huge increase in capacity (ie complexity of animation scripts that can be feeded in one pass to Avisynth). In addition they have been ported to C++ plugins (with the exception of PolygonAnim) to improve speed as well.
- Some functions from 1.0.x versions are now deprecated. For smooth transition they are provided as a separate package (deprecated) that has to be loaded explicitly. They will eventually be removed in some later version.
Patch for AVSLib version 1.0.0, addressing users of Avisynth 2.5.6 (or later).
- Removed special wrappers around string handling that workaround the limitations of Avisynth versions up to 2.5.5 regarding string support (Avisynth 2.5.6 and later offers a much better string support than the previous versions).
This is the first publicly released version of AVSLib.
Many thanks to:
- mf and stickboy for providing the basic idea and working examples for the derivation of the IsCallable function.
- stickboy (again) for the Undef function.
Many thanks also to the numerous members of the Avisynth and video editing community that contributed knowledge and documentation to start with, in a number of places of which the following have been utilised the most:
- the official Avisynth documentation,
- the online Avisynth wiki,
- the discussions at the Avisynth's usage and development forums,
- the information at doom9 website.