Work

Rustsynth

Rust
Video Processing
Systems Programming

A safe Rust wrapper for VapourSynth, enabling high-performance video processing with memory safety guarantees.

Rust programming language logo with VapourSynth integration

Rustsynth is a comprehensive Rust wrapper for VapourSynth, a powerful video processing framework. This project demonstrates advanced systems programming skills by providing safe, idiomatic Rust bindings for a complex C++ library.

Key Features

  • Memory Safety: Leverages Rust’s ownership system to prevent common video processing errors
  • Performance: Zero-cost abstractions maintain VapourSynth’s high performance
  • Type Safety: Strong typing prevents runtime errors in video filter chains
  • Cross-platform: Works seamlessly across Windows, macOS, and Linux

Technical Highlights

  • Large-scale systems project: Over 6,000 lines of production Rust code
  • Complex FFI bindings: Safe wrappers around VapourSynth’s extensive C++ API surface
  • Advanced memory management: Custom allocators and lifetime management for video frame data
  • Multi-threaded processing: Thread-safe filter graph execution with work-stealing scheduling
  • Custom build system: Sophisticated cargo integration with dynamic library detection
  • Plugin architecture: Extensible filter system with dynamic loading capabilities
  • rspipe implementation: Complete Rust reimplementation of VapourSynth’s vspipe CLI tool

Real-World Usage

Rustsynth enables high-performance VapourSynth plugin development:

  • vs-frameblender-rs: A VapourSynth plugin written in Rust using SIMD intrinsics and rustsynth’s safe wrapper. Used in video processing workflows and tools for advanced frame blending operations. Written by me.

View on GitHub