- AdaptiveBinarize: based on OpenCV's Adaptive Thresholding.
- Bilateral: A faster version of VapourSynth-Bilateral.
- BoxBlur: A faster version of std.BoxBlur.
- Checkmate: Spatial and temporal dot crawl reducer from AviSynth.
- CLAHE: Contrast Limited Adaptive Histogram Equalization from OpenCV.
- CombMaskMT: Port of MTCombMask from AviSynth.
- Metrics: Image metrics like SSIMULACRA2 and XPSNR.
- PlaneAverage: Vapoursynth PlaneStats with threshold.
- PlaneMinMax: Vapoursynth PlaneStats with threshold.
- RFS: Replace frames plugin.
src = core.std.BlankClip(None, 1920, 1080, vs.YUV420P16, 5000)
src.bilateral.Bilateral(ref=None, sigmaS=2, sigmaR=2, planes=[0,1,2]).set_output(1)
# Output 5000 frames in 43.35 seconds (115.35 fps)
src.vszip.Bilateral(ref=None, sigmaS=2, sigmaR=2, planes=[0,1,2]).set_output(2)
# Output 5000 frames in 35.37 seconds (141.36 fps)
src.std.BoxBlur(hradius=13, hpasses=1, vradius=13, vpasses=1).set_output(3)
# Output 5000 frames in 16.74 seconds (298.60 fps)
src.vszip.BoxBlur(hradius=13, hpasses=1, vradius=13, vpasses=1).set_output(4)
# Output 5000 frames in 4.78 seconds (1046.11 fps)
src.std.BoxBlur(hradius=13, hpasses=5, vradius=13, vpasses=5).set_output(5)
# Output 5000 frames in 76.72 seconds (65.17 fps)
src.vszip.BoxBlur(hradius=13, hpasses=5, vradius=13, vpasses=5).set_output(6)
# Output 5000 frames in 13.62 seconds (367.01 fps)
Put zig-master in your PATH and run: zig build -Doptimize=ReleaseFast
Or run the script in build-help.