Skip to content

AniruthKarthik/vfi

Repository files navigation

Video Frame Interpolation (VFI) Engine

High-performance motion estimation and frame interpolation suite.

🚀 C++ Engine (High Performance)

The C++ engine is a custom Multi-Scale Pyramid Motion Estimator optimized for speed and low-latency streaming.

How it Works

  1. Pyramid Construction: Downscales frames into a multi-level Gaussian pyramid to capture both large and small motions.
  2. 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.
  3. Batch Interpolation: (Optimized) Computes motion vectors once per frame pair and reuses them for all intermediate frames.
  4. Bilinear Projection: Uses bidirectional motion compensation to render new frames with minimal artifacts.

Build & Run

cd cpp && mkdir -p build && cd build
cmake .. && make -j$(nproc)
./vfi <input.mp4> <output.mp4> <target_fps>

🐍 Python Engines (In Progress)

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors