Releases: AmusementClub/vapoursynth-classic
R57.A10 Bug fixes
Full Changelog: R57.A9...R57.A10
R57.A9 Bug fixes
Full Changelog: R57.A8...R57.A9
R57.A8 Event profiling support & lazy plugin loading
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
orarFrameReady
getFrame callbacks - vs-error:
arError
getFrame callbacks - vs-unknown: other activationReasons (shouldn't normally happen).
- vs-initial:
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
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
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
Even more bugfixes from upstream and elsewhere.
R57.A4 more bugfixes
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)
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
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
This interim release is mainly intended for the upcoming @AmusementClub VS portable.
Compared to R57.A0, we have Incorporated these changes:
- restored
VideoFrame.planes
Python API - restored
vspipe
option-c
/--preserve-cwd
(while keeping-c y4m
support intact) - record function names along with namespace in graph introspection API (
getNodeCreationFunctionName
), and modifiedvspipe
so thatvspipe --filter-time
would differentiate betweenstd.Expr
andakarin.Expr
. - incorporated upstream fix for vapoursynth#833
core plugins:
- imwri: https://github.com/AmusementClub/vs-imwri/releases/tag/vA.R2
- subtext: https://github.com/Masaiki/subtext/actions
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.