Home
RecentChanges

Search:

» AviSynth is a powerful video FrameServer for Win32.

AviSynth Links:
»Download
»Learn to script
»FAQ
»Manual
»Discussion fora
»Project page
»External filters
»FeedBack

» You can add pages to this website immediately. No login required.
Edit this document

» AboutAviSynth

 

Avisynth 
Logo

ChangeList

( Diese Seite in flag-germany.gif Deutsch )

Changes since current release in the latest [2.5.6 Alpha Release]

Additions

  • 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.
  • Added offsets and analyze option (ala ColorYUV) in RGBAdjust.
  • ConvertTo*(Matrix="Rec709, PC.709, PC.601") conversions supported.
  • ConvertFPS()/ChangeFPS() copies FPS from a 2nd clip.
  • GreyScale() RGB supports Matrix="Rec709, Average".

Bugfixes

  • Fix for hard quit whenever there's an exception instead of showing error message (XP2 problem due to XP2's new msvcrt.dll).
  • 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.

Optimizations

  • 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 being reworked! Cache now returns expired VFB's for immediate reuse. In Plan A: returned VFB's have priority over allocating new VFB's. Plan B: now searches a true LRU list of VFB's for a free, correct size VFB. New Plan C: uses a free, larger VFB if no correct size, free VFB's are available. Cache tracks VFB instances and frame instances only 1 of each is allowed. Cache chain limited to 200 entries, previously pathelogical cases caused chain to grow forever which took ages to scan and wasted memory. Heuristic Cache tracks modified/stale VFB's request usage profile and locks VFB if required. Cache detects strictly sequential access and returns VFB's for reuse earlier.
  • 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.

Changes

  • Support for [vfr content in DSS]: DirectShowSource("F:\Guides\Hybrid\vfr_startrek.mkv", fps=119.88, convertfps=true) turns vfr into cfr stream by adding 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.

Current Version [2.5.5]

Changes from 2.5.4

Additions

  • Added a huge list of ColorPresets, 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 FrameRateNumerator() and FrameRateDenominator() as clip properties.
  • Added AudioLenghtF() as clip property.
  • Added IsAudioFloat() and IsAudioInt() as clip properties.
  • 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 CPU stuff to Info().
  • Added automatic audio cache.
  • Added GeneralConvolution divisor.
  • Added audio cache after EnsureVBRMp3Sync.
  • Added dotted lines at zero levels to view bias in Histogram(mode="stereo").
  • 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.

Optimizations

  • 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

Bugfixes

  • 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 Trim audio crash if sample types were different.
  • Fixed crash-on-exit in SSRC, if rateconversion was skipped.
  • Fixed chroma moving half a pel in Overlay with YV12-input mode.
  • Fixed minor glitches in audio cache (out of range requests)

Changes

  • 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).

Changes from 2.5.3

Additions

  • Added ConditionalReader(). This enables users to load per frame settings into variables accessible to conditional variables.
  • Added "Hardlight", "SoftLight", "Difference" and "Exclusion" as Overlay blend modes.
  • Added mode="chroma", "luma", "lighten", "darken" to Overlay.
  • Overlay() now accepts RGB24/32 output.
  • Added "pc_range=true/false" parameter to Overlay(). This will make all RGB<->YUV conversions inside Overlay assume [0->255] YUV range, and not CCIR 601 [16->235] range. Default is false.
  • Added RGB input conversion to overlay.
  • ShowAlpha now returns RGB, YUY2, or YV12 via the pixel_type argument. The latter two can be used to layer an RGB clip with alpha transparency data onto a YUV clip using the 3-argument form of Overlay().
  • Added Overlay() for doing advanced video overlays/layers.
  • Added SuperEQ(). SuperEQ is a very precise 16 band equalizer.
  • Added IsYUV(clip) to script (it was only present in the documentation). (Party Time)
  • Added internal audiocache by [WarpEnterprises]. Added automatically by the filters that need it.
  • Added fast=true/false mode to SSRC. This will use a faster mode for resampling. Default is false.
  • Added Histogram(mode="stereo") shows a clasic stereo graph (I guess) from the audio in the clip. Some may know these from recording studios. Quite nice actually.
  • Added Histogram(mode="stereooverlay"). Draws the stereograph on top of the original image. YV12 only.
  • Added ChangeFPS(linear=true/false). This will make AviSynth request frames in a linear fashion, when skipping frames. Default:true.
  • Added SSRC(int samplerate) SSRC resampling. Note that it only downsamples. Audio is always converted to float.
  • Added Tone(float length, float frequency, int samplerate, int channels, string type). This will generate sound.
    • Length is in seconds. Type can be "Silence", "Sine" (default), "Noise", "Square", "Triangle" or "Sawtooth".
    • Defaults are Tone(10.0, 440, 48000, 2, "sine").

