Skip to content

Releases: pinterf/AviSynthPlus

Avisynth+ v3.7.6pre-r4439 test build - incl. Win7 build

07 Jan 18:31

Choose a tag to compare

20260107 3.7.5.r4439 (pre 3.7.6)

  • add AVX512 code path (tuning by DTL2020)

    • 32-bit float resamplers, verticals; horizontals up to kernel size 16.

    • 8-16-bit horizontal resamplers,

      • kernel size <= 4 and specific ratios; 300%+ !!
      • kernel sizes up to 8 and 16 and specific ratios.
    • 8-16-bit vertical resamplers

For online documentation, please check https://avisynthplus.readthedocs.io/en/latest/
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

Note for Windows 7 compatibility builds:

Avisynth+ v3.7.6pre-r4430 test build - incl. Win7 compatibility-test versions

05 Jan 09:23

Choose a tag to compare

20260105 3.7.5.r4430 (pre 3.7.6)

  • add AVX512 code path to 8-16-bit horizontal resamplers, having kernel size <= 4 and specific ratios (DTL) 300%+ !!
  • More Aarch64 (ARM64) NEON:
    • add I8MM and SVE2_1 feature flags
    • add NEON optimization to TurnLeft/Right/180

Avisynth+ v3.7.6pre-r4403 test build

26 Dec 08:59

Choose a tag to compare

Pre-release

20251225 3.7.5.r4403 (pre 3.7.6)

  • Fix: The Animate() function now explicitly clamps interpolated values to ensure they remain
    strictly between the start and end range. Due to the high precision of 64-bit double introduced
    in v3.7.5, intermediate calculations could slightly exceed the boundary (e.g., 360.00000000000006
    when interpolating from 0 to 360.0 in 564 steps), requiring this clamp to prevent out-of-range errors.

Avisynth+ v3.7.6pre-r4400 test build

23 Dec 19:26

Choose a tag to compare

Pre-release

20251223 3.7.5.r4400 (pre 3.7.6)

  • AVX512 float resampler additions, optimize horizontal (kernelsize <= 8), add code for vertical (DTL2020)
  • Fix an ApplyMessage regression not recognizing '\n' line ends of Authors.avs (since 20250831)

XP build still exist.
Non-XP version is built with clangcl (LLVM).
Windows 7 not supported.
Needs fresh VC14 redistributables. Get latest V14 redist is from here (permalink to the .exe):
https://aka.ms/vc14/vc_redist.x64.exe

Avisynth+ v3.7.6pre-r4392 test build

20 Dec 14:13

Choose a tag to compare

Pre-release

20251220 3.7.5.r4392 (pre 3.7.6)

  • "Info": Optimize AVX512 features display, group features, make a bit more compact
  • "Info": add L2 cache size display
  • "SetMaxCPU": add "avx512base" and "avx512fast" options to enable/disable AVX512 grouped features. see SetMaxCPU .
  • ARM64 (aarch64) area:
    • "Info": add ARMV8-A features display (NEON, DOTPROD, SVE2)
    • Add ArmV8-A cpu feature detection (NEON, DOTPROD, SVE2) on ARM64 Windows/Linux/macOS builds. On Windows, only up-to DOTPROD can be detected due to OS limitations.
    • New CPU flags in cpuid.h and avisynth_c.h: CPUF_ARM_NEON, CPUF_ARM_DOTPROD, CPUF_ARM_SVE2
    • "SetMaxCPU": add "neon", "dotprod", "sve2" options to enable/disable ARM64 (aarch64) features.
  • New CPU flags: cpuid.h and ``avisynth_c.h - added AVX512 group feature flags CPUF_AVX512_BASE and CPUF_AVX512_FAST (Ice Lake, usable AVX-512 since that point). - added many new AVX512 individual feature flags - added ARM64 feature flags CPUF_ARM_NEON, CPUF_ARM_DOTPROD, CPUF_ARM_SVE2 - CPUF_xxxxx flags are now 64 bit, replace enum with constexpr.
  • CMakeLists.txt: avx512 compile flag support for gcc/clang ("fast" Ice Lake-like feature set).
  • V13 interface: GetCPUFlagsEx returning 64 bit flags (too many AVX512 subfeatures to fit in 32 bit). C interface: avs_get_cpu_flags_ex. see GetCPUFlagsEx and GetCPUFlags
  • V13 interface: L2 cache size query support. New entry in AvsEnvProperty: AEP_CACHESIZE_L2 (C++), AVS_AEP_CACHESIZE_L2 (C) to query L2 cache size in bytes with IScriptEnvironment->GetEnvProperty(). x86/x64 architecture only for now. See AvsEnvProperty .
  • Refactor CMakeLists.txt:
    • Correct default of ENABLE_INTEL_SIMD for cross-compiling scenarios (e.g. ARM64 target on x86_64 host) Old logic relied on the host processor: ${CMAKE_SYSTEM_PROCESSOR}
    • Add back option to compile ARM64 builds with Visual Studio on Windows. On VS2026 even clangcl (LLVM) is supported out-of-box for ARM64 platform, easily cross-compilable way from an x64 machine.
    • VDubFilter: allow building on Windows only x86/x64 targets (and not for ARM64).
    • Fix LLVM/clangcl/Intel ICX compile warning: 'WIN32' macro redefined as "#define WIN32 /D_WINDOWS /W3 /GR /EHsc 1 ", when CMake injects a command-line macro wrongly and thus redefines WIN32 . The fix: converts global add_definitions("/D ...") and other option string magics into per-target target_compile_definitions() and target_compile_options(). Thus removing the accidental injection of ${CMAKE_CXX_FLAGS} into add_compile_options(), and prevents the WIN32 macro redefinition.
  • Change video-framebuffer over-allocation from 16 to 64 bytes. Allocate 64 bytes more than needed for video frame buffer in order to be able to read 64 bytes safely with AVX512 without risking access violation on the last pixels of the frame.
  • rst docs
    • Update GetCPUFlags, add GetCPUFlagsEx
    • Update CPU Feature Flags with AVX512 and ARM64 features
    • Update SetMaxCPU with AVX512 and ARM64 features
    • Update AvsEnvProperty with L2 cache size entry
    • Update Russian GPL notice in UTF-8 format

