Changes in AviSynth 2.5.8 :
> Additions:
* 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.
> Bugfixes:
* 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 (AveryLee).
* Fixed DirectShowSource() remove PulseEvent calls (Avery Lee).
* Fixed DirectShowSource() QueryAccept() modifying VideoInfo in runningscript (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 toIScriptEnvironment.
* Fixed YV12 Blur()/Sharpen() right edge pixel corruption with non-writableinput frames.
* Fixed MMX Blur()/Sharpen() code to full 8 bit precision.
* Fixed IsAudioFloat()/IsAudioInt() script functions.
* Fixed Cache memory oversubscription of SetMemoryMax() limit.
> Optimizations:
* 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 durationof 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 byteoverwrite.
* 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.
> Changes:
* 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 itsselection.
* 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 arbitrarynon-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 equivalentWAVEFORMATEX.
* DirectShowSource() now recognises incorrect WAVE_FORMAT_EXTENSIBLE audioand accepts it.
* DirectShowSource() now attempts to use partial graph from failingRenderFile call.
* DirectShowSource() now detects and handles non 32 bit aligned picturelines 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 tothe GetError() interface.
* SetCacheHints(CACHE_RANGE, n) will now surrender frames to satisfy
* CoInitialize()/CoUninitialize() now done as part of ScriptEnvironmentcreation/deletion.
* Much code from 2.6 base included. Typically IsYV12() changed toIsPlanar().
> A complete list can be found at
http://avisynth.org/mediawiki/Changelist