Bugfixes

  • 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

Optimizations

  • Internal audio cache now has better efficiency.
  • Optimization: MMX in Dissolve.

Changes

  • Added Kevin Atkinsons avisynth_c 0.20 (stdcall) API.
  • Updated installer. Removed the old one.
  • SSRC: "fast" is now true per default. This setting is recommended, unless you are doing a big samplerate adjustment (not just 48000 -> 44100).
  • Updated installer. (Thanks to V_ICE for inspiration).
  • Re-Added German documentation.
  • EMMS is now executed between all filters to avoid potential FPU-states to be carried from one filter to the next.
  • Reimplemented SSRC. It is now capable of running multiple instances, it has been better tested (occational strange sample should be eliminated). This version support both upsampling and downsampling with very high precision.
  • If any filter should request audio that is out of bounds, if will no longer be passed to the filter above, but the invalid parts will be filled with silence.
  • Documentation restructured and much has been updated.
  • Added C-versions of conditional planedifference filters, for non-ISSE machines (not well tested though).

Changes from 2.5.2

Additions

  • Added audio support to DirectShowSource.
  • Added seeking support to DirectShowSource.
  • Added .GRF file loading to load filter graphs from GraphEdit. Be sure there is an open pin, to which AviSynth is able to connect, otherwise expect "the filter graph won't talk to me".
  • Added optional coring=true/false to Levels and Tweak. both true by default, as previously.
  • German documentation.
  • Added DV type 1 video input, using AviSource(). Video only!
  • DirectShowSource() is now capable of properly opening audio with more than 2 channels. Tested with AC3Filter.
  • DirectShowSource() now accepts and properly decodes float-precision samples. Tested with AC3Filter.
  • Added checks for samplerate and framerate in Splice.
  • SwapUV(), UToY(), VToY() and YToUV() now also works in YUY2 mode.
  • Added C-style plugin support (still in testing) to allow plugin writers to use other compilers than MSVC. See this thread for further info.
  • Added Invert(), ShowAlpha().
  • Added default parameters to ColorBars.
  • Extensive updates of German documentation.
  • DirectShowSource capable of opening audio only. WAV/AC3/MP3 can be opened using DirectshowSource.
  • Added experimental "align=true/false" to crop - this will realign frames if they aren't already. Alignement is 16 for SSE2 machines, 8 for others.
  • Added "Overall PSNR for Compare()" - thanks to temporance.
  • ResampleAudio now accepts any number of channels.
  • Added "after_frame=true/false" option to FrameEvaluate. This determines if the script should be evaluated before (default operation) or after the frame has been fetched from the filters above.

Bugfixes

  • Fixed memory leak in Plugin name export.
  • Incorporated file lock fix in AviSource by WarpEnterprises.
  • Minor fixes to field information in Info().
  • Fixed occational hang in DirectShowSource (this might lead to leaks on unload/load!)
  • Fixed crashbug in Compare, when logfile was specified.
  • Fixed distortion on Crop(align=true).
  • Fixed overflow in ResampleAudio (Thanks to IanB!). [Bug 770853].
  • Fixed MergeChannels broken with more than 2 channels.
  • Made adjustments for longer sample support in ResampleAudio.
  • Fixed crash in ResampleAudio, if no audio was present.
  • Fixed crash in MonoToStereo().
  • Fixed: Normalize(show = true) displaying invalid value, and added a dB amplification indication.
  • Fixed minor issues in audio routines with very long samples.
  • Fixed wrong colors in ShowSMPTE YV12 mode.
  • Corrected several performance problems in Limiter, YUY2 mode (thanks again ARDA!).
  • Fixed YUY2 FlipHorizontal giving garbage/crashing.
  • GeneralConvolution now properly processes 5x5 matrices. Thanks IanB? for the patch.
  • Fixed minor stuff in TemporalSoften.
  • (Hopefully) fixed precision in PointResize.

Optimizations

  • Added heavily optimized memory copy mode, that will be used in some blits.
  • Conditional unroll of fetch/unpack loop in dynamic compiled resizer. Now only unrolls if 1) Athlon 2) Source width < 512.

Changes

  • Further clarification in Info() regarding field information.
  • Minor changes to Limiter code (block prefetch).
  • ApplyRange now accepts startframe = stopframe. This will only process the specified frame.
  • ApplyRange now supports audio and processes it to the end of stopframe.
  • Updated avisynth_c API to v0.14.
  • Reenabled function name export for VDubMod syntax highlighting - I'm not sure if it had much effect on stability.
  • Corrected ParseMultiplication so it parses from left to right.
  • The default luma range in Limiter is corrected to 16-235 (it was 16-236).
  • Temporarily disabled plugin function export for VDubMod. I'm suspecting this of the "crash+disappear" of VdubMod.
  • Removed HSIAdjust().
  • Removed ffvfw from installation.
  • ShowSMPTE does no longer require fps parameter - only if the current fps cannot be used.

