[package] name = "oak-common" version.workspace = true edition = "2021" description = "Oak Video Editor shared utilities (Rust)" license = "GPL-3.0-or-later" [lib] crate-type = ["staticlib", "rlib"] [features] # Compile the in-crate ffmpeg_bridge mock (fb_find_best_pix_fmt_of_list stub) # so the integration tests can link without libffmpeg_bridge. Without this # flag, `cargo test --lib` still works (the stub is active under `cfg(test)`), # but the C ABI wrapper tests in tests/ffi_ffmpegutils.rs need it. This # mirrors the `test-stubs` convention of oakplugin / oaktimeline. test-stubs = [] [dependencies] oak-core = { path = "../oak-core" } quick-xml = "0.41.0" log = "0.4" # TOML persistence for the application config (configstore.rs). Already in # Cargo.lock as a transitive dependency (0.8.23); promoted to a direct one. toml = "0.8" # OpenColorIO bindings (crates.io `ocio-rs`, BSD-3-Clause). ocioutils.rs maps # PixelFormat to the real `ocio_rs::BitDepth` enum and wraps # `ocio_rs::Config`/`CPUProcessor` for config loading and RGBA transforms. # Rationale registered in README.md. The `bundled` feature builds the vendored # OpenColorIO from source — all platforms build the SAME OCIO version (distro # packages are too old for the bridge's API floor, e.g. Ubuntu 24.04's 2.1). # An explicit OCIO_INSTALL_DIR still wins over the vendored build when set. ocio-rs = { version = "0.2.1", features = ["bundled"] } # Pure-Rust image I/O (crates.io `image`, MIT OR Apache-2.0); default features # off, TIFF enabled — the only format current callers need. oiioutils.rs # derives per-channel bit depths from its color-type tables and does float # image I/O through it. See README.md. image = { version = "0.25", default-features = false, features = ["tiff"] } thiserror = "2"