Skip to content

Releases: AmusementClub/vapoursynth-classic

R57.A10 Bug fixes

24 Jun 14:18
Compare
Choose a tag to compare

Full Changelog: R57.A9...R57.A10

R57.A9 Bug fixes

27 Apr 12:57
Compare
Choose a tag to compare

R57.A8 Event profiling support & lazy plugin loading

02 Feb 07:20
Compare
Choose a tag to compare

Besides some bugfixes (e.g. a proper fix for vapoursynth#929), this release introduced event profiling with nsight. Configure nsight to capture NVTX traces (and CUDA/GPU metrics if you also want to profile CUDA plugins.)

A new VS-C API RawNode._setName(name) can be used to set a node's name. Event profiling will include the node's name. vspipe -g and vspipe --filter-time will also include a node's name (if different from node's filter name).

NVTX Event Domains:

  • vs-cache: cache related events (categories: 1 hit, 2 miss, 3 grow, 4 shrink).
  • vs-create: filter creation events (measures filter creation latency)
  • during run time, filter callbacks are classifies into these four domains
    • vs-initial: arInitial getFrame callbacks
    • vs-ready: arAllFrameReady or arFrameReady getFrame callbacks
    • vs-error: arError getFrame callbacks
    • vs-unknown: other activationReasons (shouldn't normally happen).

The profiling code is always enabled, but without using nsight instrumentation, the overhead should be minimal.
(Define NVTX_DISABLE macro to completely remove the profiling code.)

You might need a certain internal script to help generate better profiles.

python 3.8/3.9/3.10/3.11/3.12alpha support are provided.

Note: this release dropped support for 32-bit windows/x86 as it has been effectively unmaintained and untested since api4.

R57.A7 some bugfixes and Python 3.11.1 support

06 Jan 09:35
Compare
Choose a tag to compare

Includes all R61 bugfixes, minus some features that are not yet stable.

The release will simultaneously support python 3.8.10, 3.9.13, 3.10.9, and 3.11.1 (VapourSynth DLLs are the same, you only need different pyd files for those four Python major versions.)

R57.A6 workaround a performance regression against R54

12 Nov 23:42
Compare
Choose a tag to compare

This release fixes #7, which is significant (10x) performance regression against R54 with certain large temporal radius filtering scripts.

The exact trigger condition is a little involved, as it depends on num_threads, the cycle of SelectEvery and the temporal radius of AverageFrames for the scripts in #7 (comment).

Whether the source filter is api3 or api4 doesn't matter in this case.

R57.A5 more and more bugfixes

02 Nov 02:43
Compare
Choose a tag to compare

Even more bugfixes from upstream and elsewhere.

R57.A4 more bugfixes

18 Jul 23:46
Compare
Choose a tag to compare
R57.A4 more bugfixes Pre-release
Pre-release

Even more bugfixes from upstream.

R57.A3 Fix std.Expr bug (#847) and better support for multiple Python versions (3.8/3.9/3.10/3.11)

06 Feb 17:35
Compare
Choose a tag to compare

This release fixes vapoursynth#847 and provides better support for multiple Python versions.

The binary release supports Python 3.8, 3.9 and 3.10 at the same time. Just extract the embedded Python package of your choice into it and done. There is no need to run vs-detect-python.bat anymore.

Note that, the Python extension pyd files are still tightly coupled to the Python version, and this can't be changed without cython fully supporting stable CPython API. This release mainly addresses the VSScript.dll vs VSScriptPython38.dll issue. This release now only has one VSScript.dll, which supports Python 3.10/3.9/3.8.

Going forward, we strive to support support Python 3.8 (for Windows 7 users), and the latest two major Python releases for VS-C binary releases (at least until Github action ceases to support Python 3.8 or Python C ABI changes significantly, neither of which is likely in the near future.) The code will support all major Python release from 3.8 up to the latest release. The new infrastructure should make this very sustainable as adding a new Python release is as simple as adding one line to vsscript.cpp and slightly tweak Github Actions workflow, as long as Python does not change certain aspects of its C ABI.

Update:

  • The A3b files includes VC runtime DLLs as well, built with e8cff08.
  • The A3c files fixes a few important bugs (fixed in upstream R58 and master). It also includes experimental python 3.11 support for those who want to try out the 25%+ speedup. built with 8b5458f.

R57.A2 fix performance regression

19 Jan 04:04
Compare
Choose a tag to compare

This release fixes a performance regression. Now vs-c should be slightly faster than upstream R57 while using ~40% less memory (benchmarked with havsfunc.QTGMC(Preset='Very Slow')).

R57.A1

31 Dec 04:11
Compare
Choose a tag to compare

This interim release is mainly intended for the upcoming @AmusementClub VS portable.

Compared to R57.A0, we have Incorporated these changes:

  1. restored VideoFrame.planes Python API
  2. restored vspipe option -c / --preserve-cwd (while keeping -c y4m support intact)
  3. record function names along with namespace in graph introspection API (getNodeCreationFunctionName), and modified vspipe so that vspipe --filter-time would differentiate between std.Expr and akarin.Expr.
  4. incorporated upstream fix for vapoursynth#833

core plugins:

Note:
Updated new release release-x64.new.zip and release-x86.new.zip that includes bundled coreplugins. The previous released files (release-x86.zip and release-x64.zip) do not include coreplugins and VSScriptPython38.dll due to unexpected build failures.