* Added Czech doc translation.
* Added Polish doc translation (by Slim, Krismen & Co).
* Added Japanese doc 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.
* Fixed ShowFiveVersions() YV12 chroma position in bottom half. Regression.
* Fixed Histogram() Classic mode restore graph brightness. Regression.
* Fixed Compare() graph pixel values exceeding YUV limits.
* Fixed AddBorders() args negative value clamping.
* 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() convertfps=false logic regression.
* 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 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.
* 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.
* 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 internal interface implemented.
* Cache and Memory management enhancements.
* Initial Memory Max value clamped to 512MB.
* Default Memory Max value restored to 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, thanks go to
Fizick, gzarkadas, Malow, manusse, M.T, niiyan, talen9, TiGR,
Underground78, WarpEnterprises, Wracko.
* 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 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).
* 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().
Please report bugs and problems at Sourceforge Avisynth2 page - or - Doom9's Avisynth Developer Forum
* Blur()/Sharpen() MMX=False option to force use of C++ routines.
* Explicitly try to request input sample rate from the audio codec (Tritical).
* Installer option for avisynth.lib, avisynth.exp and avisynth.map files.
* DirectShowSource() now sets _HIRESOUTPUT property of WMAudio Decoder DMO.
Allows 24 bit samples and 6 channel decoding.
* Avisynth COM object now supports IAVIStreaming interface. Many apps blindly
expect it and subsequently failed to load AVS scripts.
* Conditional Reader now also accepts T, F, Yes and No for bool data.
* DirectShowSource() log debug messages to file.
* DirectShowSource() force set framecount.
* DirectShowSource() accept audio streams of type WAVE_FORMAT_IEEE_FLOAT.
* Added KillVideo() verb.
* TimeStretch now exposes the tuning parameter of the SoundTouch library.
* Adding global OPT_AllowFloatAudio=True to your script
enables WAVE_FORMAT_IEEE_FLOAT audio output.
* Explicitly request all the channels available in the audio stream [acm AC3]
* Explicitly try to request float, 32 bit then 24 bit samples from the audio codec.
* Accept uncompressed audio streams of type WAVE_FORMAT_IEEE_FLOAT.
* Added installer option to add "Avisynth Script" item to Explorer shell
for new .avs file creation.
* Added avs_delete_script_environment and avs_subframe_planar to avisynth_c interface.
* Hack to allow Fraunhoffer MP3 codec to work when wBitPerSample==16. (Squid_80)
* Added portugese translation (by RoLon), and partly french translation (by JasonFly)
* Subtitle multi line text, set LSP arg and use \n. (foxyshadis, tateu)
* xxxFPS("preset") string preset FPS values. (Tritical)
* Better avisynth_c cdecl/stdcall mismatch detection and protection (Tritical).
* Fixed Tritcal bracketless call multiple cache over cache regression.
* Fixed DirectShowSource greyframe regression.
* Fixed DirectShowSource audio format negotiation regression.
* Fixed TCPDeliver YV12 transfer 50% to much data.
* Fixed TCPDeliver do Makewritable before getting params.
* Fixed TCPDeliver audio transfer off by 4 bytes.
* Fixed resizer core boundary condition crashes/errors/glitches.
* Fixed Invert() crash with small widths.
* Fixed small memory leak Amplify().
* Fixed grey frames with internal start, stop, start while DSS is initializing.
* Fixed AudioChannels() returning non-zero when no audio (Tritical).
* Fixed ConvertFPS() blend mode mix_ratio was wrong.
* Fixed AviSource() handling of dud AVI files that start with
drop frames, just return the first key frame.
* Fixed DirectShowSource() handling of pin renegotiation.
* Fixed Overlay() "PC_Range" argument handling.
* Fixed SubTitle() crash when resources exhausted.
* Fixed Resizers cropping argument validation.
* Fixed % operator bad argument text message.
* Fixed stuffing Audio buffer with video graphics on Exception. Now returns E_FAIL.
Video stream subsequently will return error text in graphic form.
* Fixed KillAudio() resetting nchannels and sample type to 0.
* Fixed Conditional Reader sscanf buffer overrun.
* Fixed Version() and VersionString() timestamp discrepancies.
* Fixed Serious inaccuracies in TimeStretch. It is still not sample exact!
* Fixed Negative int arg handling for ApplyRange() and Animate().
* Fixed Installer handling of readonly target files.
* Fixed ConvertAudio SSE2 to Float alignment test.
* Fixed (auto)LoadPlugin altname generation. (Tritical)
* Fixed SaveString memory block overrun.
* Fixed $Plugin!Functionname!Param$ bug. (Fizick)
* Fixed registry handle leak on $PluginDir$ lookup. (Dave Brueck)
* Fixed memory leaks avisynth_c.
* Fixed returning locked/protected VBF's to LRU. (Tritical)
* Fixed runtime mixed SEH/C++ exception handling for XPsp2. (Tritical)
* Fixed CAVIStreamSynth::Read audio buffer overrun. (Avery Lee)
* Fixed DLL handle leak in LoadPlugin. (Tritical)
* Fixed Assert("text") no longer parses % args.
* Fixed number parser returning inaccurate float conversions.
* Fixed ConvertFPS() blend mode not processing of chroma planes.
* Fixed resizer resampling pattern attempted use after deletion.
* Fixed resizer subpixel shifting functionality being a noop.
* Fixed Info() auto font selection metric.
* Fixed Conditional error checking of float RHS.
* Corrected colours in YUV ColorBars, Now match BT.801-1.
* TCPDeliver updates: Client: Fixed crash if client gets disconnected.
* TCPDeliver updates: Server: Remember to disconnect clients when shutdown.
* Fixed Turn*() YUY2 mod 2 height test.
* Fixed AVISource() corrupted error messages.
* Fixed AVISource() direct input drop frame handling.
* Parser tries to prevent adding a cache of a cache to graph.
* ImageSource() no longer use static buffer, uses cache and freezeframe.
* TCPDeliver big buffer enhancement (retro from 2.6 stream).
* SubTitle() releases all resources when the last frame of the clip is rendered.
* SubTitle() releases GDI resources after text map is created.
* ApplyRange() only builds 2 chains instead of 3.
* TCPDeliver add icon, make all resource US English.
* Map file is now generated for release builds.
* ConvertTo*() and GreyScale() now accept "Rec601" as a valid matrix.
* DirectShowSource.dll upx'ed.
* Upgrade internal copy of SoundTouch library to 1.3.1.
* SoundTouch now available in RelSym build.
* Animate Integer arg enumeration no longer rounds toward positive infinity.
Both positive and negative enumerations are identical. i.e. For Animate(0,
10, "Foo", 0, 0, 10, -10), Foo's arg1 = -arg2 for all frames.
* Selecting associate open with Notepad with .avs files in the installer
now also includes .avsi files.
* The Installer now pushes a recovery dialog box when unwritable files are
encountered during an install. The user may manually correct the problem
and retry installing that file.
* SetMemoryMax() minimum now 4Mb instead of 16. (Tritical)
* Remove 50 plugin auto prescan load limit. (Tritical)
* COM QueryInterface calls now return S_OK instead of NULL.
* Bracketless call of functions without arguments now get a cache (Tritical).
* Over-range numbers now raise a compile time exception.
* xxxFPS(float) now uses continued fraction to generate a minimal rational pair (Raymod2).
* ChangeFPS(linear) now raises a compile time exception if the speed change ratio is > 10.
* ConvertFPS() blend mode works for all pixel formats. (Tritical)
* Info() retrofit of 2.60 updates.
* TCPDeliver.dll upx'ed.
* RGB ColorBars +Q and -I bars, Hue is now correct, Luma is NOT zero to achive this.
* AVISource Audio no longer limited to 2 channels.
* SaveString memory blocks are now 32 bit aligned.
* Default planar chroma planes mod 16 aligned. See SetPlanarLegacyAlignment().
* SSE3 capable CPU detection in env->GetCPUFlags and Info().
* RGB32 mode in TemporalSoften.
* *Resize(), src_height and src_width when negative work as in crop.
* Added options to DirectShowSource (seekzero, timeout and pixel_type).
* Added AudioDubEx(), blindly accepts video and audio streams.
* Added Load_Stdcall_Plugin(), alias for LoadCPlugin()
(won't disappear when avisynth_c.dll is loaded)
* Added DevIL support for RGB32 to ImageSource.
* Added Russian language documentation. Thanks to Fizick and his team. Well done.
* Added Merge() filter. Includes very fast iSSE pavgb code for weight=0.5.
* Added MergeARGB(), MergeRGB() filter.
* Added ShowRed(), ShowGreen(), ShowBlue() filters.
* Added Planar version of env->g;SubFrame() (thanks TSP).
* Added SetPlanarLegacyAlignment() to select Planar alignment algorithm.
* Added Audio padding control to Trim().
* Added operator muldiv(multiplicand, multiplier, divisor).
* Added AssumeScaledFPS(multiplier, divisor, sync_audio) maps vi.MulDivFPS.
* Added method VideoInfo.MulDivFPS(unsigned multiplier, unsigned divisor) does
rational scaling with normalizing and overflow protection of FPS property.
* Added offsets, gamma and analyze option (ala ColorYUV) in RGBAdjust.
* Added preliminary 23.976fps film drop frame support to ShowSMPTE(),
Anyone know the proposed SMPTE algorithm?
* Added Spline16Resize, Spline36Resize, GaussResize and LanczosResize(tap=xx)
* Added options to ShowFrameNumber: ShowFrameNumber(offset=10, x=360, y=576,
font="georgia", size=24, text_color=$ff0000)
* Added integer offset to ShowSMPTE: ShowSMPTE(offset_f=10)
* Added options to ShowSMPTE: ShowSMPTE(offset="00:00:00:30", x=360, y=576,
font="georgia", size=24, text_color=$ff0000)
* Added Optional FPS=24 parameter to Dissolve and Fade*() for processing audio only clips.
* Added FadeIn0(), FadeOut0(), FadeIO0() variants that don't add an extra frame.
* Added Fractional resampling support in ResampleAudio().
* Added HasVideo() and HasAudio() script functions.
* Added Level option to Tone().
* Added SFloat support in ResampleAudio().
* Added ColorBars(pixel_type="YUY2, YV12").
* Added env->ManageCache() interface in AviSynth.h.
* Added VideoFrameBuffer 16 byte guardband protection/detection in Debug mode.
* Added EBX compiler bug protection/short circuiting to Cache::GetFrame().
* Added YV12 support for ShowFiveVersions().
* Added "[sse]b" option to Tweak to re-enable the (slow) SSE code
(maybe AMD's might run it faster).
* Added Limiter(show=show_luma/show_luma_grey/show_chroma/show_chroma_grey) shows
out of bound luma/chroma; *_grey makes the rest of the pixels greyscale.
* ConvertTo*(Matrix="Rec709, PC.709, PC.601") conversions supported.
* ConvertFPS()/ChangeFPS() copies FPS from a 2nd clip.
* GreyScale() RGB supports Matrix="Rec709, Average".
* Fixed corruption at the end of the IScriptEnvironment vtable.
* Fixed memory leaks in Overlay and AVSChar/AVSTime.
* Fixed End_of_Stream reset on seek in AudioStreamSource::
* Fixed SegmentedDirectShowSource() argument parsing.
* Fixed *Resize(), src_height and src_width when negative work correctly.
* Fixed minor memory leak in env.VSprintf(), [ul]case() and *str() also remove 4k limits, thanks Tritical.
* Fixed Normalize scribling into memory for float samples.
* Masked "Evaluate: System Exception - Access Violation" in :- FadeIO*(), RGBAdjust(), Tweak(), Lanczos*Resize() and GaussResize().
* Fixed rounding in YUY2 turnleft/right chroma.
* Fixed AVSC_USE_STDCALL declaration in avisynth_c.h (was ACSC_USE_STDCALL).
* Fixed BlankClip(clip) now competely duplicates the donor clip's VI including parity.
* Fixed AssumeTFF/BFF() to correctly update internal parity state.
* Fixed Animate audio switching.
* Fixed aligned UVpitch from width rounding.
* Fixed 2 bit crosstalk in YUV horizontal resizers, thanks Squid.
* Fixed resource leak in DirectShowSource(), thanks Tritical.
* Fixed minor memory leak in Subtitle() and string(), thanks Tritical.
* Fixed global clip close down problem, thanks Tritical.
* Uninstaller now remove Docs\pictures directory and DirectShowSource and
TCPDeliver plugins.
* Fixed ImageReader single file handling.
* Fixed ImageWriter info==false no longer write status text onto frame.
* Trap .WAV clsid handler GPF with filenames gt 47 chars.
* Fixed YUV text access violation, correct bounds alignment tests. (Regression)
* Fixed ExpFunctionCall::Call memory leak, thanks Tritical.
* Fixed PClip leak in MergeChannels(). Destructor chain not called.
* Fixed RGB text alignment inversion. Regression in May 5th ver.
* Fixed vfw resource leaks when opening bad AVI files.
* Fixed rmvb stuck at 100% during encoding (thx stevencover).
* Fixed Loop audio processing.
* Fixed GeneralConvolution crash with cropped input.
* Restored forced (negative) planar luma alignment functionality.
* Fixed a stack of memory leaks, thanks Tritical.
* Fixed Direct AVISource input of raw YV12 and I420 sources.
* Fixed (fingers crossed) "Evaluate: Recognized exception!"
Problems with XPsp2 hard terminate.
* Fixed CACHE_RANGE internal scope test, thanks Tritical.
* Fixed Mask() calc of greyscale, red/blue swapped.
* Fixed FPS overflow with Select...(), Interleave() and variants.
* Fixed subtract mode in Overlay (chroma is correctly subtracted).
* Fixed align parameter in Subtitle.
* Windout code is working again (broking in the previous betas).
* Corrected multi-channel audio fading.
* Dissolve and Fade*() process audio only clips, assumes 24fps for position calcs.
* Fixed wrong chroma in DoubleWeave() of FrameBased YV12 material.
* Fixed crash from BlankClip() with an audio only clip template.
* Fixed AudioCache corruption on buffer resize.
* Fixed ResampleAudio() clicks/pops due to creeping error.
* Fixed SSE/SSE2 ConvertAudioTo16/32Bit() positive value saturation.
* Masked EBX compiler bug in :-
audio.cpp
converaudio.cpp
convert_yv12.cpp
memcpy_amd.cpp
focus.cpp
layer.cpp
merge.cpp
resample.cpp
resize.cpp
text_overlay.cpp
conditional_functions.cpp
444convert.cpp
blend_asm.cpp
* Fixed ConvertToRGB() src->rowsize==8 crash.
* Fixed Memory leak, deleted VideoFrameBuffers.
* Fixed env->NewVideoFrame() returning short frame buffer.
* Fixed vi.FrameFromAudioSamples() truncation.
* Fixed ShowFiveVersions() unused corner rectangles had random contents. Now grey filled
* Fixed YUV plane swapper reports corect name.
* Fixed MergeChroma reporting itself as MergeLuma.
* Fixed MergeChroma doing MakeWriteable() on the wrong clip.
* Fixed Normalize (it was only sampling half of the samples per mouthful;
it was ignoring the scaling factor).
* Fixed GreyScale() EBX compiler bug.
* Fixed flipped frame on imagesources.
* PlaneDifference in ConditionalFilter was not reporting exactly 0,
if the planes were the same.
* Fixed big bug in compressed YV12 TCPSource / TCPClient in TCPDeliver.
* Increased stringbuffers, 4K to 32K (WarpSharp problem).
* Fixed Overlay(softlight/hardlight) overflow.
* Masked "Unknown exception" in :-
audio.cpp
avs_soundtouch.cpp
color.cpp
field.cpp
focus.cpp
fps.cpp
levels.cpp
resample.cpp
source.cpp
* Fixed WavSource() leaving .WAV files open.
* Fixed glitches in multichannel audio transitions in Dissolve() and Fade*()
* Fixed Green/Blue channel swap in C version of Layer()
* Restored GreyScale() RGB C code.
* Fixed MMX YV12 Blur() double blurring every 8th pixel.
* Blur()/Sharpen() Edges all processed consistantly (edges are reflected).
* Fixed YV12 Blur() width < 16 fatal crash.
* Performance improvents in transfer functions in TCPDeliver.
* Normalize() for 16 bit stop when a max-int value sample is seen.
* Run sort -unique|detab on color_rgb.avsi, got rid of all the duplicates.
* YV12 MergeLuma(), MergeChroma() include very fast iSSE pavgb code for weight=0.5.
* Cleanup VideoFrame garbage collection on script close (Thanks TSP).
* Text overlay antialiaser tweaked, 8% faster.
* RGB32 FlipHorizontal() code tweaked.
* ResampleAudio() MMX for int16 samples, approx 3.25 times faster.
* ResampleAudio() reworked C++ int16 code, approx 35% faster.
* ResampleAudio() reworked buffer management, now linearly accesses child->GetAudio().
* Cache and Memory Managment have been reworked.
* ConvertAudioToFloat() fast SSE and very fast SSE2, opt/skip redundant output copy.
* ConvertAudioTo16,32Bit() very fast SSE2.
* SwapUV() YV12 swaps pointers in PVideoFrame, zero cost!, YUY2 fast iSSE code.
* UtoY(), VtoY(), YtoUV() YUY2 faster C++ code.
* MergeLuma(), MergeChroma() now MMX (not iSSE), has C++ versions, YV12 BlendPlane
now does 8 pixels per loop almost 2x faster!.
* ColorBars() generates Tone in constructor buffer, copied out in GetAudio(),
avoid 48000 sin(double) per second.
* EnsureVBRMP3Sync() uses 256K transfer buffer when seeking (should be > 5 times faster now.)
* Normalize() uses 256K transfer buffer to analyze peaks (should be > 5 times faster now).
* Tweak: added C++ code (lookup table), which is now faster than the old iSSE code.
* Audio.cpp reworked code in audio filters which do 64 bit operations (most
routines are between 2 and 5 times faster).
* ConvertToRGB32() MMX RGB24 -> RGB32.
* Blur()/Sharpen() when H or V = 0 skips that pass.
* GreyScale() MMX YUY2.
* Blur()/Sharpen() now MMX (not iSSE), faster, fewer mod(2^n) restrictions.
* Stop extra search of LIBC, add relsym build - Release with Symbols.
* The avisynth_c plugin entry point is now officially "avisynth_c_plugin_init@4"
(don't include @4 anywhere the compiler does it for you), this is not actually a
change due to a bug in avisynth_c.h, which incidently caused it to be this already.
* Info() now autoselects a smaller font to fit info in small frames.
* Info() now distinguishes between "assumed" field parity and field parity.
* Animate now selects parity through the filter chain.
* New improved cache!
* Installer now populates "All Users" shell tree on NT variants.
Admin/Uninstaller stuff is only added to current user.
* Uninstaller now deletes DirectShowSource.dll and TCPDeliver.dll from plugin directory.
* ImageReader doesn't auto fail over to DevIL for DIB/BMP type files. (DevIL crashs on palletted BMP's)
* ImageWriter now throws an exception for non RGB24 format with DevIL processing.
* ImageReader/Writer info text colour now pale yellow $f0f080.
* Replaced VideoFrame::SubFrame() with env->SubFrame() (Ready for MultiThreading, Thanks TSP).
* Option for planar alignment (default 16 bytes) to be based on chroma planes,
luma alignment is (still) 2x chroma. Will become the default in the next version.
* Support for vfr content in
DSS: DirectShowSource("F:\Guides\Hybrid\vfr_startrek.mkv", fps=119.88, convertfps=true)
turns vfr into cfr stream by duplicating frames.
* Histrogram: in color_mode - YUY2: Invalid values (below 16 and above 235)
will be colored brown/yellow-ish. Made those values more visible.
* Evaluate: Now breaks outs and reports system exceptions instead of
reporting the useless "Evaluate: Unrecognized exception!".
* BlankClip() no longer gobbles any implicit last clip as the template clip.
You have to explicitly declare you want a template clip i.e. BlankCLip(Last).
"BlankClip()" now always returns the default blank clip.
* Avisynth.h FrameFromAudioSamples/AudioSamplesFromFrames() now test for
divide by zero and return zero when encountered instead of crashing.
* SeparateFields() now throws an exception for an IsFieldBased() source.
* Weave() now throws an exception for an IsFrameBased() source.
* Cache policy CACHE_NOTHING currently no long returns all VFB's. Under review.
* Avisynth.h SetFPS() now test for zero numerator or denominator if found it sets num=0, den=1.
* Audio Cache Autodetect lower metric from 25 to 5 on skip forward (step back still 25).
* ConvertAudio() include the prefered type as an acceptable type.
* ConvertAudio() passes SetCacheHints() thru to grandchild.
* Normalize() displays the frame number of the peak.
* Added a huge list of color presets, that can be used instead of colors (which
can be found in the plugins folder: colors_rgb.avsi).
* Added: BlankClip now has color_yuv, that allows setting and YUV color for YUV clips.
* Added GZIP huffman compression to TCPDeliver.
* Added AssumeFPS(clip1, clip2 [, sync_audio=true/false]) (stickboy again)
* Added audio=true/false to SelectRangeEvery. This will optionally also cut up audio according to the select. Default: true.
* Added Turn180().
* Added IsAudioFloat() and IsAudioInt() as clip properties.
* Added FrameRateNumerator() and FrameRateDenominator() as clip properties.
* Added AudioLenghtF() as clip property.
* Added experimental "after_frame=true/false" to ScriptClip.
* Added FOURCC parameter to AviSource by stickboy.
* Added Lanczos4Resize().
* Added french documentation.
* Added float audio and multiple channels support to Dissolve.
* Added WriteFile, WriteFileIf, WriteFileStart, WriteFileEnd. (WarpE)
* Added dll-name prefix to plugins as per http://forum.doom9.org/showthread.php?s=&threadid=72235.
** Syntax is DLLNAME_function(), where DLLNAME is the filename of the dll containing the function.
* Added automatic audio cache.
* Added dotted lines at zero levels to view bias in
Histogram(mode="stereo").
* Added CPU stuff to Info().
* Added GeneralConvolution divisor, auto.
* Added audio cache after EnsureVBRMp3Sync.
* Added TimeStretch(). This filter can change speed of the sound without changing the pitch, and change the pitch of a sound without changing the length of a sound.
* Fixed "Unknown exception" in conditional filter expressions. (August 17th regression)
* Fixed: DirectShowSource properly releasing filters on unload.
* Fixed: Huge stability fix by IanB. This should remove a bunch of "Evaluate: Unregnized exception", and crashes on reload in vdub.
* Fixed: ImageReader/ImageSource flipped error messages and info overlay.
* Fixed MergeLuma not always updating properly.
* TCPDeliver should compile now.
* AssumeFPS: Added sanity check to ensure that denominator isn't zero.
* Fixed Loop() when called with no video (stickboy)
* Fixed error not being thrown in Conditionalfilter on an invalid operator.
* Proposed fix for zero coefficient.
* Fixed crash on certain resolutions in Resize.
* Made TCPDeliver compile without complaining about missing files.
* Fixed linecount on multiline strings (Bug ID 989276]
* Fix VideoFrameBuffer cache corruption
* Fixed VideoFrameBuffer cache corruption during "Plan C" memory recovery.
* The problem with ApplyRange/Animate's inability to use functions that take no additional arguments should be fixed.
* Removed overflow bug in ssrc upsampler.
* Fixed Audio cache crash if no audio.
* Cleaned up ApplyYV12 in textoverlay.
* Fixed float audio in Dissolve.
* Fixed audiobits clip properties now returning bits and not bytes.
* Fixed ConditionalReader inaccuracies on integer interpolation.
* Fixed Mask() problem with footage with different pitches.
* Subtract now clamps errors instead of overflowing.
* Fixed old plugin names actually working.
* Added specific (and simpler) stereo mode to TimeStretch - no more drifting.
* Made ISSE YUY2 HorizontalReduceBy2() more "safe".
* Fixed missing plane in TemporalSoften.
* Corrected some quirks in TemporalSoften scenechange on artificial sources.
* Fixed IsParityKnown() in avisynth.h - thanks to stickboy.
* Random in scalemode is not returning limit value - thanks you stickboy!
* Fixed: Trim audio could crash, if sample types were different.
* Fixed crash-on-exit in SSRC, if rateconversion was skipped.
* Fixed one frame missing in TemporalSoften.
* Fixed chroma moving half a pel in Overlay() with YV12-input mode.
* Fixed Trim audio crash if sample types were different.
* Fixed crash-on-exit in SSRC, if rateconversion was skipped.
* Fixed minor glitches in audio cache (out of range requests)
* Fixed ConvertToYV12(interlaced) incorrect sampling for top field chroma.
* Fixed Memory leak in Vertical Resizer.
* Fixed PointResize() exact odd sub/multiple width/height returning trash frames.
* Fixed PointResize() image not centred when expanding.
* Fixed TurnLeft()/TurnRight() crash with multiple colour spaces in same script.
* Fixed TurnLeft() in yuy2 colour space off by 1 pixel down.
* SSRC now has aligned data (slightly faster and SSE ready).
* Added MMX optimizations to Overlay mode lighten+darken with opacity=1.0, with
no mask.
* Added SSE float to int audioconversion.
* Added 3DNOW! optimizations to sample-type conversions int to float, and float to int. Much faster.
* Added faster MMX to Invert by ARDA.
* Added RGB24, YUY2 and YV12 MMX Invert() function.
* Added MMX/ISSE chroma convertion to Overlay with YV12 input.
* Added MMX function for Overlay(mode="blend"), when a mask is used and opacity = 1.0.
* Removed unneeded DevIL components
* TCPDeliver: Simplification and cleanup. Planar pitches handled more consistently.
* DirectShowSource now requests interlaced material to avoid internal (crappy) WMV9 deinterlacer. (Thanks to Russel Lang)
* ImageReader/ImageSource now accepts relative paths in all configurations.
* Adjust audio length in SelectRangeEvery to match new video length.
* Updated installer.
* ImageReader: tweaked default parameters.
* ImageReader: made ColorBars parameters optional (like docs claim!)
* ImageReader: No more "Image not in range". First frame is ALWAYS
frame 0.
* Updated SoftWire codegenerator to latest version.
* ImageReader: Static image support, Floating-point FPS, aliased to ImageSource, frames automatically flipped when necessary.
* ImageWriter: Optional "info" parameter to show filename.
* ImageReader / ImageWriter: All errors returned as text clips.
* AviSynth will longer resize to non-mod4 widths in YV12 mode!
* Dissolve can now handle audio input with different sample types.
* Dissolve now checks if samplerates are the same.
* Trim/Dissolve: Better error reporting.
* Updated DevIL libs; removed unneeded !DevIL components; improved error reporting in
ImageReader / ImageWriter.
* Updated Overlay(mode="multiply") to work more logical. Old functionality is no more!
* DirectShowSource() is now a plugin, and is automatically placed in the plugin directory by the installer.
* Disabled avisynth_c plugin autoloading (no longer a compatible way to do so).
* FrameRate() now calcs as (double)numerator/(double)denominator. (still returns a float)
* Fixed out-of-bounds read in Normalize.
* Fixed compiler warnings in avisynth_c
* Fixed very small sample corruption in SSRC.
* Fixed audio corruption problem if audio with start < 0 was requested.
(introduced in Dec. 30th binary).
* Fixed very small sample corruption in SSRC.
* Better seeking precision in audio in DirectShowSource.
* Fixed crashes and Audio corruption in ConvertToMono().
* Fixed UnalignedSplice if only audio was present.
* Fixed Trim crash, if only audio was present (throws an error).
* Fixed slowdown on multiple Directshow Sources.
* Fixed green bars in small video with mode="levels" and
mode="color". For Histogram
Please report bugs at Sourceforge Avisynth2 page - or - Doom9's Avisynth Developer Forum
$Date: 2008/12/22 01:26:05 $