github pinterf/AviSynthPlus v3.7.6pre-r4604
Avisynth+ v3.7.6pre-r4604 test build

pre-release4 hours ago

Full change list: https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/changelist376.html

20260518 3.7.5.r4604 (pre 3.7.6)

  • Subtitle: add "placement" string parameter — chroma location hint for subsampled
    YUV (4:2:0, 4:2:2, 4:1:1). When gdi=true, all three siting modes are supported:
    "MPEG2"/"left" (default), "MPEG1"/"center", and "top_left" (UHD 4:2:0/4:2:2).
    Default is read from the _ChromaLocation frame property, falling back to "left".
    When gdi=false only "left" and "center" are implemented (same as Text).
  • Subtitle: add "gdi" bool parameter. When false, Subtitle uses the built-in bitmap
    font (Terminus) instead of Windows GDI rendering (same path as Text). Faster and
    cross-platform compatible; placement is then limited to "left"/"center".
    Default: true.
    See at https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/subtitle.html
  • Text: add "gdi" bool parameter (accepted, has no effect; API compatibility with
    Subtitle — on non-Windows Subtitle is aliased to Text). Default: false.
  • Subtitle Antialiaser (Windows GDI): GetAlphaRect() now has SSE4.1, AVX2, and
    AVX512 SIMD implementations.
    Internal mask buffer refactored to row-interleaved SoA layout for correct
    chroma-placement-aware UV compositing via prepare_effective_mask_for_row
    downsampling (8 MaskModes covering all subsampling ratios x siting variants;
    SIMD rowprep dispatch matching Overlay/Layer).
  • ShowCRC32: new "channels" (select planes), "mode" (0=combined, 1=per-plane), and
    "showmode" (0=display, 1=display+frameprop, 2=frameprop only) parameters;
    frame property "ShowCRC32" is an int64 array of unsigned 32-bit CRC values;
    planar RGB(A) planes always in R,G,B,A order; packed formats with default parameters
    hash the raw buffer unchanged (backward-compatible).
    See at https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/showframes.html
  • rstdoc: document Invert's chroma inversion behavior
    See at https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/invert.html

20260506 3.7.5.r4589 (pre 3.7.6)

TL;DR (since r4565):

  • Layer/Overlay/Merge: weighted and masked-merge kernels unified into a shared family (C/SSE4.1/AVX2/NEON);
    SIMD chroma-placement mask downsampling for 4:2:0/4:2:2/4:1:1 sources;
    "placement" parameter for Overlay "blend" (new) and Layer (new "top_left" option added):
    values are "mpeg2" (default), "mpeg1", "top_left".
    See at https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/layer.html

  • Layer: new "mulovr" mode (Overlay-compatible YUV multiply with luma-driven chroma desaturation);
    new "top_left" placement option; legacy MMX/iSSE removed.

  • Merge (non-masked) C/SIMD integer arithmetic unified.

  • SIMD additions: AVX2/SSE4.1/NEON float chroma-mask row preparation; AVX2 float weighted merge.

  • Further optimizations: Invert (AVX2/SSE2), ExtractX (direct packed-RGB path),
    ConvertBits int depth-reduce C loop, PlanarRGB(A)->RGB32/64 (AVX2).

  • SetFilterProp: conditional injection by filter argument value; capture mode;
    SetFilterPropPassthrough helper; GetFilterProps() diagnostics function.
    See also: AviSynth#393
    and the online documentation at https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/setfilterprop.html

  • Bug fixes: Text("\n") crash on zero-length lines; Layer no longer silently rounds odd x/y
    offsets on subsampled YUV — accepts them as-is like Overlay; ceiling formula for
    non-grid-aligned positions — last chroma column/row is no longer skipped in either filter.

Don't miss a new AviSynthPlus release

NewReleases is sending notifications on new releases.