#vmaf #bindings #build #source #netflix #libvmaf

sys libvmaf-sys

Library bindings for Netflix's VMAF

21 releases

0.4.4 Dec 14, 2023
0.4.3 Nov 30, 2023
0.3.6 Jan 22, 2023
0.3.4 Dec 26, 2022
0.1.5 Nov 27, 2022

#233 in Video


Used in libvmaf-rs

GPL-3.0-or-later

1.5MB
30K SLoC

C 26K SLoC // 0.1% comments C++ 3K SLoC // 0.1% comments Assembly 1.5K SLoC // 0.1% comments Rust 82 SLoC // 0.1% comments INI 39 SLoC // 0.1% comments

About

raw Rust bindings for libvmaf 2.0 and above from Netflix

There are 2 ways to consume this library. The method used is determined by the build feature.

  • Build feature enabled
    • builds and links to libvmaf from source
  • Build feature disabled
    • uses locally installed libvmaf to generate bindings

Requirements

  • build feature enabled
    • meson
    • ninja
    • nasm
    • python
  • build feature disabled
    • pkg-config
  • Both
    • clang

Building on Windows

Building this library on windows will follow the same requirements as libvmaf. You'll need MinGW64 with the following packages installed:

  • build feature enabled
    • mingw-w64-x86_64-nasm
    • mingw-w64-x86_64-gcc
    • mingw-w64-x86_64-meson
    • mingw-w64-x86_64-ninja
  • build feature disabled
    • mingw-w64-x86_64-vmaf
    • mingw-w64-x86_64-pkg-config
  • Both
    • mingw-w64-x86_64-clang

Also, make sure that you add the MinGW bin directory to your PATH By default this will be C:\msys64\mingw64\bin

Dependencies

~0–1.9MB
~37K SLoC