av-denoise 0.1.2

Fast and efficient video denoising using accelerated nlmeans.
[package]
name = "av-denoise"
version = "0.1.2"
edition = "2024"
description = "Fast and efficient video denoising using accelerated nlmeans."
categories = ["multimedia::video"]
keywords = ["cubecl", "denoise", "gpu"]
license = "Apache-2.0"
repository = "https://github.com/ChillFish8/av-denoise"
readme = "README.md"
exclude = [
    "scripts/",
    ".idea/",
    "cubecl.toml",
    "Dockerfile",
    "Justfile"
]
autobins = false

[[bin]]
name = "av-denoise"
path = "src/bin/main.rs"
required-features = ["binary"]

[dependencies]
anyhow = "1"
thiserror = "2"
tracing = "0.1"
tracing-subscriber = "0.3"
strum_macros = "0.28"
strum = "0.28"
bon = "3"

cubecl = { version = "0.10", features = ["std"] }

# Frame ingestion via ffms2
av-scenechange = { version = "0.23", optional = true, features = ["ffms2"] }
av-decoders = { version = "0.9", optional = true, features = ["ffms2"] }
v_frame = { version = "0.5", optional = true }

# Frame ingestion via y4m stdin
y4m = { version = "0.8", optional = true }

# Binary dependencies
clap = { version = "4", optional = true, features = ["derive"] }
mimalloc = { version = "0.1", optional = true, default-features = false }#

[dev-dependencies]
futures = "0.3"

[features]
vulkan = ["cubecl/vulkan"]
metal = ["cubecl/metal"]
cuda = ["cubecl/cuda"]
rocm = ["cubecl/hip"]
cpu = ["cubecl/cpu"]
binary = ["clap", "mimalloc", "av-scenechange", "av-decoders", "v_frame", "y4m"]
default = ["cpu", "vulkan"]

[[bench]]
name = "nlmeans"
harness = false
required-features = ["clap"]

[[bench]]
name = "bench_kernels"
harness = false
required-features = ["clap"]

[[bench]]
name = "denoise"
harness = false
required-features = ["clap"]

[[bench]]
name = "motion"
harness = false
required-features = ["clap"]