Skip to content

Stefan-Olt/vs-plugin-build

Repository files navigation

vs-plugin-build

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).

Plugin compatibility

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.

Plugin 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)

Plugin issues

Not all plugins with build definitions in the repository build correctly on all platforms at the moment:

linux-glibc-x86_64

currently all plugins can be build

darwin-x86_64

  • 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')

darwin-aarch64

  • 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

Howto fix build issues:

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).