← Package directory
Available on winget

Install VapourSynth

A video processing framework with simplicity in mind

Install with winget
winget install --id VapourSynth.VapourSynth
Upgrade
winget upgrade --id VapourSynth.VapourSynth
Uninstall
winget uninstall --id VapourSynth.VapourSynth

About VapourSynth

A video processing framework with simplicity in mind

What's new in R78

- a compiler supporting c++20 is now required to build the project, compatibility has been verified with recent msvc, clang(-cl) and gcc - relaxed the zen4 level instruction check to not include avx512bf16 since compilers never use these instructions on their own, this allows the faster binaries to be used on intel ice lake cpus and later as well - added turn90 and turn270 functions - fixed multiple rare threading issues, the most likely of these to be actually encountered in r76 and r77 was a deadlock that could happen when synchronous getFrame() is called from a filter getFrame function and a pipeline flush is in progress - added basic avx512 as an additional cpu instruction level meaning that on x64 it's now baseline, avx2, avx512 and zen4 level - fixed audiogain and audiomix destroying audio with a bit depth between 17 and 31 bits, most commonly 24 bit, where samples were clamped against the significant bit range instead of the range of the container they are stored left aligned in - added the AudioResample filter for audio sample rate, channel layout and sample format conversion, the downmix coefficients follow itu-r bs.775 and the mix matrix is derived from the two layouts so any combination works - added waveform, amplitude and frequency arguments to BlankAudio for generating slope, sine, square and triangle test signals - added chromatic_adaptation argument to resize filters, it defaults to True which is identical to the previous behavior - mergefulldiff now handles float appropriately - maskedmerge and premultiply will no longer reject clips with different chroma l...

Read release notes

Version history

Version Updated Notes
R78 Unknown - a compiler supporting c++20 is now required to build the project, compatibility has been verified with recent msvc, clang(-cl) and gcc - relaxed the zen4 level instruction check to not include avx512bf16 since compiler...
R76 Unknown - vsrepo is now no longer installed automatically for portable installs due to most plugins being available on pypi - the register-install command can now be used on *nix as well (HolyWu) - fixed ctrl-c handling in vspip...
R75 Unknown - slightly improved memory usage when many frames are queued for output - improved things for distro packagers - improved ccfEnableFrameRefDebug flag, it now outputs a list of all allocated frames as a log message after...
R74 Unknown - avfs has been moved to a separate repository/download - configuration and and handling of autoloading directories has been completely reworked, see documentation for a full explanation - the whole application can now b...
R73 Unknown **LAST RELEASE WITH WINDOWS 7 SUPPORT** - many minor python improvements (ichunjo) - the api r3 headers are no longer distributed with the windows binaries, general api r3 support for plugins remains for now - vsscript r...
R72 Unknown - added named pipe output support to vspipe in windows by specifying \.\pipe<pipename> - fixed a bug that could lead to wrong timecodes being output by vspipe when a clip contains many different frame durations - the por...
R71 Unknown - fixed vertical mirroring at edges in convolution filters - improved trim and audiotrim error messages - updated the supported python versions to 3.13 and 3.8 on windows - updated visual studio 2022 runtime version
R70 Unknown Uses latest visual studio compiler again. See https://github.com/Jaded-Encoding-Thaumaturgy/vs-preview/issues/190 for a workaround for vspreview crashes. Other changes: - the inspectable core flag is now correctly detect...
R69 Unknown added YUV420PS/H and YUV422PS/H constants for convenience vspipe --info will now output information for all set output nodes added a new function to to the vsscript api to get a list of all set output indices, since most...
R68 Unknown fixed portable base path detection, was broken in r67 fixed is_inspectable, was broken in r67 reverted widestring print changes in vspipe from r67
R66 Unknown updated the supported python versions to 3.12 and 3.8 added an option to write a full filter graph with time information to file when done processing in vspipe clarified where different information will be output in vspi...
R65 Unknown fixed inspection api sometimes causing memory corruption when used from python frame properties in python are now return as str type instead of bytes when hinted as utf8 printable fixed how unprintable data is returned f...