[go: up one dir, main page]

rav1e 0.3.3

The fastest and safest AV1 encoder
Documentation
[package]
name = "rav1e"
version = "0.3.3"
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

[features]
decode_test = ["aom-sys"]
decode_test_dav1d = ["dav1d-sys"]
binaries = [
    "ivf",
    "y4m",
    "clap",
    "scan_fmt",
    "fern",
    "console",
]
default = ["binaries", "asm", "signal_support"]
asm = ["nasm-rs", "cc"]
signal_support = ["signal-hook"]
dump_ivf = ["ivf"]
quick_test = []
desync_finder = ["backtrace"]
bench = []
check_asm = []
capi = []
tracing = ["rust_hawktracer"]
serialize = ["serde", "toml"]

# 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 = "0.8"
cfg-if = "0.1"
clap = { version = "2", optional = true, default-features = false }
libc = "0.2"
y4m = { version = "0.5", optional = true }
backtrace = { version = "0.3", optional = true }
num-traits = "0.2"
num-derive = "0.3"
paste = "0.1"
noop_proc_macro = "0.2.0"
serde = { version = "1.0", features = ["derive"], optional = true }
dav1d-sys = { version = "0.3.1", optional = true }
aom-sys = { version = "0.1.4", optional = true }
scan_fmt = { version = "0.2.3", optional = true, default-features = false }
ivf = { version = "0.1", path = "ivf/", optional = true }
rayon = "1.0"
toml = { version = "0.5", optional = true }
arrayvec = "0.5"
thiserror = "1.0"
byteorder = { version = "1.3.2", optional = true }
log = "0.4"
console = { version = "0.11", optional = true }
fern = { version = "0.6", optional = true }
itertools = "0.9"
simd_helpers = "0.1"

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

[dependencies.rust_hawktracer]
version = "0.7.0"
features = ["profiling_enabled"]
optional = true

[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.2"

[build-dependencies.nasm-rs]
version = "0.1.7"
optional = true
features = ["parallel"]

[target.'cfg(unix)'.dependencies]
signal-hook = { version = "0.1.9", optional = true }

[dev-dependencies]
assert_cmd = "1.0"
criterion = "0.3"
pretty_assertions = "0.6"
interpolate_name = "0.2.2"
rand = "0.7"
rand_chacha = "0.2"
semver = "0.9"

[target.'cfg(fuzzing)'.dependencies]
arbitrary = "0.2"
interpolate_name = "0.2.2"
rand = "0.7"
rand_chacha = "0.2"

[[bin]]
name = "rav1e"
required-features = ["binaries"]
bench = false

[lib]
bench = false
crate-type = ["lib", "staticlib"]

[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false

[profile.dev]
opt-level = 1

[profile.release]
debug = true
codegen-units = 1  # if > 1 enables parallel code generation which improves
                   # compile times, but prevents some optimizations.
                   # Passes `-C codegen-units`. Ignored when `lto = true`.
lto = true

[profile.bench]
codegen-units = 1
lto = true

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

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