rav1e 0.5.0-alpha

The fastest and safest AV1 encoder
Documentation
[package]
name = "rav1e"
version = "0.5.0-alpha"
authors = ["Thomas Daede <tdaede@xiph.org>"]
edition = "2018"
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",
    "scan_fmt",
    "fern",
    "console",
    "av-metrics",
]
default = ["binaries", "asm", "signal_support"]
asm = ["nasm-rs", "cc", "regex"]
signal_support = ["signal-hook"]
dump_ivf = ["ivf"]
quick_test = []
desync_finder = ["backtrace"]
bench = []
check_asm = []
capi = []
tracing = ["rust_hawktracer/profiling_enabled"]
scenechange = []
serialize = ["serde", "toml", "v_frame/serialize", "arrayvec/serde"]
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.
dump_lookahead_data = ["byteorder", "image"]

[dependencies]
arg_enum_proc_macro = "0.3"
bitstream-io = "1"
cfg-if = "1.0"
clap = { version = "2", optional = true, default-features = false }
libc = "0.2"
y4m = { version = "0.7", optional = true }
backtrace = { version = "0.3", optional = true }
num-traits = "0.2"
num-derive = "0.3"
paste = "1.0"
noop_proc_macro = "0.3.0"
serde = { version = "1.0", features = ["derive"], optional = true }
dav1d-sys = { version = "0.3.2", optional = true }
aom-sys = { version = "0.2.1", optional = true }
scan_fmt = { version = "0.2.3", optional = true, default-features = false }
ivf = { version = "0.1", path = "ivf/", optional = true }
v_frame = { version = "0.2", path = "v_frame/" }
av-metrics = { version = "0.6.2", optional = true, default-features = false }
rayon = "1.0"
crossbeam = { version = "0.8", optional = true }
toml = { version = "0.5", optional = true }
arrayvec = { version = "0.5", features = ["array-sizes-33-128"] }
thiserror = "1.0"
byteorder = { version = "1.3.2", optional = true }
log = "0.4"
console = { version = "0.14", optional = true }
fern = { version = "0.6", optional = true }
itertools = "0.10"
simd_helpers = "0.1"
wasm-bindgen = { version = "0.2.63", optional = true }
rust_hawktracer = "0.7.0"

[dependencies.image]
version = "0.23"
optional = true
default-features = false
features = ["png"]

[build-dependencies]
cc = { version = "1.0", optional = true, features = ["parallel"] }
# Vendored to remove the dependency on `failure`,
# which takes a long time to build.
vergen = { version = "3", path = "crates/vergen" }
rustc_version = "0.3"
regex = { version = "1", optional = true }

[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 = "1.0"
criterion = "0.3"
pretty_assertions = "0.6"
interpolate_name = "0.2.2"
rand = "0.8"
rand_chacha = "0.3"
semver = "0.11"

[target.'cfg(fuzzing)'.dependencies]
arbitrary = "0.4"
interpolate_name = "0.2.2"
libfuzzer-sys = "0.3"
rand = "0.8"
rand_chacha = "0.3"

[[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"
harness = false

[profile.dev]
opt-level = 1

[profile.release]
debug = true
incremental = true
lto = "thin"

[profile.bench]
incremental = true

[workspace]
members = [".", "ivf", "v_frame"]

[package.metadata.docs.rs]
no-default-features = true

[patch.crates-io]
v_frame = { path = "v_frame" }