CUDA JPEG2000 Rust

CUDA JPEG2000 Rust

J2K provides NVIDIA CUDA adapter crates for supported JPEG 2000 / HTJ2K device-output and encode-stage paths, plus supported coefficient-domain stages of JPEG-to-HTJ2K transcode workflows.

Release status: j2k 0.8.0 is published on crates.io; see the release policy for support details.

CUDA JPEG2000 Rust pipeline

Codec adapter

j2k-cuda exposes CUDA-facing JPEG 2000 / HTJ2K decode and encode-stage adapter APIs.

cargo add j2k-cuda --features cuda-runtime

JPEG input adapter

j2k-jpeg-cuda provides CUDA device-output integration for supported JPEG decode surfaces.

cargo add j2k-jpeg-cuda --features cuda-runtime

Transcode adapter

j2k-transcode-cuda accelerates supported coefficient-domain stages of JPEG-to-HTJ2K transcode; packetization remains outside those transform stages.

cargo add j2k-transcode-cuda --features cuda-runtime

Validation posture

CUDA performance claims require self-hosted NVIDIA benchmark evidence. Hosted CI is not treated as NVIDIA performance evidence.

cuda-runtime exposes CUDA Driver API dispatch, but product CUDA Oxide PTX is built only on supported Linux cuda-oxide hosts. Set J2K_REQUIRE_CUDA_OXIDE_BUILD=1 on CUDA validation and benchmark hosts so placeholder PTX fails the build; runtime errors for placeholder kernels state that CUDA Oxide PTX was not built.

CUDA adapters sit under the same codec support boundary as the public crate: JPEG 2000 Part 1, JP2 still-image files, HTJ2K Part 15, and JPH still-image files. Unsupported CUDA shapes return strict errors or stay on CPU under Auto.

Current public benchmark evidence is in docs/benchmark-evidence.md. Public speed claims also require a completed external adoption benchmark bundle with publication_eligible=true; generated local fixtures alone are not publication evidence.