- Additions:
- Added Polish doc translation (by Slim, Krismen & Co).
- Added Japanese translation (by niiyan).
- Installer standalone option for putting avisynth.dll, etc into install directory and NOT updating registry.
- Blankclip added 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) to just return current Memory Max value.
- Added planar YV12 color format to Compare() [Fizick].
- ColorKeyMask: Allow independant tolerance levels for each channel.
- Added Tweak Hue/Saturation range limiting.
- Added AudioLevels and Color2 modes to Histogram.
- Adding global OPT_UseWaveExtensible=True to your script enables 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 AviSource() decoding to RGB24 logic regression.
- 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() 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 RGBYUV 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 IScriptEnvironment pointer.
- 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.
- Optimizations:
- DirectShowSource() FPS detection as last attempt tries getting the duration of 1st frame.
- DirectShowSource() convertfps=true rely only on sample start time.
- 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 internal interface implemented.
- Cache and Memory management enhancements.
- Changes:
- Test VFB data buffer for NULL malloc's, if so then Throw!
- Initial Memory Max value clamped to 1GB.
- 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 [Need volunteers to do translations].
- FunctionTable::Lookup() now considers named arguments in making its selection.
- ImageWriter supports negative values as -count for End argument.
- ChanegFPS() 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 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, i.e we do not hold a COM use count.
- Pfc, Softwire and SoundTouch updated and added as dependency projects.
- UPX updated to version 2.03 (2006-11-07).
- Default Memory Max value increased to half minus 64Mb when over 256MB free.
- AVISource/WavSource map WAVEFORMATEXTENSIBLE back to equivalent WAVEFORMATEX.
- DirectShowSource() now recognises incorrect AM_MEDIA_TYPE subtype for WAVE_FORMAT_EXTENSIBLE audio and corrects the data 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().
- Additions
- 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) to just return current Memory Max value.
- Added planar YV12 color format to Compare() [Fizick].
- ColorKeyMask: Allow independant tolerance levels for each channel.
- Added Tweak Hue/Saturation range limiting.
- Added AudioLevels and Color2 modes to Histogram.
- Adding global OPT_UseWaveExtensible=True to your script enables 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 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 remebers 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 IScriptEnvironment pointer.
- 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.
- Optimizations
- DirectShowSource() FPS last attempt try for duration of 1st frame.
- DirectShowSource() convertfps rely only on sample start time.
- 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.
- Changes
- Convert to 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, i.e we do not hold a COM use count.
- Pfc, Softwire and SoundTouch updated and added as dependency projects.
- UPX updated to version 2.03 (2006-11-07).
- Default Memory Max value increased to half minus 64Mb when over 256MB free.
- AVISource/WavSource map WAVEFORMATEXTENSIBLE back to equivalent WAVEFORMATEX.
- DirectShowSource() now recognises incorrect AM_MEDIA_TYPE subtype for WAVE_FORMAT_EXTENSIBLE audio and corrects the data 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().
- Avisynth COM object now implements IAVIStreaming interface.
- DirectShowSource() enhancements.
- Added KillVideo() verb.
- TimeStretch SoundTouch library update, fixes and access to tuning parameter.
- Explicitly try to request full sample rate, all channels and float, 32 bit then 24 bit samples from the audio codec.
- File input/output support for WAVE_FORMAT_IEEE_FLOAT audio.
- File input more than 2 channels in the audio stream.
- Installer enhancments. Handling of readonly/protected target files.
- Avisynth_c interface enhancments.
- Hack for Fraunhoffer MP3 codec to work when wBitPerSample==16.
- Added Portugese translation by RoLon.
- Partly updated French translation by JasonFly.
- Subtitle multi line text.
- xxxFPS("preset") string preset FPS values.
- ImageSource no longer uses static buffer.
- Fixed Negative int arg handling for ApplyRange() and Animate().
- Fixed SaveString memory block overrun.
- Fixed $Plugin!Functionname!Param$ bug.
- Fixed Various resource leaks.
- Fixed runtime mixed SEH/C exception handling for XPsp2.
- Fixed CAVIStreamSynth::Read audio buffer overrun.
- Fixed Assert("...%...") crash.
- Fixed Number parser returning inaccurate float conversions.
- Fixed resizer subpixel shifting functionality and bad edge condition handling.
- YUV ColorBars now match BT.801-1.
- TCPDeliver updates, crash fixes and enhancments, big buffers.
- Fixed Turn*() YUY2 mod 2 height test.
- Fixed AVISource() corrupted error messages.
- Fixed AVISource() direct input drop frame handling.
- Remove 50 plugin auto prescan load limit.
- Bracketless call of functions without arguments now get a cache.
- Over-range numbers now raise a compile time exception.
- xxxFPS(float) now uses continued fraction to generate a minimal rational pair.
- ConvertFPS() blend mode works for all pixel formats.
- SaveString memory blocks are now 32 bit aligned.
- Default planar chroma planes mod 16 aligned.
- Fix Cache of a cache of a cache .... problem (regression)
- Have parser check for cache of a cache and skip extra instances.
- Change ImageSource to not use a static buffer.