$ account gdavila
The repository provides a command-line tool for computing VMAF (Video Multi-method Assessment Fusion) scores between reference and distorted video streams. It automates preprocessing steps required for accurate VMAF assessment, including deinterlacing, scaling, frame rate adaptation, and temporal synchronization. The tool supports both CPU and GPU-accelerated VMAF computation via libvmaf and libvmaf_cuda, and can process multiple video pairs using glob patterns. The architecture follows a three-layer design: the CLI layer handles argument parsing and output formatting, the VMAF layer orchestrates preprocessing and scoring, and the FFmpeg layer provides low-level wrappers for FFmpeg/FFprobe subprocesses and filterchain management. This separation of concerns makes the FFmpeg wrapper component particularly reusable for other multimedia processing tasks. The tool outputs results in JSON, XML, CSV, or to stdout, and includes features such as automatic sync window search, reverse sync, end-sync option, VMAF model selection (HD and 4K), and CAMBI heatmap generation. It is designed for Linux and macOS, with Docker support for both CPU and GPU environments.