Avisynth+ v3.7.6pre-r4356 test build

30 Nov 20:16

Choose a tag to compare

Pre-release

Avisynth+ v3.7.6pre-r4356 test build

Since last week:

  • add AVX512 VNNI flag
  • make Info() more compact when displaying AVX512 flags.
  • optimize horizontal 32-bit float small (<=4) kernel size
  • optimize 32-bit float vertical avx2
  • Add mechanism (cache hint) to inform a filter about the effective number of threads when Prefetch is called.

Check full change list here:
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

Avisynth+ v3.7.6pre-r4335 test build

22 Nov 21:48

Choose a tag to compare

Pre-release

This build was created with Visual Studio 2026, which seemingly still has the v141_xp toolset. We'll see.
Non-XP builds are LLVM 20.1 (clang-cl option), which comes along with the actual VS2026 installation (November 2025)

Avisynth+ 3.7.4 filesonly + Intel 2025 ICX builds

25 Mar 08:30
424707f

Choose a tag to compare

AviSynth+ 3.7.4 with unofficial additional builds, "filesonly" edition.

Surely, we don't want to officially support so many different kind of compiler sugar.
I provide there builds as-is (and is good for a reference build for myself for developing and benchmarking).

LLVM is not magic, they are not necessarily quicker than MSVC builds, sometimes are slower.

This is true for these AVX2 vs SSE4.2 builds, where sometimes the SSE4.2 version provides 25% quicker code from unoptimized C source than the AVX2 counterpart. But in other use cases AVX2 is much faster.

So it depends; evaluate for your favourite script and decide. If you cannot decide, stuck with the official files at https://github.com/AviSynth/AviSynthPlus/releases/tag/v3.7.4

Added:
Intel C++ Compiler 2025 (ICX - LLVM based) Windows x64 builds with two compiler options: SSE4.2, AVX2.

Note, that as an extra, only avisynth.dll is provided.

Avisynth+ 3.7.3+ r4269. 64 bit data types, v11 API, and more

06 Feb 10:35

Choose a tag to compare

This is not the official Avisynth+ release site, but due to recent significant changes, I am releasing this test version publicly.

