High-performance motion estimation and frame interpolation suite.
The C++ engine is a custom Multi-Scale Pyramid Motion Estimator optimized for speed and low-latency streaming.
- Pyramid Construction: Downscales frames into a multi-level Gaussian pyramid to capture both large and small motions.
- Coarse-to-Fine Search: Estimates motion vectors at the lowest resolution and refines them at higher resolutions using SAD (Sum of Absolute Differences) block matching.
- Batch Interpolation: (Optimized) Computes motion vectors once per frame pair and reuses them for all intermediate frames.
- Bilinear Projection: Uses bidirectional motion compensation to render new frames with minimal artifacts.
cd cpp && mkdir -p build && cd build
cmake .. && make -j$(nproc)
./vfi <input.mp4> <output.mp4> <target_fps>The Python-based implementations focus on deep learning architectures for maximum visual fidelity.
- Standard Engine (
py/main.py): Uses RIFE (Real-Time Intermediate Flow Estimation) for high-quality neural interpolation. - Best Engine (
py/best_engine.py): Features TTA (Test-Time Augmentation) and CRF 0 (Lossless) encoding. Currently undergoing refactoring for performance.
Status: C++ Engine is production-ready. Python engines are experimental.