waterkit-codec 0.1.1

Hardware-aware video codec with deterministic timing and wgpu texture output
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "waterkit-codec"
version = "0.1.1"
authors = ["Lexo Liu"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Hardware-aware video codec with deterministic timing and wgpu texture output"
readme = "README.md"
keywords = [
    "codec",
    "video",
    "gpu",
    "h264",
    "av1",
]
categories = [
    "multimedia::video",
    "graphics",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/water-rs/waterkit"
resolver = "2"

[features]
default = ["software-fallback"]
software-fallback = [
    "dep:rav1e",
    "dep:rav1d",
    "dep:avif-parse",
    "dep:yuv",
    "dep:moxcms",
]

[lib]
name = "waterkit_codec"
path = "src/lib.rs"

[dependencies.half]
version = "2"

[dependencies.image]
version = "0.25"
features = [
    "png",
    "jpeg",
    "gif",
    "webp",
    "bmp",
    "ico",
    "tiff",
]
default-features = false

[dependencies.libc]
version = "0.2"

[dependencies.shaderloom]
version = "0.1.2"

[dependencies.thiserror]
version = "2"

[dependencies.tracing]
version = "0.1.44"

[dependencies.waterkit-video-core]
version = "0.1.1"

[dependencies.wgpu]
version = "29.0.4"

[build-dependencies.shaderloom]
version = "0.1.2"
features = ["build"]

[build-dependencies.waterkit-build]
version = "0.1.1"

[target.'cfg(not(any(target_os = "android", target_arch = "wasm32")))'.dev-dependencies.image]
version = "0.25"
features = [
    "png",
    "jpeg",
    "gif",
    "webp",
    "bmp",
    "ico",
    "tiff",
    "avif",
]
default-features = false

[target.'cfg(not(any(target_os = "ios", target_os = "android", target_arch = "wasm32")))'.dependencies.avif-parse]
version = "2.1"
optional = true

[target.'cfg(not(any(target_os = "ios", target_os = "android", target_arch = "wasm32")))'.dependencies.moxcms]
version = "0.8.1"
features = ["extended_range"]
optional = true

[target.'cfg(not(any(target_os = "ios", target_os = "android", target_arch = "wasm32")))'.dependencies.rav1d]
version = "1.1"
features = [
    "bitdepth_8",
    "bitdepth_16",
]
optional = true
default-features = false

[target.'cfg(not(any(target_os = "ios", target_os = "android", target_arch = "wasm32")))'.dependencies.rav1e]
version = "0.8"
features = ["threading"]
optional = true
default-features = false

[target.'cfg(not(any(target_os = "ios", target_os = "android", target_arch = "wasm32")))'.dependencies.yuv]
version = "0.8.16"
optional = true

[target.'cfg(target_os = "android")'.dependencies.jni]
version = "0.22"

[target.'cfg(target_os = "android")'.dependencies.ndk]
version = "0.9"
features = [
    "media",
    "api-level-29",
]

[target.'cfg(target_os = "android")'.dependencies.ndk-sys]
version = "0.6"

[target.'cfg(target_os = "linux")'.dependencies.cros-codecs]
version = "0.0.6"
features = ["vaapi"]
default-features = false

[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62"
features = [
    "Devices_Geolocation",
    "Foundation",
    "Win32_Media_MediaFoundation",
    "Win32_System_Com",
]

[target.'cfg(target_vendor = "apple")'.dependencies.objc2]
version = "0.6"

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-core-foundation]
version = "0.3"

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-core-media]
version = "0.3"

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-core-video]
version = "0.3"
features = [
    "CVMetalTexture",
    "CVMetalTextureCache",
]

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-foundation]
version = "0.3"

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-io-surface]
version = "0.3"

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-metal]
version = "0.3"
features = [
    "MTLBlitCommandEncoder",
    "MTLCommandBuffer",
    "MTLCommandEncoder",
    "MTLCommandQueue",
    "MTLDevice",
    "MTLPixelFormat",
    "MTLTexture",
    "MTLTypes",
]

[target.'cfg(target_vendor = "apple")'.dependencies.objc2-video-toolbox]
version = "0.3"

[target.'cfg(target_vendor = "apple")'.dependencies.swift-bridge]
version = "0.1"

[target.'cfg(target_vendor = "apple")'.dependencies.wgpu-hal]
version = "29.0.4"
features = ["metal"]

[lints.clippy]
multiple_crate_versions = "allow"
unused_async_trait_impl = "allow"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "warn"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "warn"
priority = -1

[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"