Skip to content

Releases: pinterf/AviSynthPlus

Avisynth+ v3.7.6pre-r4551 test build

06 Mar 19:11

Choose a tag to compare

Pre-release

20260306 3.7.5.r4551 (pre 3.7.6)

  • Reenable YUY2 in planar target conversions as source (disabled in r4549)
  • ConvertToY also gets bits and quality parameters, latter is used when source is RGB.

20260305 3.7.5.r4549 (pre 3.7.6)

  • Fix: memory leak in Subframe/MakePropertyWritable after static-frame sources (ColorBars, BlankClip)
  • any->YUV conversions (See https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/convert.html`.
    • accept bits and quality parameters, similar to ConvertToPlanarRGB
    • the legacy 8-bit-named functions (ConvertToYV12, ConvertToYV16,
      ConvertToYV24) allowing high-depth sources.
    • "ConvertToYUY2": rewritten to route all conversions through YV16.
    • "ConvertToYUY2": ChromaOutPlacement parameter added (was missing, present in ConvertToYV16).
    • "ConvertBackToYUY2": kept for backward compatibility; now forwards to ConvertToYUY2. The pre-2.5 left-pixel-only chroma hack is no longer
      needed or applied; the YV16 lossless repack path avoids chroma resampling loss entirely for roundtrip workflows.
    • 8 bit packed RGB formats are converted to planar RGB before 444 conversion.
      Utilizing the optimized planar RGB infrastructure.
    • Fix: "ConvertToYUY2" / "ConvertToYV12": progressive YV12<->YUY2 conversion (use generic YV16/YV12 path)
    • Fix: "ConvertToYUY2": _ChromaLocation, _Matrix and _ColorRange
      frame properties were not read from YV12 source frames and not written to YUY2 output frames
      in the old legacy direct conversion path.
    • Fix: "ConvertToYUY2": SSE2 interlaced upsampling used wrong weighting direction, differing from the C reference implementation.
  • Update https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/convert.html`
    • matrix syntax
    • ConvertToYUY2
    • bits and quality parameters
  • Update Sampling https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/advancedtopics/sampling.html with historical content notes
    on legacy YUY2 handling.

Avisynth+ v3.7.6pre-r4549 test build

05 Mar 11:13

Choose a tag to compare

Pre-release

Avisynth Plus change log

Source: https://github.com/AviSynth/AviSynthPlus

This file contains all change log, with detailed examples and explanations.
The "rst" version of the documentation just lists changes in brief.
For online documentation check https://avisynthplus.readthedocs.io/en/latest/

Actual:
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

20260305 3.7.5.r4549 (pre 3.7.6)

  • Fix: memory leak in Subframe/MakePropertyWritable after static-frame sources (ColorBars, BlankClip)
  • any->YUV conversions (See https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/convert.html`.
    • accept bits ans quality parameters, similar to ConvertToPlanarRGB
    • the legacy 8-bit-named functions (ConvertToYV12, ConvertToYV16, ConvertToYV24) allowing high-depth sources.
    • "ConvertToYUY2": rewritten to route all conversions through YV16.
    • "ConvertToYUY2": ChromaOutPlacement parameter added (was missing, present in ConvertToYV16).
    • "ConvertBackToYUY2": kept for backward compatibility; now forwards to ConvertToYUY2. The pre-2.5 left-pixel-only chroma hack is no longer
      needed or applied; the YV16 lossless repack path avoids chroma resampling loss entirely for roundtrip workflows.
    • 8 bit packed RGB formats are converted to planar RGB before 444 conversion.
      Utiliting the optimized and maintained planar RGB infrastructure
    • Fix: "ConvertToYUY2" / "ConvertToYV12": progressive YV12<->YUY2 conversion (use generic YV16/YV12 path)
    • Fix: "ConvertToYUY2": _ChromaLocation, _Matrix and _ColorRange
      frame properties were not read from YV12 source frames and not written to YUY2 output frames
      in the old legacy direct conversion path.
    • Fix: "ConvertToYUY2": SSE2 interlaced upsampling used wrong weighting direction, differing from the C reference implementation.
  • Update https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/convert.html`
    • matrix syntax
    • ConvertToYUY2
    • bits and quality parameters
  • Update Sampling https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/advancedtopics/sampling.html with historical content notes
    on legacy YUY2 handling.

Avisynth+ v3.7.6pre-r4529 test build

20 Feb 21:22

Choose a tag to compare

Pre-release

Actual:
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

20260220 3.7.5.r4529 (pre 3.7.6)

20260216 3.7.5.r4523 (pre 3.7.6)

  • Fix r4504 regression YUV->RGBP bit-depth changing full-scale SSE2/AVX2 bug (exchanged G,B storage)
  • "Layer" YUV mul/add/subtract/lighten/darken: refactor chroma placement calculation, allowing SIMD optimization in the main frame processing
  • "Layer" YUV/RGBP mul/add/subtract/lighten/darken: refactor function dispatchers, add AVX2 path (LLVM/clangcl recommended)
  • Fix C-only vertical resampling code which added more rounding than needed (regression since pre-3.7.5 20250427)
  • Invert: per-plane processing for planar formats, use C even in AVX2, proper chroma inversion
  • New: AddAlphaPlane opacity parameter
  • New: ResetMask opacity parameter
  • rstdoc: document "opacity" in AddAlphaPlane and ResetMask
  • rstdoc: detail Layer "use_chroma" and opacity
  • Overlay "Blend": more speed, but keep accuracy, use float only where really needed
  • Layer: use YV16 internally for YUY2 (lessen source code bloat)

v3.7.6pre-r4523

16 Feb 19:45

Choose a tag to compare

v3.7.6pre-r4523 Pre-release
Pre-release

For online documentation check https://avisynthplus.readthedocs.io/en/latest/

Actual:
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

20260216 3.7.5.r4523 (pre 3.7.6)

  • Fix r4504 regression YUV->RGBP bit-depth changing full-scale SSE2/AVX2 bug (exchanged G,B storage)
  • "Layer" YUV mul/add/subtract/lighten/darken: refactor chroma placement calculation, allowing SIMD optimization in the main frame processing
  • "Layer" YUV/RGBP mul/add/subtract/lighten/darken: refactor function dispatchers, add AVX2 path (LLVM/clangcl recommended)
  • Fix C-only vertical resampling code which added more rounding than needed (regression since pre-3.7.5 20250427)
  • Invert: per-plane processing for planar formats, use C even in AVX2, proper chroma inversion
  • New: AddAlphaPlane opacity parameter
  • New: ResetMask opacity parameter
  • rstdoc: document "opacity" in AddAlphaPlane and ResetMask
  • rstdoc: detail Layer "use_chroma" and opacity
  • Overlay "Blend": more speed, but keep accuracy, use float only where really needed
  • Layer: use YV16 internally for YUY2 (lessen source bloat)

20260213 3.7.5.r4507 (pre 3.7.6)

Fix Layer "add" 8 bit, regression in r4504

20260212 3.7.5.r4504 (pre 3.7.6)

  • Fix: inaccurate ColorBarsHD 10+ bit values. Now they are derived from the 32-bit float
    RGB definitions instead of upscaling a 8 bit precalculated YUV value.
    Add Ramp section the lead-in-lead-out.
  • Fix: GreyScale + SSE2 + RGB32 + matrix="RGB" overflow.
    Rare usage; "RGB" matrix (Identity) uses a 1.0 coefficient which exceeds the signed 16-bit
    SIMD limit of 32767 at 15-bit precision. Added bounds checking to fallback to C-code for any
    coefficients >= 1.0 or < −1.0.
  • Fix: YUV->RGB limited range matrix accuracy for 10-16 bits.
  • Use a different rounding in matrix coefficient's integer approximation.
  • "ConvertToPlanarRGB": bits parameter: on-the-fly bit-depth conversions to YUV->RGB conversion.
    • Full range target: 8-16 bits internal calculation is in 32-bit float.
    • Limited range target: a quicker, bit accuracy optimized integer calculation path.
  • Not Fixed: Speed degradation when in-constructor GetFrame(0) (e.g. frame-property getter)
    is used. Disable internal Cache object creation. Does not work in complex scripts, preparation
    is 5-10 min instead of <1 sec. Investigation continues (Issue AviSynth#476: AviSynth#476)
  • Avoid MTGuard and CacheGuard creation if filter returns one of its clip parameter unaltered.
  • Add some avx2 stuff to Layer and Invert
  • Optimization: Overlay "Blend": aarch64 NEON optimization

Avisynth+ v3.7.6pre-r4507 test build

12 Feb 14:41

Choose a tag to compare

Pre-release

(r4504 test replaced with r4507, Reason: "Layer" "add" 8 bit case regression)

Actual:
https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

20260213 3.7.5.r4507 (pre 3.7.6)

Fix Layer "add" 8 bit, regression in r4504

20260212 3.7.5.r4504 (pre 3.7.6)

  • Fix: inaccurate ColorBarsHD 10+ bit values. Now they are derived from the 32-bit float
    RGB definitions instead of upscaling a 8 bit precalculated YUV value.
    Add Ramp section the lead-in-lead-out.
  • Fix: GreyScale + SSE2 + RGB32 + matrix="RGB" overflow.
    Rare usage; "RGB" matrix (Identity) uses a 1.0 coefficient which exceeds the signed 16-bit
    SIMD limit of 32767 at 15-bit precision. Added bounds checking to fallback to C-code for any
    coefficients >= 1.0 or < −1.0.
  • Fix: YUV->RGB limited range matrix accuracy for 10-16 bits.
  • Use a different rounding in matrix coefficient's integer approximation.
  • "ConvertToPlanarRGB": bits parameter: on-the-fly bit-depth conversions to YUV->RGB conversion.
    • Full range target: 8-16 bits internal calculation is in 32-bit float.
    • Limited range target: a quicker, bit accuracy optimized integer calculation path.
  • Not Fixed: Speed degradation when in-constructor GetFrame(0) (e.g. frame-property getter)
    is used. Disable internal Cache object creation. Does not work in complex scripts, preparation
    is 5-10 min instead of <1 sec. Investigation continues (Issue AviSynth#476: AviSynth#476)
  • Avoid MTGuard and CacheGuard creation if filter returns one of its clip parameter unaltered.
  • Add some avx2 stuff to Layer and Invert
  • Optimization: Overlay "Blend": aarch64 NEON optimization

20260203 3.7.5.r4483 (pre 3.7.6)

  • rst documentation update: RGBAdjust https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/adjust.html
  • rst documentation update: ColorYUV https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/coloryuv.html
  • optimization: add AVX2 TurnLeft/TurnRight/Turn180 (R/L: 1,5-3x speed).
  • optimization: ConvertBits AVX2 integer->float
  • optimization: ConvertToPlanarRGB(A): YUV->RGB add AVX2 (2-3x speed)
  • optimization: ConvertToPlanarRGB(A): YUV->RGB 16 bit: a quicker way (1,5x)
  • Fix: C version of 32-bit ConvertToPlanarRGB YUV->RGB to not clamp output RGB values.
  • ConvertToPlanarRGB(A): add bits parameter to alter target bit-depth.
  • ConvertToPlanarRGB(A): from YUV->RGB full range output: optimized in-process when bits=32, other cases call ConvertBits internally.
  • Fix: Packed RGB conversions altering the bit-depth (e.g. rgb32->ConvertToRGB64() worked always in full range.
  • Add more AVX512 resampler code. (WIP)
  • Add more AVX512_BASE code paths (Resamplers)
  • Build: add _avx512b.cpp/hpp pattern in CMake to detect source to compile with base (F,CD,BW,DQ,VL) flags.
    However AVX512_BASE itself is set only when AVX512_FAST found.
    For pre-Ice Lake (older AVX512) systems you can enable it with SetMaxCPU("avx512base+") and get the optimized AVX512_BASE functions.
  • Build: add new architecture z/Architecture

Avisynth+ v3.7.6pre-r4483 test build

03 Feb 08:12

Choose a tag to compare

Pre-release

20260203 3.7.5.r4483 (pre 3.7.6)

  • rst documentation update: RGBAdjust https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/adjust.html
  • rst documentation update: ColorYUV https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/coloryuv.html
  • optimization: add AVX2 TurnLeft/TurnRight/Turn180 (R/L: 1,5-3x speed).
  • optimization: ConvertBits AVX2 integer->float
  • optimization: ConvertToPlanarRGB(A): YUV->RGB add AVX2 (2-3x speed)
  • optimization: ConvertToPlanarRGB(A): YUV->RGB 16 bit: a quicker way (1,5x)
  • Fix: C version of 32-bit ConvertToPlanarRGB YUV->RGB to not clamp output RGB values.
  • ConvertToPlanarRGB(A): add bits parameter to alter target bit-depth.
  • ConvertToPlanarRGB(A): from YUV->RGB full range output: optimized in-process when bits=32, other cases call ConvertBits internally.
  • Fix: Packed RGB conversions altering the bit-depth (e.g. rgb32->ConvertToRGB64() worked always in full range.
  • Add more AVX512 resampler code. (WIP)
  • Add more AVX512_BASE code paths (Resamplers)
  • Build: add _avx512b.cpp/hpp pattern in CMake to detect source to compile with base (F,CD,BW,DQ,VL) flags.
    However AVX512_BASE itself is set only when AVX512_FAST found.
    For pre-Ice Lake (older AVX512) systems you can enable it with SetMaxCPU("avx512base+") and get the optimized AVX512_BASE functions.
  • Build: add new architecture z/Architecture

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