[package]
name = "scenesdetect"
version = "0.1.0"
edition = "2024"
repository = "https://github.com/findit-ai/scenesdetect"
homepage = "https://github.com/findit-ai/scenesdetect"
documentation = "https://docs.rs/scenesdetect"
description = "Scene/shot cut detection ported from PySceneDetect — Sans-I/O streaming API with SIMD-accelerated detectors for histogram, pHash, threshold, content, and adaptive algorithms."
license = "MIT OR Apache-2.0"
rust-version = "1.85.0"
[[bench]]
path = "benches/histogram.rs"
name = "histogram"
harness = false
[[bench]]
path = "benches/phash.rs"
name = "phash"
harness = false
[[bench]]
path = "benches/threshold.rs"
name = "threshold"
harness = false
[[bench]]
path = "benches/content.rs"
name = "content"
harness = false
[[bench]]
path = "benches/adaptive.rs"
name = "adaptive"
harness = false
[features]
default = ["std"]
alloc = ["libm"]
std = ["thiserror/default"]
serde = ["dep:serde", "dep:humantime-serde"]
[dependencies]
derive_more = { version = "2", default-features = false, features = ["is_variant", "display"] }
thiserror = { version = "2", default-features = false }
mediatime = { version = "0.1", default-features = false }
libm = { version = "0.2", optional = true, default-features = false }
serde = { version = "1", default-features = false, features = [
"derive",
], optional = true }
humantime-serde = { version = "1", default-features = false, optional = true }
[dev-dependencies]
criterion = "0.8"
tempfile = "3"
[profile.bench]
opt-level = 3
debug = false
codegen-units = 1
lto = 'thin'
incremental = false
debug-assertions = false
overflow-checks = false
rpath = false
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints.rust]
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(all_tests)',
'cfg(tarpaulin)',
] }