[package] name = "cros-codecs" version = "0.0.5" license = "BSD-3-Clause" description = "Hardware-accelerated codecs for Linux" repository = "https://github.com/chromeos/cros-codecs" authors = ["The ChromiumOS Authors"] edition = "2021" [features] default = [] backend = ["anyhow", "byteorder", "thiserror", "crc32fast", "nix", "gbm", "gbm-sys", "drm", "drm-fourcc", "zerocopy"] vaapi = ["libva", "backend"] v4l2 = ["v4l2r", "backend"] [dependencies] anyhow = { version = "1.0.75", optional = true } byteorder = { version = "1.4.3", optional = true } libva = { version = "0.0.12", package = "cros-libva", optional = true } v4l2r = { version = "0.0.5", package = "v4l2r", optional = true } log = { version = "0", features = ["release_max_level_debug"] } thiserror = { version = "1.0.58", optional = true } crc32fast = { version = "1.3.2", optional = true } nix = { version = "0.28", features = ["fs", "event", "poll", "mman", "ioctl"], optional = true } drm = { version = "0.12.0", optional = true } drm-fourcc = { version = "2.2.0", optional = true } gbm = { version = "0.15", default-features = false, features = ["drm-support"], optional = true } gbm-sys = { version = "0.3.1", optional = true } zerocopy = { version = "0.8.14", optional = true, features = ["derive"] } [dev-dependencies] argh = "0.1.12" env_logger = "0.9.3" serde_json = "1.0.96" [lints.rust] # Required to allow #[cfg(fuzzing)] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } [[example]] name = "ccdec" required-features = ["backend"] [[example]] name = "ccenc" required-features = ["backend"] [[example]] name = "perf_test" required-features = ["backend"]