Avisynth 2.56 released
Release notes:
Summary of changelist (with respect to v2.55)
* Added options to DirectShowSource (seekzero, timeout and pixel_type).
* 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 operator MulDiv(multiplicand, multiplier, divisor).
* Added AssumeScaledFPS(multiplier, divisor, sync_audio) maps vi.MulDivFPS.
* Added gamma option (ala ColorYUV) in RGBAdjust.
* 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 Fractional resampling support in ResampleAudio().
* 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"
* 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 (patch by Nyaochi).
* A lot of bugfixes and optimizations.
* Cache improvements.
AviSynth - Aktuelle Version
-
-
Update -> Avisynth 2.5.6a
Release notes:
This is a minor update to the source to correct a problem
in avisynth.h The installable file has been rebuilt to make
sure it match the accompaning source. There are no
substantive changes. -
New build! (The off-line documentation is up to date.)
AviSynth 2.5.7 Alpha1 (March 26th):
Additions:
* 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).Bugfixes:
* 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.Optimizations:
* None.Changes:
* SetMemoryMax() minimum now 4Mb instead of 16. (Tritical)
* Remove 50 plugin auto load limit. (Tritical)
* COM QueryInterface calls now return S_OK instead of NULL.
* Bracketless call of argless function 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 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().As usual download from Sourceforge.
-
ich warte zumindest auf die erste 'beta', alphas sind mir i.d.R. noch zu buggy.
-
Vorallem laufen die ganzen Filter nicht mehr mit der neuen AviSynth-Version. Oder?
-
Alle Filter für den 2.5er Zweig laufen auch mit 2.57.
Bei 2.6 könnte es einige Änderungen geben, die eine Neukompilierung nötig machen, 3 ist ganz anders.
-
Here is release candidate 1 for Avisynth 2.5.7. The intention was for this to be a bug fix release only, but a few minor gems have been slipped in. [Blockierte Grafik: http://forum.doom9.org/images/smilies/smile.gif]
Notes:- I forgot to turn of the COM environment debugging option when I made this build. The final release version will not have this feature. (It can cause problems with miserable software that employs anti-debugging technology. GRR!)
2.57 Changes from 2.56
Additions
- 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 fail 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 raw 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).
Bugfixes
- 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() not 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/inuse 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.
Optimizations
- 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.
Changes
- Map file is now generated for release builds.
- ConvertTo*() and GreyScale() now accept "Rec601" as a valid matrix name.
- 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 argless function 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=true) 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().
As usual download from sourceforge
-
Avisynth 2.5.7 RC3 ist jetzt final!
komplettes Changelog
Download @ sourceforge
btw: Das multithreaded Avisynth von tsp wurde ebenfalls auf die Version 2.5.7 RC3 = final angepaßt:
-
-
AviSynth 2.5.8 RC5
bis zur final dürfte es nicht mehr allzu lange dauern
ZitatAdditions:
* Added Czech doc translation.
* Added Polish doc translation (by Slim, Krismen & Co).
* Updated Japanese documentation [20080813] (Niiyan).
* 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 ShowFiveVersions() YV12 chroma position in bottom half. Regression.
* Fixed DirectShowSource() grey frames after end of stream + 30 frames.
* 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() 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.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 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:
* Initial Memory Max value clamped to 512MB.
* Default Memory Max value restored to quarter of Free memory. Minimum 16Mb. Same 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 [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).
* 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 2.5.8 RC5
bis zur final dürfte es nicht mehr allzu lange dauern
Den Changelog poste ich jetzt nicht nochmal, aber die Final ist jetzt da, einzige neue änderung, die aber nicht viele Interessieren wird...
ZitatIt has been repackaged for a last minute Russian Documentation catchup.
Sonst alles wie bei RC5.
-
Code
Alles anzeigenChanges from 2.5.8 ================== AviSynth_130114.exe Additions ========= * Info: Audio only clip now creates its own canvas video. * AviSource: Include packed/padded processing and -ve biHeight logic for compressed input. * Add Script Functions :- Tau, BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases. * Add WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters. * Add AudioDuration() [as float seconds], IsY8(), IsYV411() & PixelType() [as a string] script functions. * Add Echo and Preroll filters. * Add IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll. * DirectShowSource, 2.6 plugin, support pixel types "AYUV" as YV24, "Y41P" and "Y411" as YV411. * AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 & Y8. * Add "AudioLengthS" [as a string], "Ord" & "FillStr" script functions. * Add AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds. * Add Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0. * Add SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters. * Add Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex. * Add "ConditionalSelect","csc+[show]b" runtime filter. * Add dither option to Levels, RGBAdjust & Tweak. * Add BitAnd(), BitNot(), BitOr() & BitXor() script functions. * Add StrCmp() & StrCmpI() script functions. * Add YV24 support for Limiter show option. * Add "Global OPT_dwChannelMask={int}" * Add 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE. * Add .dll DelayLoad exception texts to crash message formatter. * ImageWriter, add support for printf formating of filename string, default is ("%06d.%s", n, ext); * Add avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface. * Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9. * Add ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises). * Add SkewRows filter. * Histogram, Levels mode, Improve colour of chroma legends. * ConditionalFilter, teach about string results. * Add some more "Add/Remove Software" registry keys to the Installer (XhmikosR). * AviSource: Support both packed and DWORD padded raw planar input like with DSS. * Add IScriptEnvironment::ApplyMessage() * Add ImageSourceAnim (Wilbert) * Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies). * ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll] * ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll] * Add YV24 mode to ColorBars. * Add ColorBarsHD based on arib_std_b28. * C-api usability enhancements from kemuri9 [Work in progress!] * Add Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() & IsYV24() script functions * Allow newlines (and hence comments) before '{' -- Gavino * Added IScriptEnvironment::DeleteScriptEnvironment() * Added Histogram, population clamp % factor for "Levels" mode, * Histogram, revert "Stereo" mode to YV12, Add "StereoY8" mode, * AviSource: Support fourcc "GREY" as Y8 * Added support for argument passing and EAX return value to SoftwireHelper. * Added "Global OPT_VDubPlanarHack=True" to flip YV24 and YV16 chroma planes for old VDub's. * Added "Global OPT_AVIPadScanlines=True" option for DWORD aligned planar padding * Added Matrix="AVERAGE" mode. * Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions. * Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true). * Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions. * Added MaskHS. * Source tweaks to get ready for VC8. * Add Y8 for DevIL, planarize EBMP. * Planar support for many filters. * Added Info() time indicator on audio length and video (current frame & total). (2.5.8) * Added UtoY8 and VtoY8. * Added more info to Info(). (2.5.8) * ColorYUV: Added all adjustment parameters as conditional variables "coloryuv_SETTING". Enable by setting conditional=true. * ConditionalReader: Added support for type String. * ConditionalReader: Added offset keyword to offset all frame numbers after the keyword. * Added SincResize() with optional taps parameter (default is 4). * Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float. * Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2(). * Added core formats: YV24, YV16, Y8, YV411. Bugfixes ======== * Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex. * Fixed ConditionalReader memory overrun parsing bools. * Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate. * Fixed YV24 -> RGB24 overrun cleanup for widths%16 == 5. * Fixed RGB24 AddBorders with right=0. * Fixed conditional_functions error message names (Wilbert). * Fixed Audio cache ac_expected_next regression. * Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert) * Fixed Overlay YV24 V plane conversion. * Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable. * Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert) * Fixed string+string bug when total length is 4096*K-1. * Fixed SincResize misuse of "int abs(int)" (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit "> 0.000001". * Fixed Classic mode legend drawing for planar right limit and yuy2 centre line. * Fixed possible MT race. Use "env->ManageCache(MC_IncVFBRefcount, ...)" in ProtectVFB. * Fixed SwapYToUV output image size bug for 3 clip case. * Fixed Crop limit tests for RGB. * Fixed Overlay yellow tint on rec601 RGB import conversion. * Fixed YtoUV() output image size bug for 3 clip case. * Fixed ConvertToPlanar chroma alignment. * Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255). * Fixed SwapYtoUV yuy2 crash (StainlessS). * Fixed Overlay saturate UV in add and subtract mode. * Fixed Info.h range protect display characters (StainlessS). * Fixed AviSource packed planar import chroma offsets. * Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame. * Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor. * Fixed SelectRangeEvery audio snafu (Gavino). * Fixed LoadPlugin, SaveString of result string. * Fixed LoadPlugin, use _vsnprintf. * Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure. * Fixed rounding in RGB HResize (JoshyD) (affects all resizers) * Fixed error message name in the filter VerticalReduceBy2 * Fixed SeparateFields() with variable parity input clip (Wilbert) * Fixed AviSource, cannot cast__int64* to long*, it does not work! * Fixed ConditionalReader: Don't allow out of range "Range" to overwrite edge values * Fixed MonoToStereo with stereo sources. * Fixed MergeChannels with only 1 input clip. * Fixed AviSource support for negative height DIB format AVI's. * Fixed Audio cache crashes. * Fixed resize with YV411, missing code. * Fixed ConditionalReader rounding with integer interpolation. * Fixed Softwire SSE2 bugs. * Fixed SSSE3 CPU detection. * Fixed SSSE3, SSE4.1 & SSE4.2 detection. * Fixed Fastwire encoding of instructions that are >2 opcodes (SSSE3+4). * Fixed _RPT5() macro for debug builds Optimizations ============= * ConvertToPlanarGeneric explicit add Cache before chroma rescaler. * Overlay minor refactor YV12 -> 444 chroma * Speedup ConvertToMono(), minor refactor MixAudio(). * Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(... * RGBtoY8 Dynamic ASM code, support for RGB24. * YV24backtoYUY2 Dynamic ASM code. * UtoY8, VtoY8 abuse subframe, zero cost. * YV24<->RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough. * ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox. * ConvertAudio, manage tempbuffer and floatbuffer independantly. * ConvertAudio, prefer SSE2 over 3DNow for super AMD cores. * Info.h, full refactor, a good example of "Never look down", thx StainlessS * DoubleWeaveFrames, If A not writable, try to write to B, else make new frame * Histogram, fix GetFrame/NewVideoFrame call order * HResizer, interleave code +4% faster * YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration. * ImageSource: Improve thread interlock code * ConditionalReader/WriteFile: Full refactor. * Replace _strdup with SaveString in AddFunction (Thanks Gavino) * SuperEQ: Improve channel unpacking/packing code. * H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access. * H-Resize: Added SSE2 horizontal unpacker. * Resize: Use SSE3 (lddqu) loads for unaligned memory access. * Added ultra fast vertical PointResizer (64 pixel/cycle). * Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX. * Added dynamic SSE2 vertical resizer (16 pixel/cycle). * Added dynamic MMX vertical resizer (8 pixel/cycle). * Added SSSE3 version for RGB<->YV24 conversions. * Added dynamic compiled MMX/iSSE for RGB<->YV24 conversions. Speed is approx 200% of C-code. Changes ======= * BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip. * BlankClip: Use duration from Audio only template as default length for new clip. * Define new IClip::SetCacheHints cachehint constants. * Force int call arguments to user script function float params to be explicit floats. * Splice pass CacheHints through to both children in + and ++ mode. * WriteFileStart/End save current_frame and set Last. * ConditionalReader do not ignore syntax errors in input file. * ImageSourceAnim Pad/Crop images to match first frame (Wilbert) * ImageSource Add version to messages (Wilbert) * Initial 2.6 API entry point linkage. * Use Invoke for graph tail, enhance non-clip output error reporting. * PopContext when inner block Asserts/throws (maxxon). * Remove duplicate definitions (Wilbert). * Enhance non-clip output error reporting. * Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default) * Use env->Invoke("Cache", ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin. * ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel. * Tweak make Interp same units as minSat and maxSat. * Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar) * Make forced, -ve, planar alignment of chroma planes match subsampling. * Enforce planar alignment restrictions. * C-api: Remove func sub-struct from AVS_Library struct * Add error code to plugin load failure message * Make default planar AVI output packed. Control with OPT_AVIPadScanlines=True. * WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings). * ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels. * ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2. * ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB. see: http://forum.doom9.org/showthread.php?p=1378381#post1378381 * Thread safe code, part 2. * Correct IClip baked documentation * Passify compilation error/warnings (XhmikosR) * for, const, extern and ansi patches for VC2008 (SEt) * Disable OPT_RELS_LOGGING option * Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) * DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() & Validate the size of the provided directshow buffer. * Remove non ascii chars from comments. * Add core stubs for DirectShowSource, TCPServer & TCPSource, report when plugins are missing. * Add note for original source downloads - SoundTouch * Add more lineage history to Info() * Move convertaudio, alignplanar, fillborder & MIN/MAX_INT definitions. * Run AtExit before dismantling world. * Change setcachehints definition from void to int. Test IClip version >= 5. * Move PixelClip definition to avisynth.cpp * SubTitle, etc, make X & Y options float (0.125 pixel granularity). * ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS. * SubTitle, stop overwriting string constants (Gavino). * SubTitle, improve pixel registration (Gavino). * Make Info() CPU display hierarchical. * Thread safe code, part 1. * SoftwireHelper: explicit hardware exception handling. * Resize: Moved GetResampleFunction into Resamplefuntion, to allow overrides. * Resampler: Removed dead stlf code. * Updated Soundtouch to 1.31 (2.5.8) * Put dynamic matrix conversion into separate file. * Moved chroma subsampling to image_type section. * Added specific error reporting when requesting chromasubsampling with Y8. * Split up merge and plane Swappers. * Split up Plane transfers into separate classes. * Added automatic destination colorspace detection on planar YtoUV. * Took out greyscale and RGB32<->RGB24 from convert.cpp and placed them in separate files. * All code assuming UVwidth = Ywidth/2 and similar should be gone.
-
Code
Alles anzeigenChanges from 2.5.8 ================== AviSynth_130114.exe Additions ========= * Info: Audio only clip now creates its own canvas video. * AviSource: Include packed/padded processing and -ve biHeight logic for compressed input. * Add Script Functions :- Tau, BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases. * Add WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters. * Add AudioDuration() [as float seconds], IsY8(), IsYV411() & PixelType() [as a string] script functions. * Add Echo and Preroll filters. * Add IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll. * DirectShowSource, 2.6 plugin, support pixel types "AYUV" as YV24, "Y41P" and "Y411" as YV411. * AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 & Y8. * Add "AudioLengthS" [as a string], "Ord" & "FillStr" script functions. * Add AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds. * Add Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0. * Add SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters. * Add Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex. * Add "ConditionalSelect","csc+[show]b" runtime filter. * Add dither option to Levels, RGBAdjust & Tweak. * Add BitAnd(), BitNot(), BitOr() & BitXor() script functions. * Add StrCmp() & StrCmpI() script functions. * Add YV24 support for Limiter show option. * Add "Global OPT_dwChannelMask={int}" * Add 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE. * Add .dll DelayLoad exception texts to crash message formatter. * ImageWriter, add support for printf formating of filename string, default is ("%06d.%s", n, ext); * Add avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface. * Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9. * Add ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises). * Add SkewRows filter. * Histogram, Levels mode, Improve colour of chroma legends. * ConditionalFilter, teach about string results. * Add some more "Add/Remove Software" registry keys to the Installer (XhmikosR). * AviSource: Support both packed and DWORD padded raw planar input like with DSS. * Add IScriptEnvironment::ApplyMessage() * Add ImageSourceAnim (Wilbert) * Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies). * ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll] * ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll] * Add YV24 mode to ColorBars. * Add ColorBarsHD based on arib_std_b28. * C-api usability enhancements from kemuri9 [Work in progress!] * Add Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() & IsYV24() script functions * Allow newlines (and hence comments) before '{' -- Gavino * Added IScriptEnvironment::DeleteScriptEnvironment() * Added Histogram, population clamp % factor for "Levels" mode, * Histogram, revert "Stereo" mode to YV12, Add "StereoY8" mode, * AviSource: Support fourcc "GREY" as Y8 * Added support for argument passing and EAX return value to SoftwireHelper. * Added "Global OPT_VDubPlanarHack=True" to flip YV24 and YV16 chroma planes for old VDub's. * Added "Global OPT_AVIPadScanlines=True" option for DWORD aligned planar padding * Added Matrix="AVERAGE" mode. * Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions. * Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true). * Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions. * Added MaskHS. * Source tweaks to get ready for VC8. * Add Y8 for DevIL, planarize EBMP. * Planar support for many filters. * Added Info() time indicator on audio length and video (current frame & total). (2.5.8) * Added UtoY8 and VtoY8. * Added more info to Info(). (2.5.8) * ColorYUV: Added all adjustment parameters as conditional variables "coloryuv_SETTING". Enable by setting conditional=true. * ConditionalReader: Added support for type String. * ConditionalReader: Added offset keyword to offset all frame numbers after the keyword. * Added SincResize() with optional taps parameter (default is 4). * Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float. * Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2(). * Added core formats: YV24, YV16, Y8, YV411. Bugfixes ======== * Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex. * Fixed ConditionalReader memory overrun parsing bools. * Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate. * Fixed YV24 -> RGB24 overrun cleanup for widths%16 == 5. * Fixed RGB24 AddBorders with right=0. * Fixed conditional_functions error message names (Wilbert). * Fixed Audio cache ac_expected_next regression. * Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert) * Fixed Overlay YV24 V plane conversion. * Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable. * Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert) * Fixed string+string bug when total length is 4096*K-1. * Fixed SincResize misuse of "int abs(int)" (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit "> 0.000001". * Fixed Classic mode legend drawing for planar right limit and yuy2 centre line. * Fixed possible MT race. Use "env->ManageCache(MC_IncVFBRefcount, ...)" in ProtectVFB. * Fixed SwapYToUV output image size bug for 3 clip case. * Fixed Crop limit tests for RGB. * Fixed Overlay yellow tint on rec601 RGB import conversion. * Fixed YtoUV() output image size bug for 3 clip case. * Fixed ConvertToPlanar chroma alignment. * Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255). * Fixed SwapYtoUV yuy2 crash (StainlessS). * Fixed Overlay saturate UV in add and subtract mode. * Fixed Info.h range protect display characters (StainlessS). * Fixed AviSource packed planar import chroma offsets. * Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame. * Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor. * Fixed SelectRangeEvery audio snafu (Gavino). * Fixed LoadPlugin, SaveString of result string. * Fixed LoadPlugin, use _vsnprintf. * Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure. * Fixed rounding in RGB HResize (JoshyD) (affects all resizers) * Fixed error message name in the filter VerticalReduceBy2 * Fixed SeparateFields() with variable parity input clip (Wilbert) * Fixed AviSource, cannot cast__int64* to long*, it does not work! * Fixed ConditionalReader: Don't allow out of range "Range" to overwrite edge values * Fixed MonoToStereo with stereo sources. * Fixed MergeChannels with only 1 input clip. * Fixed AviSource support for negative height DIB format AVI's. * Fixed Audio cache crashes. * Fixed resize with YV411, missing code. * Fixed ConditionalReader rounding with integer interpolation. * Fixed Softwire SSE2 bugs. * Fixed SSSE3 CPU detection. * Fixed SSSE3, SSE4.1 & SSE4.2 detection. * Fixed Fastwire encoding of instructions that are >2 opcodes (SSSE3+4). * Fixed _RPT5() macro for debug builds Optimizations ============= * ConvertToPlanarGeneric explicit add Cache before chroma rescaler. * Overlay minor refactor YV12 -> 444 chroma * Speedup ConvertToMono(), minor refactor MixAudio(). * Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(... * RGBtoY8 Dynamic ASM code, support for RGB24. * YV24backtoYUY2 Dynamic ASM code. * UtoY8, VtoY8 abuse subframe, zero cost. * YV24<->RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough. * ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox. * ConvertAudio, manage tempbuffer and floatbuffer independantly. * ConvertAudio, prefer SSE2 over 3DNow for super AMD cores. * Info.h, full refactor, a good example of "Never look down", thx StainlessS * DoubleWeaveFrames, If A not writable, try to write to B, else make new frame * Histogram, fix GetFrame/NewVideoFrame call order * HResizer, interleave code +4% faster * YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration. * ImageSource: Improve thread interlock code * ConditionalReader/WriteFile: Full refactor. * Replace _strdup with SaveString in AddFunction (Thanks Gavino) * SuperEQ: Improve channel unpacking/packing code. * H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access. * H-Resize: Added SSE2 horizontal unpacker. * Resize: Use SSE3 (lddqu) loads for unaligned memory access. * Added ultra fast vertical PointResizer (64 pixel/cycle). * Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX. * Added dynamic SSE2 vertical resizer (16 pixel/cycle). * Added dynamic MMX vertical resizer (8 pixel/cycle). * Added SSSE3 version for RGB<->YV24 conversions. * Added dynamic compiled MMX/iSSE for RGB<->YV24 conversions. Speed is approx 200% of C-code. Changes ======= * BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip. * BlankClip: Use duration from Audio only template as default length for new clip. * Define new IClip::SetCacheHints cachehint constants. * Force int call arguments to user script function float params to be explicit floats. * Splice pass CacheHints through to both children in + and ++ mode. * WriteFileStart/End save current_frame and set Last. * ConditionalReader do not ignore syntax errors in input file. * ImageSourceAnim Pad/Crop images to match first frame (Wilbert) * ImageSource Add version to messages (Wilbert) * Initial 2.6 API entry point linkage. * Use Invoke for graph tail, enhance non-clip output error reporting. * PopContext when inner block Asserts/throws (maxxon). * Remove duplicate definitions (Wilbert). * Enhance non-clip output error reporting. * Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default) * Use env->Invoke("Cache", ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin. * ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel. * Tweak make Interp same units as minSat and maxSat. * Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar) * Make forced, -ve, planar alignment of chroma planes match subsampling. * Enforce planar alignment restrictions. * C-api: Remove func sub-struct from AVS_Library struct * Add error code to plugin load failure message * Make default planar AVI output packed. Control with OPT_AVIPadScanlines=True. * WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings). * ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels. * ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2. * ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB. see: http://forum.doom9.org/showthread.php?p=1378381#post1378381 * Thread safe code, part 2. * Correct IClip baked documentation * Passify compilation error/warnings (XhmikosR) * for, const, extern and ansi patches for VC2008 (SEt) * Disable OPT_RELS_LOGGING option * Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) * DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() & Validate the size of the provided directshow buffer. * Remove non ascii chars from comments. * Add core stubs for DirectShowSource, TCPServer & TCPSource, report when plugins are missing. * Add note for original source downloads - SoundTouch * Add more lineage history to Info() * Move convertaudio, alignplanar, fillborder & MIN/MAX_INT definitions. * Run AtExit before dismantling world. * Change setcachehints definition from void to int. Test IClip version >= 5. * Move PixelClip definition to avisynth.cpp * SubTitle, etc, make X & Y options float (0.125 pixel granularity). * ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS. * SubTitle, stop overwriting string constants (Gavino). * SubTitle, improve pixel registration (Gavino). * Make Info() CPU display hierarchical. * Thread safe code, part 1. * SoftwireHelper: explicit hardware exception handling. * Resize: Moved GetResampleFunction into Resamplefuntion, to allow overrides. * Resampler: Removed dead stlf code. * Updated Soundtouch to 1.31 (2.5.8) * Put dynamic matrix conversion into separate file. * Moved chroma subsampling to image_type section. * Added specific error reporting when requesting chromasubsampling with Y8. * Split up merge and plane Swappers. * Split up Plane transfers into separate classes. * Added automatic destination colorspace detection on planar YtoUV. * Took out greyscale and RGB32<->RGB24 from convert.cpp and placed them in separate files. * All code assuming UVwidth = Ywidth/2 and similar should be gone.
-
AviSynth 2.60a4 MT by SEt: avisynth_20130220.7z — noch nicht als "stable" eingeschätzt, Feedback kann nicht schaden...
-
-
Dazu noch eine gepatchte mt_masktools-26.dll für AviSynth MT 2.60a4, die den Absturz wegen veralteter Cache-Schnittstellen beheben soll; nach der Installation von Vit's QTGMC-Plugins austauschen.
-
-
Nur zum Dokumentieren – seit das Wiki von avisynth.org auf avisynth.nl umgezogen ist, hatte sich auch die URL der Plugin-Sammlung von WarpEnterprises leicht verändert:
http://avisynth.nl/users/warpenterprises/
Alternativ dazu auch eine Sammlung innerhalb des Wiki:
-
AVS 2.6.0 RC 1 [150114] (von SEt bisher noch keine MT-DLL).
Und dazu eine aktualisierte CHM-Dokumentation von StainlessS.
-
Oh sehr interessant. Ich dachte immer das Projekt ist schon längst auf Eis gelegt. So kann man sich irren... ;D
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!