[package]
edition = "2021"
rust-version = "1.94.0"
name = "edgefirst-image"
version = "0.35.0"
authors = ["Au-Zone Technologies <support@au-zone.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance image processing with hardware acceleration for edge AI"
homepage = "https://edgefirst.ai"
documentation = "https://docs.rs/edgefirst-image"
readme = "README.md"
keywords = [
"image-processing",
"computer-vision",
"gpu",
"edge-ai",
"nv12",
]
categories = [
"multimedia::images",
"multimedia::video",
"embedded",
]
license = "Apache-2.0"
repository = "https://github.com/EdgeFirstAI/hal"
resolver = "3"
[features]
codec = ["dep:edgefirst-codec"]
decode = ["dep:edgefirst-decoder"]
default = [
"opengl",
"static",
"codec",
]
dma_test_formats = []
g2d_test_formats = []
opencv = ["dep:opencv"]
opengl = [
"dep:edgefirst-egl",
"dep:gbm",
"dep:drm-fourcc",
]
static = ["edgefirst-tensor/static"]
tracker = [
"decode",
"edgefirst-decoder/tracker",
"dep:edgefirst-tracker",
"edgefirst-tracker/tensor-boxes",
]
[lib]
name = "edgefirst_image"
path = "src/lib.rs"
[[example]]
name = "nvjpeg_decode"
path = "examples/nvjpeg_decode.rs"
[[example]]
name = "pipeline_demo"
path = "examples/pipeline_demo.rs"
[[test]]
name = "convert_span_feed_fields"
path = "tests/convert_span_feed_fields.rs"
[[test]]
name = "crop_golden"
path = "tests/crop_golden.rs"
[[test]]
name = "dst_view_stride"
path = "tests/dst_view_stride.rs"
[[test]]
name = "gl_concurrent_stress"
path = "tests/gl_concurrent_stress.rs"
[[test]]
name = "mask_golden"
path = "tests/mask_golden.rs"
[[test]]
name = "odd_dim_cpu"
path = "tests/odd_dim_cpu.rs"
[[test]]
name = "offset_nv_source_upload"
path = "tests/offset_nv_source_upload.rs"
[[test]]
name = "offset_source_view_alignment"
path = "tests/offset_source_view_alignment.rs"
[[test]]
name = "pin_convert"
path = "tests/pin_convert.rs"
[[test]]
name = "reconstructed_planar_dst"
path = "tests/reconstructed_planar_dst.rs"
[[test]]
name = "reconstructed_view_convert"
path = "tests/reconstructed_view_convert.rs"
[[test]]
name = "reconstructed_view_draw"
path = "tests/reconstructed_view_draw.rs"
[[bench]]
name = "batch_convert_benchmark"
path = "benches/batch_convert_benchmark.rs"
harness = false
[[bench]]
name = "common"
path = "benches/common.rs"
[[bench]]
name = "convert_matrix_benchmark"
path = "benches/convert_matrix_benchmark.rs"
harness = false
[[bench]]
name = "cpu_preprocess_benchmark"
path = "benches/cpu_preprocess_benchmark.rs"
harness = false
[[bench]]
name = "decode_pipeline_benchmark"
path = "benches/decode_pipeline_benchmark.rs"
harness = false
[[bench]]
name = "image_benchmark"
path = "benches/image_benchmark.rs"
harness = false
[[bench]]
name = "mask_benchmark"
path = "benches/mask_benchmark.rs"
harness = false
[[bench]]
name = "mask_decode_benchmark"
path = "benches/mask_decode_benchmark.rs"
harness = false
[[bench]]
name = "nv_path_benchmark"
path = "benches/nv_path_benchmark.rs"
harness = false
[[bench]]
name = "nvjpeg_benchmark"
path = "benches/nvjpeg_benchmark.rs"
harness = false
[[bench]]
name = "opencv_benchmark"
path = "benches/opencv_benchmark.rs"
harness = false
required-features = ["opencv"]
[[bench]]
name = "parallel_processors_benchmark"
path = "benches/parallel_processors_benchmark.rs"
harness = false
[[bench]]
name = "pipeline_benchmark"
path = "benches/pipeline_benchmark.rs"
harness = false
[[bench]]
name = "sanity_check"
path = "benches/sanity_check.rs"
harness = false
[[bench]]
name = "tiled_convert_benchmark"
path = "benches/tiled_convert_benchmark.rs"
harness = false
[dependencies.edgefirst-codec]
version = "0.35.0"
features = [
"v4l2",
"nvjpeg",
"png",
]
optional = true
default-features = false
[dependencies.edgefirst-decoder]
version = "0.35.0"
optional = true
default-features = false
[dependencies.edgefirst-decoder-abi]
version = "0.35.0"
[dependencies.edgefirst-egl]
version = "0.35.0"
features = ["dynamic"]
optional = true
[dependencies.edgefirst-gl]
version = "0.35.0"
[dependencies.edgefirst-tensor]
version = "0.35.0"
features = ["ndarray"]
default-features = false
[dependencies.edgefirst-tracker]
version = "0.35.0"
optional = true
default-features = false
[dependencies.enum_dispatch]
version = "0.3.13"
[dependencies.fast_image_resize]
version = "6.0.0"
features = [
"image",
"rayon",
]
[dependencies.four-char-code]
version = "2.3.0"
[dependencies.half]
version = "2.7.1"
features = ["num-traits"]
[dependencies.jpeg-encoder]
version = "0.7.0"
features = ["simd"]
[dependencies.kamadak-exif]
version = "0.6.1"
[dependencies.libc]
version = "0.2.186"
[dependencies.libloading]
version = "0.9"
[dependencies.log]
version = "0.4.33"
[dependencies.ndarray]
version = "0.17.2"
features = ["rayon"]
[dependencies.num-traits]
version = "0.2.19"
[dependencies.opencv]
version = "0.101"
features = ["imgproc"]
optional = true
default-features = false
[dependencies.rayon]
version = "1.12.0"
[dependencies.tokio]
version = "1.52.3"
features = [
"rt",
"sync",
]
[dependencies.tracing]
version = "0.1"
[dependencies.yuv]
version = "0.8.16"
features = ["fast_mode"]
[dev-dependencies.crc32fast]
version = "1.5.0"
[dev-dependencies.ctor]
version = "1.0.7"
[dev-dependencies.edgefirst-decoder]
version = "0.35.0"
default-features = false
[dev-dependencies.env_logger]
version = "0.11.10"
features = [
"auto-color",
"humantime",
]
default-features = false
[dev-dependencies.image]
version = "0.25.10"
features = [
"png",
"jpeg",
]
default-features = false
[dev-dependencies.image-compare]
version = "0.5.0"
[dev-dependencies.safetensors]
version = "0.8.0"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.150"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["registry"]
[target.'cfg(target_os = "linux")'.dependencies.dma-heap]
version = "0.4.1"
[target.'cfg(target_os = "linux")'.dependencies.drm-fourcc]
version = "2.2.0"
optional = true
[target.'cfg(target_os = "linux")'.dependencies.g2d-sys]
version = "1.3.1"
[target.'cfg(target_os = "linux")'.dependencies.gbm]
version = "0.19.0"
features = [
"dynamic",
"drm-support",
]
optional = true
default-features = false
package = "edgefirst-gbm"
[lints.rust]
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage,coverage_nightly)"]