Changes from 2.5.1 Beta

Additions

  • 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:
    • AverageLuma(), AverageChromaU(), AverageChromaV() functions. Returns a float from 0 to 255 based on the average pixel values of a plane.
    • YDifferenceFromPrevious(), UDifferenceFromPrevious(), VDifferenceFromPrevious() and YDifferenceToNext(), UDifferenceToNext(), VDifferenceToNext().
    • LumaDifference(clip,clip), ChromaUDifference(clip,clip), ChromaUDifference(clip,clip). They return a float value between 0 and 255 of the absolute difference.
    • RGBDifference(clip1,clip2), RGBDifferenceFromPrevious(clip), RGBDifferenceToNext(clip).
    • 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

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.
  • Fixed float point exceptions being thrown in some applications, based on the CPU register settings. (Especially Delphi-based apps)

Changes from 2.5.0 Beta

Additions

  • Added start/end parameters to ImageWriter.
  • Added Chr, Time and Spline script functions.
  • Added ISSE and MMX YUY2->YV12 conversions. Faster than XviD - and both interlaced and noninterlaced modes supported. Use ConvertToYV12(interlaced=true).
  • Added rewritten YV12->YUY2 (progressive) conversion to avoid using buggy XviD conversion. It also has better quality as it properly interpolates chromas as opposed to simply copying it. Speed should be the same. Use ConvertToYUY2(interlaced=true).
  • Added TurnLeft / TurnRight.
  • YToUV() now takes an optional third parameter, that contains luma for the final clip.
  • AudioLength() now returns the size in samples (do however beware of overflows on very long clips)
  • Added ApplyRange.

Bugfixes

  • Fixed Splice problems with YV12 from different sources. Audio is now automatically converted to the same format.
  • Fixed bug in YV12 stackvertical, causing corrupt images.
  • Fixed memory exception problem in Blur.
  • Fixed non-matching image type in Stack.
  • Fixed rounding in Temporalsoften mode 2.
  • Fixed crashbug in YUY2 mergechroma.
  • Fix bug in C version of YUY2->RGB24.
  • Fixed bug with uninitialized data in AviSource.
  • Fixed wrong pitch being used in Temporalsoften scenechange - could in rare cases lead to unexpected results.
  • Fixed rounding in some cases in Temporalsoften.
  • Doesn't add audio to track, if there is no present in AssumeSampleRate().
  • Fixed isBFF() and isTFF().

Optimizations

  • Put in Steady's new BitBlt code, and enabled it for ISSE capable processors.
  • Much "conservative" code removed. A general speedup should be expected.
  • Made SwapUV faster.

Changes

  • Removed all fieldbased/mod 4 checks.
  • Restored how fieldbased/framebased works.
  • Removed startup Box from installer.
  • Greyscale inserts value 128, instead of 127. Some users have reported a greenish tint.
  • Updated AssumeTFF and BFF to also write the information to VideoInfo.
  • Updated icons.
  • BMP support (output only) in ImageWriter.

Main changes from 2.0 series to 2.5

  • Native planar YV12 support.
  • Multiple audiochannels. Unlimited number of channels is now supported.
  • Float samples support. AviSynth is now capable of processing samples as floats.
  • Automatic sample conversion. If some filters doesn't support a specific sample type, they are converted to the format preserving most quality (most often floats).
  • Optimizations. Many basic features has been optimized, and now performs much better than previous versions.
  • Temporalsoften has a significant speed improvement, scenechange detection and a new improved blend mode.
  • Limiter can limit the YUV ranges, to avoid invalid color values and improve compression.
  • ColorYUV makes it possible to do very exact color corrections. ColorYUV has built-in auto-whitebalance and auto-gain features.
  • Select separate planes using UToY, VToY and merge them together again, using YToUV.
  • FlipHorizontal. implemented.
  • SelectRangeEvery is now part of the core functions.
  • Blur, Sharpen, Resize optimized.
  • Fast XviD colorspace conversions.
  • See clip info using the Info command.

Changes from 2.0.7

  • Only scripts with the "avsi" extension is autoincluded in the plugins directory.
  • Fixed crash on resize on rare occasions.
  • Added "show=true" as optional parameter to Normalize. This will show the maximum amplification possible without distortions.
  • Fixed crash if AVI file could not be opened - also affected segmented sources.
  • Exist(filename) was not present in 2.07.
  • Crashbug in ResampleAudio(), if no audio was present.

SourceForge Logo

 


Edit this document | View document history
Document last modified Thu, 24 Mar 2005 17:02:17