rav1e 0.6.3

The fastest and safest AV1 encoder
Documentation
[package]
name = "rav1e"
version = "0.6.3"
authors = ["Thomas Daede <tdaede@xiph.org>"]
edition = "2021"
rust-version = "1.60.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 = ["rust_hawktracer/profiling_enabled"]
scenechange = []
serialize = ["serde", "toml", "v_frame/serialize", "serde-big-array"]
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"
bitstream-io = "1"
cfg-if = "1.0"
clap = { version = "4.0.18", optional = true, default-features = false, features = [
    "color",
    "std",
    "wrap_help",
    "derive",
] }
clap_complete = { version = "4.0.3", optional = true }
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.7.0", optional = true }
aom-sys = { version = "0.3.2", optional = true }
scan_fmt = { version = "0.2.3", optional = true, default-features = false }
ivf = { version = "0.1", path = "ivf/", optional = true }
v_frame = "0.3.0"
av-metrics = { version = "0.9.0", optional = true, default-features = false }
rayon = { package = "maybe-rayon", version = "0.1", default-features = false }
crossbeam = { version = "0.8", optional = true }
toml = { version = "0.5", optional = true }
arrayvec = "0.7"
thiserror = "1.0"
byteorder = { version = "1.3.2", optional = true }
log = "0.4"
console = { version = "0.15", 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"
const_fn_assert = "0.1.2"
nom = { version = "7.0.0", optional = true }
new_debug_unreachable = "1.0.4"
once_cell = "1.13.0"
av1-grain = { version = "0.2.0", features = ["serialize"] }
serde-big-array = { version = "0.4.1", optional = true }

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

[build-dependencies]
cc = { version = "1.0", optional = true, features = ["parallel"] }
rustc_version = "0.4"
built = { version = "0.5.2", 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.4"
pretty_assertions = "1.3.0"
interpolate_name = "0.2.2"
nom = "7.1.1"
quickcheck = "1.0"
quickcheck_macros = "1.0"
rand = "0.8"
rand_chacha = "0.3"
semver = "1.0"

[target.'cfg(fuzzing)'.dependencies]
arbitrary = "0.4"
interpolate_name = "0.2.2"
libfuzzer-sys = "0.3"
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"
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.bench]
incremental = true

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

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