VapourSynth plugin build system for Linux/macOS. It is recommended to use vsrepo to install the plugins. Currently most plugins included are simple to compile (no dependencies and standard build system). Other plugins will be added over time (feel free to open pull requests).
Default requirements:
- linux-glibc-x86_64 (Linux 64-Bit): libc6 at least 2.17, Linux Kernel at least 3.2.101 (compiled with GCC 11)
- darwin-x86_64 (Intel Mac): At least OS X 10.11 El Capitan
- darwin-aarch64 (Apple Silicon Mac): At least macOS 11 Big Sur
If a plugin has higher or other requirements this is shown in the list.
For each category the number of currently available plugins in this repo and the total number of plugins in vsrepo is given. For a nice list of all plugins (and scripts/wheels) with more details, see the VapourSynth Database.
Name | Linux (x86_64) | macOS (Intel) | macOS (Apple Silicon) |
---|---|---|---|
Color/Levels (2/5) | |||
Curve | ✅ | ✅ | ✅ |
MatchHistogram | ✅ | ✅ | ✅ |
Deinterlacing (6/10) | |||
Bwdif | ✅ | ✅ | ✅ |
EEDI2 | ✅ | ✅ | ✅ |
NNEDI3 | ✅ | ✅ | ✅ |
SangNom | ✅ | ✅ | ✅ |
TDeintMod | ✅ | ✅ | ❌ |
Yadifmod | ✅ | ✅ | ❌ |
Denoising (15/38) | |||
Bilateral | ✅ | ❌ | ❌ |
BM3D | ✅ | ✅ | ✅ |
Cnr2 | ✅ | ✅ | ✅ |
degrainmedian | ✅ | ✅ | ✅ |
DFTTest | ✅ | ✅ | ✅ |
FFT3DFilter | ✅ | ✅ | ✅ |
FluxSmooth | ✅ | ✅ | ✅ |
Frfun7 | ✅ | ✅ | ✅ |
HQDn3D | ✅ | ✅ | ✅ |
MiniDeen | ✅ | ❌ | ✅ |
RemoveGrain | ✅ | ✅ | ✅ |
TBilateral | ✅ | ✅ | ✅ |
TemporalMedian | ✅ | ✅ | ✅ |
TemporalSoften2 | ✅ | ✅ | ❌ |
TTempSmooth | ✅ | ✅ | ✅ |
Dot Crawl and Rainbows (6/8) | |||
Bifrost | ✅ | ✅ | ✅ |
DeCross | ✅ | ✅ | ❌ |
DeDot | ✅ | ✅ | ✅ |
SmoothUV | ✅ | ❌ | ❌ |
SSIQ | ✅ | ✅ | ✅ |
TComb | ✅ | ✅ | ✅ |
Inverse Telecine (2/3) | |||
IT | ✅ | ❌ | ❌ |
TIVTC | ✅ | ✅ | ❌ |
Other (23/75) | |||
AddGrain | ✅ | ✅ | ✅ |
AWarpSharp2 | ✅ | ✅ | ✅ |
CTMF | ✅ | ✅ | ✅ |
DCTFilter | ✅ | ✅ | ✅ |
Deblock | ✅ | ✅ | ✅ |
DeblockPP7 | ✅ | ✅ | ❌ |
DeLogo | ✅ | ✅ | ❌ |
DePan | ✅ | ✅ | ❌ |
FieldHint | ✅ | ✅ | ✅ |
fillborders | ✅ | ✅ | ✅ |
Histogram | ✅ | ✅ | ✅ |
LGhost | ✅ | ✅ | ✅ |
Median | ✅ | ✅ | ✅ |
Miscfilters (obsolete) | ✅ | ✅ | ✅ |
MotionMask | ✅ | ✅ | ✅ |
MSmoosh | ✅ | ✅ | ✅ |
MVTools | ✅ | ✅ | ✅ |
NoiseGen | ✅ | ❌ | ❌ |
RemapFrames | ✅ | ✅ | ✅ |
Retinex | ✅ | ✅ | ✅ |
TCanny | ✅ | ✅ | ✅ |
TEdgeMask | ✅ | ✅ | ✅ |
vs-noise | ✅ | ✅ | ✅ |
Resizing and Format Conversion (4/13) | |||
Descale | ✅ | ✅ | ✅ |
fmtconv | ✅ | ✅ | ✅ |
JincResize | ✅ | ❌ | ❌ |
Tonemap | ✅ | ✅ | ✅ |
Sharpening (2/2) | |||
ASharp | ✅ | ✅ | ✅ |
CAS - Contrast Adaptive Sharpening | ✅ | ✅ (10.13) | ✅ |
Source/Output (4/13) | |||
BestSource | ✅ | ✅ (10.15) | ✅ |
ColorBars | ✅ | ✅ | ✅ |
FFmpegSource2 | ✅ | ✅ | ✅ |
QRCodeSource | ✅ | ✅ | ✅ |
Subtitles (0/5) |
Not all plugins with build definitions in the repository build correctly on all platforms at the moment:
currently all plugins can be build
- Bilateral: Linking failure (unknown option:
-Bsymbolic
) - IT: Linking failure (unknown option:
-Bsymbolic
) - JincResize: Crash during test
- MiniDeen: Compile failure (error: argument to
'__builtin_ia32_vec_set_v8hi' must be a constant integer'
) - NoiseGen: Crash during test
- SmoothUV: Compile failure (error: argument to
'__builtin_ia32_vec_set_v8hi' must be a constant integer'
)
- Bilateral: configure failure
- DeblockPP7: Uses x86 intrinsics
- DeCross: Only x86 supported
- DeLogo: configure failure (
fatal error: 'vapoursynth/VapourSynth.h' file not found
) - DePan: configure failure (
fatal error: 'vapoursynth/VapourSynth.h' file not found
) - IT: configure failure
- JincResize: Crash during test
- NoiseGen: Crash during test
- SmoothUV: Only x86 supported
- TDeintMod: Uses x86 intrinsics
- TemporalSoften2: Only x86 supported
- TIVTC: Only x86 supported
- Yadifmod: Uses x86 intrinsics
These are a few ideas how to fix build issues on Darwin/macOS:
- Configure or linking failures: These can most likely be fixed by using a newer (better) build system like meson. Creating a meson.build File for a plugin is very easy, see here for an example (with nasm and dependencies).
- Only x86 supported / x86 intrinsics: sse2neon can be used to convert SSE intrinsics to NEON. sse2neon can also be used to convert SSE code to NEON for plugins that can already be build on aarch64 (Apple Silicon) to improve performance.
If you like to help fixing these issues it is recommended that you open an issue on the plugin repository (or create an pull request that fixes the issue there) with the hope the author will release a new version with a fix. If the plugin is unmaintained (or the maintainer does not respond) you can may open an issue here, so the patch can be included in the build system (less desirable option).