/dav1d-rs

libdav1d rust bindings

Primary LanguageRustMIT LicenseMIT

libdav1d bindings LICENSE Actions Status

It is a simple FFI binding and safe abstraction over dav1d.

Building

To build the code, always have a look at CI to install the necessary dependencies on all supported operating systems.

Overriding the dav1d library

The bindings use system-deps to find dav1d. You may override the PKG_CONFIG_PATH or direcly set the env vars SYSTEM_DEPS_DAV1D_SEARCH_NATIVE and/or SYSTEM_DEPS_DAV1D_LIB.

Building with vcpkg for Windows x64

To build with vcpkg, you need to follow these steps:

  1. Install pkg-config through chocolatey

    choco install pkgconfiglite
    
  2. Install dav1d

    vcpkg install dav1d:x64-windows
    
  3. Add to the PKG_CONFIG_PATH environment variable the path $VCPKG_INSTALLATION_ROOT\installed\x64-windows\lib\pkgconfig

  4. Build code

    cargo build --workspace
    

To speed up the computation, you can build your packages only in Release mode adding the set(VCPKG_BUILD_TYPE release) line to the $VCPKG_INSTALLATION_ROOT\triplets\x64-windows.cmake file.

Building for Windows x86 is the same, just replace x64 with x86 in the steps above.

Supported versions

The bindings require dav1d>=1.3.0 ( Might not work for >1.5.0 )

TODO

  • Simple bindings
  • Safe abstraction
  • Examples