[package] name = "rav1e" version = "0.7.1" authors = ["Thomas Daede "] edition = "2021" rust-version = "1.70.0" build = "build.rs" include = [ "/Cargo.toml", "/LICENSE", "/PATENTS", "/README.md", "/build.rs", "/cbindgen.toml", "/src/**", ] license = "BSD-2-Clause" description = "The fastest and safest AV1 encoder" readme = "README.md" repository = "https://github.com/xiph/rav1e/" autobenches = false autobins = false default-run = "rav1e" [features] unstable = [] channel-api = ["crossbeam"] decode_test = ["aom-sys"] decode_test_dav1d = ["dav1d-sys"] binaries = [ "ivf", "y4m", "clap", "clap_complete", "scan_fmt", "fern", "console", "av-metrics", "nom", ] default = ["binaries", "asm", "threading", "signal_support", "git_version"] git_version = ["built/git2"] asm = ["nasm-rs", "cc"] threading = ["rayon/threads"] signal_support = ["signal-hook"] dump_ivf = ["ivf"] quick_test = [] desync_finder = ["backtrace"] bench = [] check_asm = [] capi = ["scan_fmt"] tracing = [ "profiling/profile-with-tracing", "tracing-subscriber", "tracing-chrome", "dep:tracing" ] scenechange = [] serialize = ["serde", "toml", "v_frame/serialize", "serde-big-array", "av1-grain/serialize"] wasm = ["wasm-bindgen"] # Enables debug dumping of lookahead computation results, specifically: # - i-qres.png: quarter-resolution luma planes, # - i-hres.png: half-resolution luma planes, # - i-mvs.bin: motion vectors, # - i-imps.bin: block importances, # - i-activity_scales.bin: spatial scales, # - i-distortion_scales.bin: temporal scales, # - i-spatiotemporal_scales.bin, # - i-thresholds.bin: segmentation thresholds. dump_lookahead_data = ["byteorder", "image"] [dependencies] arg_enum_proc_macro = "0.3.4" bitstream-io = "2" cfg-if = "1.0" clap = { version = "4.4.11", optional = true, default-features = false, features = [ "color", "std", "wrap_help", "derive", ] } clap_complete = { version = "4.4.5", optional = true } libc = "0.2" y4m = { version = "0.8", optional = true } backtrace = { version = "0.3", optional = true } num-traits = "0.2" num-derive = "0.4" paste = "1.0" noop_proc_macro = "0.3.0" serde = { version = "1.0", features = ["derive"], optional = true } dav1d-sys = { version = "0.6.0", package = "libdav1d-sys", optional = true } aom-sys = { version = "0.3.3", optional = true } scan_fmt = { version = "0.2.6", optional = true, default-features = false } ivf = { version = "0.1", path = "ivf/", optional = true } v_frame = "0.3.7" av-metrics = { version = "0.9.1", optional = true, default-features = false } rayon = { package = "maybe-rayon", version = "0.1", default-features = false } crossbeam = { version = "0.8", optional = true } toml = { version = "0.8", optional = true } arrayvec = "0.7" thiserror = "1.0" byteorder = { version = "1.5.0", optional = true } log = "0.4" console = { version = "0.15", optional = true } fern = { version = "0.6", optional = true } itertools = "0.12" simd_helpers = "0.1" wasm-bindgen = { version = "0.2.89", optional = true } nom = { version = "7.1.3", optional = true } new_debug_unreachable = "1.0.4" once_cell = "1.19.0" av1-grain = "0.2.2" serde-big-array = { version = "0.5.1", optional = true } profiling = { version = "1" } tracing-subscriber = { version = "0.3.18", optional = true } tracing-chrome = { version = "0.7.1", optional = true } tracing = { version = "0.1.40", optional = true } [dependencies.image] version = "0.24.7" optional = true default-features = false features = ["png"] [build-dependencies] cc = { version = "1.0", optional = true, features = ["parallel"] } built = { version = "0.7.1", features = [] } [build-dependencies.nasm-rs] version = "0.2" optional = true features = ["parallel"] [target.'cfg(unix)'.dependencies] signal-hook = { version = "0.3", optional = true } [dev-dependencies] assert_cmd = "2.0" criterion = "0.5" pretty_assertions = "1.4.0" interpolate_name = "0.2.4" nom = "7.1.3" quickcheck = "1.0" rand = "0.8" rand_chacha = "0.3" semver = "1.0" [target.'cfg(fuzzing)'.dependencies] arbitrary = "1.3" interpolate_name = "0.2.4" libfuzzer-sys = "0.4.7" rand = "0.8" rand_chacha = "0.3" [target.'cfg(any(decode_test, decode_test_dav1d))'.dependencies] system-deps = "6" [[bin]] name = "rav1e" required-features = ["binaries"] bench = false [[bin]] name = "rav1e-ch" required-features = ["binaries", "channel-api", "unstable"] bench = false [lib] bench = false [[bench]] name = "bench" path = "benches/bench.rs" required-features = ["bench"] harness = false [profile.dev] opt-level = 1 [profile.release] debug = true incremental = true lto = "thin" # windows-gnu should use it until rust-lang/rust#98302 is not fixed [profile.release-no-lto] inherits = "release" lto = "off" [profile.release-strip] inherits = "release" strip = "symbols" [profile.bench] incremental = true [workspace] members = [".", "ivf"] [package.metadata.docs.rs] no-default-features = true