This is the first version of AviSynth 2.5 that no longer contain the beta label. This comes after a lot of bughunting, with great feedback from many users.
A lot has been done to help transition from AviSynth 2.0. Be sure to update all plugins for AviSynth 2.5, when upgrading - a link to the avisynth.org filter collection can be found below. Much additional documentation can also be found om avisynth.org!
Download from the SourceForge project page.
Enjoy!
Official homepage:
http://www.avisynth.org/
AviSynth filter collection:
http://www.avisynth.org/~warpenterprises/
Changelist:
* Added light version of "ffvfw" to the installer. No "Cannot locate decompressor (YV12)" messages.
* Added ConditionalFilter, that returns one of two sources based on an expression.
* Added conditional filters:
o AverageLuma(), AverageChromaU(), AverageChromaV() functions. Returns a float from 0 to 255 based on the average pixel values of a plane.
o YDifferenceFromPrevious(), UDifferenceFromPrevious(), VDifferenceFromPrevious() and YDifferenceToNext(), UDifferenceToNext(), VDifferenceToNext().
o LumaDifference(clip,clip), ChromaUDifference(clip,clip), ChromaUDifference(clip,clip). They return a float value between 0 and 255 of the absolute difference.
o RGBDifference(clip1,clip2), RGBDifferenceFromPrevious(clip), RGBDifferenceToNext(clip).
o YPlaneMax(clip, float threshold), YPlaneMin(clip, float threshold), YPlaneMedian(clip), YPlaneMinMaxDifference(clip, float threshold). Threshold is a percentage, on how many percent of the pixels are allowed above or below minimum. The threshold is optional and defaults to 0. There are similar funtions for U and V.
* Added ScriptClip(clip, string function, [show=true/false]). This will return the clip returned by the function evaluated on every frame.
* Added FrameEvaluate(clip, script) - Similar to ScriptClip, except the output of the filter is ignored. This can be used for assigning variables, etc.
* YV12 <-> RGB conversions now use an intermediate YUY2 conversion to achieve better chroma upsamplig. As a result of this ConvertToRGB now also take an "interlaced=true/false" parameter.
* Added ImageWriter.
* Added "show" parameter to ConditionalFilter. This will overlay the results on the screen.
* Added dynamic compiled limiter.
* Implemented Belgabors patch for exporting plugin functions.
* Build date is now (semi)automatically updated in version.
* Added script functions: IsYV12(clip), IsPlanar(clip), IsInterleaved(clip)
* Loads of documentation updates.
Bugfixes:
* Fixed cache hints a bit up.
* Hopefully fixed jumping frame bugs in temporalsoften.
* Fixed crashed in temporalsoften on some setups.
* Fixed I420 / YV12 mismatch in Interleave.
* Fixed problems with implicit last giving problem with multiple filter instances of ScriptClip/ConditionalFilter.
* Many ImageReader/Writer fixes and updates.
* Fixed bug when height > 512 in RGB -> YV12 conversion.
* AviSynth now mimics VDubs way of handling dropped frames to avoid problems with buggy codecs.
* Trim now returns (x-1) frames as supposed.
* Fixed stereo setting in BlankClip
* Fixed float point exceptions being thrown in some applications, based on the CPU register settings. (Especially Delphi-based apps)
Optimizations:
* Added MMX RGB24->YUY2 conversion.
* Minor changes to existing RGB32 -> YUY2 MMX.
* Minor speedup to ISSE limiter.
* Added SoftWire dynamic compiled horizontal resizer. Approximately 10-15% faster - maybe even more on P4.
Changes:
* AviSynth will now attempt to deallocate framebuffers, if memory usage is 25% above default values or SetMemoryMax().
* Improved rounding precision in ISSE YV12 <-> YUY2 conversions.
* Improved chroma upsampling quality in planar YV12 -> YUY2.
* Better chroma alignment on interlaced YUY2 ->YV12.
* Slightly better precision in audio conversion.
* ApplyRange now checks if size and colorspace are the same.