[package]
name = "rav1e"
version = "0.7.1"
authors = ["Thomas Daede <tdaede@xiph.org>"]
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"]
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"
[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