Changes Include:

  • Addition of 64-bit integer and floating point types

  • New script functions and syntax additions such as

    • wildcard and regex support in frame property filtering in propCopy, propDelete, propShow
    • Info and propShow align, and positioning
    • "break" and "continue" in for-next and while loops
    • ArraySort
    • SubTitle to handle in-string LF automatically for multiline
    • Expr C path speedup, implement tan for fast JITasm
    • Animate interpolation by external function
    • Resizers "force" parameter, GaussResize new parameters
    • new filter MultiOverlay
    • AddBorders and LetterBox: transient area filtering option
    • rewritten resizers:
      • memory overread fix
      • no size limit ("image height is too small for this resizing method" errors are gone)
      • Fix artifacts on boundaries.
      • respect chroma location (fixed chroma shift on downsize with non-centerer chroma locations)
      • new placement and keep_center parameters
      • C-only version a bit more vectorizable by smart compilers
  • C++ and C API V11 (check FilterSDK for libraries and headers)

Please review the change list here:

https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist374.html
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/FilterSDK/FilterSDK.html#what-s-new-in-the-api-v11

Test DLLs were compiled with Visual Studio 2022 and can run on XP up to Windows 11. The Imageseq and DirectShowSource plugins were copied from an earlier release, but theoretically, they have not changed.

Intel icx version was compiled

  • with static Intel extra libraries, no Intel redist is needed (unlike at the r4193 test).
  • no optional secondary code paths (unlike r4610 and some before)

Provide feedback at:
https://github.com/AviSynth/AviSynthPlus

or doom9 forum at

https://forum.doom9.org/showthread.php?t=181351&page=149

Avisynth+ r2772-MT

20 Dec 13:27

Choose a tag to compare

Avisynth+ r2772 (20181220)

https://forum.doom9.org/showthread.php?t=168856

  • Fix: Expr: possible Expr x64 crash under specific memory circumstances (AVX2 only)
  • Fix: Expr: safer code for internal variables "Store and pop from stack" (see: Internal variables at http://avisynth.nl/index.php/Expr)

Avisynth+ r2768 (20181218)

  • New: Expr: allow input clips to have more planes than an implicitely specified output format
    Expr(aYV12Clip, "x 255.0 /", format="Y32") # target is Y only which needs only Y plane from YV12 -> no error
  • New: Expr: Y-plane-only clip(s) can be used as source planes when a non-subsampled (rgb or 444) output format implicitely specified
    Expr(Y, "x", "x 2.0 /", "x 3.0 /", format="RGBPS") # r, g and b expression uses Y plane
    Expr(Grey_r, Grey_g, Grey_b, "x", "y 2.0 /", "z 3.0 /", format="RGBPS") # r, g and b expression uses Y plane
  • Fix: ConvertToYUY2() error message for non-8 bit sources.
  • Fix: Y32 source to 32 bit 420,422,444 (introduced in big the zero-chroma-center transition)
  • Fix: ShowY, ShowU, ShowV crash for YUV (non-YUVA) sources
  • Speedup: ConvertToY12/16... for RGB or YUY2 sources where 4:4:4 or YV16 intermediate clip was used internally
    (~1.5-2x speed, was a regression in Avs+, use intermediate cache again)
  • Fix: Allow ExtractY on greyscale clips
  • ImageReader/ImageSource: use cache before FreezeFrame when result is a multiframe clip (fast again, regression since an early AVS+ version)
  • Resizers: don't use crop at special edge cases to avoid inconsistent results across different parameters/color spaces
  • Fix: Histogram 'classic': rare incomplete histogram shown in multithreading environment
  • Fix: ImageReader and ImageWriter: if path is "" then it works from/to the current directory.
  • GeneralConvolution: Allow 7x7 and 9x9 matrices (was: 3x3 and 5x5)
  • GeneralConvolution: All 8-32 bit formats (was: RGB32 only): YUY2 is converted to/from YV16, RGB24/32/48/64 are treated as planar RGB internally
    Since 32 bit float input is now possible, matrix elements and bias parameter now is of float type.
    For 8-16 bit clips the matrix is converted to integer before use.
  • GeneralConvolution: Allow chroma subsampled formats to have their luma or chroma processed. E.g. set chroma=false for a YV12 input.
  • GeneralConvolution: new parameters: boolean luma (true), boolean chroma(true), boolean alpha(true)
    Default: process all planes. For RGB: luma and chroma parameters are ignored.
    Unprocessed planes are copied. Using alpha=false makes RGB32 processing faster, usually A channel is not needed.
  • GeneralConvolution: MT friendly parameter parsing
  • New: UTF8 filename support in AviSource, AVIFileSource, WAVSource, OpenDMLSource and SegmentedAVISource
    All functions above have a new bool utf8 parameter. Default value is false.
  • Experimental: new syntax element (by addewyd): assignment operator ":=" which returns the assigned value itself.
    (Assignment within an expression)