[package]
edition = "2024"
name = "rivet-codec"
version = "0.1.3"
authors = ["Ely Erin Fox"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GPU video decode/encode dispatch (NVDEC/NVENC, AMF, QSV) plus colorspace, tonemap, audio, and probe for the rivet transcoder. Imported as `codec`."
readme = "README.md"
license-file = "LICENSE.md"
repository = "https://github.com/elyerinfox/rivet"
resolver = "2"
[features]
amd = []
default = []
ffmpeg = ["dep:ffmpeg-next"]
nvidia = []
qsv = []
serde = ["dep:serde"]
[lib]
name = "codec"
path = "src/lib.rs"
[[test]]
name = "gpu_vendor_matrix"
path = "tests/gpu_vendor_matrix.rs"
[[test]]
name = "nvdec_smoke"
path = "tests/nvdec_smoke.rs"
[[test]]
name = "nvenc_caps"
path = "tests/nvenc_caps.rs"
[[bench]]
name = "bilinear"
path = "benches/bilinear.rs"
harness = false
[[bench]]
name = "colorspace"
path = "benches/colorspace.rs"
harness = false
[[bench]]
name = "colorspace_601_to_709"
path = "benches/colorspace_601_to_709.rs"
harness = false
[[bench]]
name = "downsample_444_to_420"
path = "benches/downsample_444_to_420.rs"
harness = false
[[bench]]
name = "nvdec_decode"
path = "benches/nvdec_decode.rs"
harness = false
[[bench]]
name = "scale"
path = "benches/scale.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.audiopus]
version = "0.3.0-rc.0"
[dependencies.bytes]
version = "1"
[dependencies.ffmpeg-next]
version = "7.1"
features = [
"codec",
"format",
"software-scaling",
"software-resampling",
]
optional = true
default-features = false
[dependencies.image]
version = "0.25"
features = ["png"]
default-features = false
[dependencies.lewton]
version = "0.10"
[dependencies.libloading]
version = "0.8"
[dependencies.minimp3]
version = "0.5"
[dependencies.mp4]
version = "0.14"
[dependencies.nvml-wrapper]
version = "0.10"
[dependencies.rubato]
version = "0.15"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(streaming_api_landed)"]