Changes

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.

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

Optimizations

Changes

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.

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.

Changes from 2.5.0 Beta

Additions

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