diff --git a/README.md b/README.md index e35f0daa..52dbe05b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ **Docs & guides:** [Pure-Rust JPEG 2000 codec documentation](https://frames-sg.github.io/j2k/rust-jpeg2000-codec/) -**Release status:** `0.8.0` is published and security-supported. See the +**Release status:** `0.8.1` is published and security-supported. See the [release notes](CHANGELOG.md), [release policy](docs/release.md), and [security policy](SECURITY.md). @@ -225,7 +225,7 @@ The living codec support matrix is adapter has a narrower, explicit boundary in [docs/j2k-ml.md](docs/j2k-ml.md). Hardware measurements and their publication qualifications are recorded separately in -[docs/benchmark-evidence.md](docs/benchmark-evidence.md). Candidate Part 1 +[docs/benchmark-evidence.md](docs/benchmark-evidence.md). Release-scoped Part 1 decoder conformance evidence is tracked separately in [docs/t803-conformance.md](docs/t803-conformance.md). @@ -293,7 +293,7 @@ Reference files: environment variables - [docs/public-support.md](docs/public-support.md) - exact J2K Part 1, HTJ2K Part 15, JP2/JPH, and out-of-scope support boundary -- [docs/t803-conformance.md](docs/t803-conformance.md) - candidate T.803 v3 +- [docs/t803-conformance.md](docs/t803-conformance.md) - release-scoped T.803 v3 decoder claims, encoder procedure, blockers, and release evidence rules - [docs/j2k-ml.md](docs/j2k-ml.md) - Burn native integer batch groups, prepared reuse, and explicit accelerator decode/upload adapters diff --git a/SECURITY.md b/SECURITY.md index b730a327..5119d097 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,8 @@ | Version | Status | | --- | --- | -| `0.8.0` | Latest published and security-supported release | +| `0.8.1` | Latest published and security-supported release | +| `0.8.0` | Previous published release line; security-supported | | `0.7.5` | Previous published release line; security-supported, except for the documented `j2k-ml` CUDA and Metal packaging defect | | `0.7.3` | Previous published release line; security-supported | | `0.7.2` | Previous published release line; security-supported | diff --git a/docs/benchmark-corpora.md b/docs/benchmark-corpora.md index ab778cd1..f6eec65d 100644 --- a/docs/benchmark-corpora.md +++ b/docs/benchmark-corpora.md @@ -22,58 +22,6 @@ its pinned manifest and summarized by the `adoption-report` subcommand. | CLIC | Modern high-resolution photographic compression benchmark. | `https://www.compression.cc/` | User-supplied dataset. Encode to J2K/HTJ2K with recorded command/options. | | Domain WSI/DICOM/medical tiles | Most relevant adoption workload for this project. | Internal, partner, public TCIA/IDC-style exports, or scanner-derived tiles. | User-supplied. Do not commit protected health information or restricted datasets. | -## External Benchmark Survey - -The harness is intentionally not a single Kodak-only benchmark. Public JPEG 2000 -and image-compression practice points to several distinct evidence classes: - -| Source | What they use or measure | Rule for this repo | -| --- | --- | --- | -| OpenJPEG test suite and `openjpeg-data` | Standards conformance files, non-regression files, header dumps, and baseline comparisons. `openjpeg-data` states that it contains conformance, non-regression, and unit-test files used by the OpenJPEG test suite. | Use OpenJPEG conformance/nonregression fixtures as native decode interoperability and regression coverage. Do not use them alone as speed marketing; keep conformance claims separate from throughput claims. | -| OpenJPH | HTJ2K / JPEG 2000 Part 15 implementation and interoperability surface. | Include OpenJPH/JPH-compatible fixtures for HTJ2K-specific decode coverage and optional OpenJPH context rows, clearly labeled by CLI/file-output method. | -| JPEG committee HTJ2K white paper | HTJ2K is framed as a throughput improvement for JPEG 2000, especially at lossless and moderate-to-high bitrates. | Hardware marketing claims must separate classic J2K CPU comparisons from J2K CPU-vs-GPU HTJ2K acceleration rows and must state codec/profile. | -| OpenBenchmarking / Phoronix OpenJPEG profile | Large single-image encode stress using a NASA/JPL-Caltech/MSSS Curiosity panorama TIFF, reported as an OpenJPEG processor benchmark. | Add large source-image encode stress in addition to Kodak-sized images. Record source-image staging and exclude file I/O from codec timing. | -| IIIF HTJ2K evaluation | Real access workload over large cultural-heritage images, including tile/region-size effects and OpenJPEG/Kakadu/HTJ2K comparisons. | Keep ROI/region-scaled decode rows and domain tile batches. Report method labels for native versus emulated operations. | -| Lossless image compression benchmarks | Corpora such as CLIC2021, LPCB, and GDCC2020; metrics include compressed size plus compress/decompress time. | For lossless encode/decode adoption claims, report throughput and output size, and use larger modern RGB/gray corpora where license terms allow. | -| GPU JPEG 2000 encoder benchmarks | CPU and GPU encoders compared with MB/s, FPS, PSNR/MSE or compression ratio, and explicit note that host I/O is outside timing for batch mode. | GPU rows must report MiB/s/FPS-style throughput, profile, compression mode, batch size, and timing policy; staged input loading and output file I/O must stay outside the timed loop. | - -Survey references consulted on 2026-06-24: - -- `https://github.com/uclouvain/openjpeg/wiki/TestSuiteDocumentation` -- `https://github.com/uclouvain/openjpeg-data` -- `https://github.com/aous72/OpenJPH` -- `https://ds.jpeg.org/whitepapers/jpeg-htj2k-whitepaper.pdf` -- `https://openbenchmarking.org/test/pts/openjpeg` -- `https://journal.code4lib.org/articles/17596` -- `https://github.com/WangXuan95/Image-Compression-Benchmark` -- `https://www.fastcompression.com/benchmarks/benchmarks-j2k.htm` - -## Additional Optional Corpora - -| Corpus | Use | Source | Caveat | -| --- | --- | --- | --- | -| USC-SIPI Image Database | Classic image-processing benchmark images with textures, aerials, and natural scenes. | `https://sipi.usc.edu/database/` | Older and small by modern standards; encode to J2K/HTJ2K first. | -| Waterloo Exploration / Waterloo image sets | Legacy compression and image-analysis benchmark material. | Waterloo image-database mirrors and derivative benchmark sets. | Licensing/source stability varies by mirror. | -| DIV2K / Flickr2K | High-resolution RGB natural images used heavily in restoration and compression papers. | `https://data.vision.ee.ethz.ch/cvl/DIV2K/` and Flickr2K mirrors. | Source images are not J2K; record encode settings before decode benchmarking. | -| ImageCompression.info New Test Images | Modern high-resolution RGB and grayscale compression stress set with explicit redistribution terms. | `https://imagecompression.info/test_images/` | Large files; keep corpus source and notice with local artifacts. Good for gray/RGB and dimension diversity. | -| Imazen codec-corpus | Curated codec validation and compression benchmark corpus with sparse-checkout-friendly subdatasets. | `https://github.com/imazen/codec-corpus` | Dataset licenses vary by subfolder; pin the selected subset and license status in manifests. | -| WangXuan95 lossless image compression benchmark corpora | Public benchmark framing for lossless compression speed/size using CLIC2021, LPCB, and GDCC2020. | `https://github.com/WangXuan95/Image-Compression-Benchmark` | Use as methodology/corpus inspiration; verify upstream dataset terms before redistributing. | -| USTC-TD | 4K image and 1080p video coding challenge dataset for modern codec stress. | USTC-TD project/paper mirrors. | Source images require documented conversion before J2K/HTJ2K throughput runs. | -| LIVE, CSIQ, TID2013, KADID-10k | Objective quality / perceptual distortion evaluation. | Dataset project pages. | Better for quality metrics than raw codec throughput. | -| IIIF / cultural heritage JP2 collections | Real JP2 preservation/access workloads such as newspapers, books, maps, and manuscripts. | Institution-specific IIIF repositories and preservation masters. | Access and redistribution terms vary; many collections provide derivatives, not masters. | -| DICOM WSI / radiology HTJ2K samples | Standards-relevant medical imaging containers and transfer syntaxes. | DICOM sample data, TCIA/IDC exports, Orthanc WSI examples, partner datasets. | Must preserve DICOM transfer syntax, tile shape, and metadata in reports. | -| CAMELYON, PANDA, TCGA/TCIA pathology | Whole-slide domain representativeness and huge tiled batches. | Public challenge/data portals. | Usually SVS/TIFF/DICOM rather than JP2/JPH; extract or transcode tiles with recorded commands. | -| Remote sensing / satellite datasets | Large, high-detail imagery with different texture statistics than photos. | WHU-RS19, SpaceNet, Sentinel/Landsat-derived products. | Often multi-band or high bit depth; ensure supported component/bit-depth coverage is explicit. | -| NASA/JPL Curiosity panorama-style large TIFF | Large single-image CPU encode stress, matching the style used by the Phoronix/OpenBenchmarking OpenJPEG profile. | NASA/JPL-Caltech/MSSS public imagery or a local equivalent TIFF. | Encode-source corpus, not native J2K; record conversion and staging commands. | -| Spot / Pleiades style geospatial imagery | Remote-sensing decode/region workflows similar to Grok's published JP2Grok/JP2KAK/OpenJPEG benchmark framing. | Public or licensed satellite imagery exports. | Licensing and redistribution vary; report storage locality, region selection, and extraction route. | -| OpenSlide test data | Vendor WSI file diversity and tile extraction workflows. | `https://openslide.cs.cmu.edu/download/openslide-testdata/` | Usually source WSI formats rather than standalone J2K; extract compressed tiles or transcode with recorded commands. | -| Bio-Formats sample images | Scientific microscopy and life-sciences format diversity. | OME/Bio-Formats sample repositories and public OME data. | Use when testing file ingestion/transcode paths; not all inputs are J2K. | -| OsiriX JPEG 2000 DICOM samples | Quick DICOM JPEG2000 transfer syntax smoke coverage. | OsiriX DICOM image library. | Research/teaching terms; do not redistribute. | -| DICOM/NEMA compressed transfer syntax examples | Transfer-syntax interoperability for JPEG2000, JPEG-LS, JPEG, and related DICOM wrappers. | NEMA/DICOM sample sets and David Clunie references. | DICOM encapsulated codestreams may omit JP2 headers; benchmark decoder path must match DICOM extraction semantics. | -| Library of Congress / NDNP-style JP2 collections | Real cultural-heritage JP2 preservation/access workload. | Library of Congress and National Digital Newspaper Program style collections. | Public access varies by collection; prefer local authorized exports and record source terms. | -| JP2 structure/checker sample sets | JP2 box/metadata parser edge cases. | jp2StructCheck and related preservation-tool samples. | Parser/robustness corpus, not throughput evidence unless files are valid and representative. | -| NITF / geospatial JP2 | JP2 wrapped in geospatial/government imagery workflows. | GDAL JP2OpenJPEG/JP2Grok test data, public NITF samples, agency datasets. | Container handling may be outside raw J2K decode; track extraction route. | - ## Starter Acquisition Recipes Keep downloaded corpora under `target/` or another ignored/vendor directory diff --git a/docs/benchmark-evidence.md b/docs/benchmark-evidence.md index b9d55fe7..06b8f7ca 100644 --- a/docs/benchmark-evidence.md +++ b/docs/benchmark-evidence.md @@ -4,9 +4,10 @@ This document records published benchmark commands, measurements, and environment details. JSON and CSV artifacts remain the source of truth when they are produced by a benchmark harness. -This is the sole narrative owner for dated benchmark hosts, commands, results, -and historical performance qualifications. The workspace README, architecture, -and integration guides link here instead of copying mutable measurements. +This is the narrative owner for current benchmark hosts, commands, results, and +performance qualifications. The workspace README, architecture, and integration +guides link here instead of copying mutable measurements. Superseded diagnostics +remain in Git history rather than accumulating in this page. ## Publication Status @@ -154,512 +155,10 @@ It supports implementation of the pending fixed policy, but it is not formal release evidence. The complete matrix must be rerun and reverified from the exact clean candidate SHA before publication. -## Local Regression Guard - 2026-07-07 +## Historical diagnostics -Host: - -- Machine: local Apple Silicon development host -- CPU: Apple M4 Pro -- Architecture: `arm64` -- Memory: 48 GB -- OS: macOS 26.5 build `25F71` -- Baseline ref: `29143c8e` (the then-current `HEAD`) - -Pinned rerun commands: - -```bash -cargo xtask bench-build -cargo xtask j2k-perf-guard --lane host \ - --baseline-ref 29143c8e1f00bbbe9cf5ab37b3cea882f6d52139 --quick -``` - -Historical result: both commands passed. The quick guard compared the then-current -remediation tree against commit `29143c8e` with a +10% median regression -threshold. The tested working-tree revision and benchmark artifact hashes were -not recorded, so this July 7 quick guard is historical local evidence rather -than exactly reproducible publication evidence. -The macOS host cannot build or run the Linux-only cuda-oxide kernels, so -CUDA-labeled rows in this run are CPU fallback rows; strict CUDA runtime -validation remains a separate Linux/NVIDIA hardware gate. - -Rows that previously regressed during the remediation and passed in the final -quick guard: - -| Row | Baseline median | Current median | Delta | -| --- | ---: | ---: | ---: | -| `htj2k_cleanup_encode_distribution/rho_eq_uq_64x64/2459041792` | 8.592 us | 7.768 us | -9.59% | -| `htj2k_cleanup_encode_distribution/rho_eq_uq_64x64/2459041793` | 8.548 us | 7.846 us | -8.22% | -| `jpeg_cpu_encode_runtime/rgb8_512_420_restart_64` | 2.028 ms | 2.062 ms | +1.66% | - -## Metal Structural Refactor Guard - 2026-07-09 - -This local release-profile comparison is acceptance evidence for the -resident-codestream and direct-stacked module splits. It is not a public speed -claim and does not replace exact-SHA Metal release validation. - -STR-006 follow-up extraction began after this measurement and touches these -execution families. The results below remain evidence for the earlier splits, -but the same pinned guards must be rerun against the final structural source -before candidate freeze. - -- Host: the Apple M4 Pro / 48 GB / macOS 26.5 machine recorded above -- Baseline: `edb27830`, before the three structural refactor commits -- Candidate library source: `46130e58`; the benchmark-only harness changes are - recorded in the following evidence commit -- Profile: Cargo `--release`, isolated target directories, no concurrent Cargo, - Rust, or benchmark processes -- Sampling: five timed iterations per process; three alternating - baseline/candidate processes; comparison uses the median of the three process - medians -- Threshold: reject a candidate slowdown greater than 5% - -Command shape for each exact ignored guard: - -```bash -J2K_REQUIRE_METAL_BENCH=1 CARGO_TARGET_DIR= \ - cargo test --release -p j2k-metal --test \ - -- --exact --ignored --nocapture --test-threads=1 -``` - -The direct path uses test target `metal_decode_benchmark` and exact test -`metal_direct_stacked_batch_perf_guard`. The resident path uses test target -`encode_auto_routing_benchmark` and exact test -`metal_resident_codestream_perf_guard`; that one invocation reports both the -resident-buffer primary path and the host/readback secondary path. - -Results: - -| Path | Baseline process medians | Candidate process medians | Median-of-medians delta | Result | -|---|---:|---:|---:|---| -| Direct stacked RGB8 ROI+quarter batch (8 distinct inputs) | 8.472, 7.244, 6.779 ms | 8.394, 6.726, 6.878 ms | 7.244 to 6.878 ms (-5.052%) | pass | -| Resident HTJ2K buffer batch (16 RGB8 tiles) | 6.684, 6.722, 6.744 ms | 6.707, 6.717, 6.731 ms | 6.722 to 6.717 ms (-0.074%) | pass | -| Secondary resident host/readback batch | 8.357, 8.999, 7.356 ms | 8.763, 8.616, 8.677 ms | 8.357 to 8.677 ms (+3.829%) | pass | - -Fixture generation, Metal-session creation, private input upload, and tile -construction occur before timing. The direct guard reaches the stacked RGB -component-plane graph, requires Metal-resident outputs, and reads only byte -length metadata. The primary resident guard includes submit/wait and byte-length -metadata but no host readback; it asserts that resident packetization and -codestream assembly were used. Output sizes matched on every run (221,184 -direct-decode bytes and 7,982,464 resident-encode bytes). - -The baseline benchmark copy needed two syntax-only adaptations for APIs that -were hardened after `edb27830`: a public tile struct literal in place of the -candidate's unsafe constructor, and a `byte_len` field read in place of its -getter. Neither adaptation changed fixtures, timed closures, validation, or -batch sizes. - -## CUDA JPEG-to-HTJ2K Transcode - -Host: - -- Machine: self-hosted NVIDIA benchmark host -- GPU: NVIDIA RTX 4070 SUPER -- CUDA target: `sm_89` -- Corpus: pancreas JPEG tile corpus -- Corpus size: 109 JPEG tiles, 7.14 MP total -- Profile: J2K CUDA transform + CUDA HT block encode + CPU packetization -- Options: one decomposition level, quantization scale `1.90`, one warmup, - three timed iterations, minimum 100 tiles - -Historical pre-retirement measurements were captured before the CUDA C/PTX path -was removed. The original CUDA C command and the temporary comparison manifest -are no longer active product workflows. Current CUDA benchmark runs use the -`cuda-runtime` feature with `J2K_REQUIRE_CUDA_RUNTIME=1` and -`J2K_REQUIRE_CUDA_OXIDE_BUILD=1`. - -Measured results: - -| Historical path | MP/s | Wall | GPU | IDCT + row | -| --- | ---: | ---: | ---: | ---: | -| Original CUDA C | 396.300 | 18.025 ms | 8.049 ms | 0.855 ms | -| cuda-oxide before IDCT basis fix | 40.813 | 175.029 ms | 165.041 ms | 158.390 ms | -| cuda-oxide after IDCT basis fix | 380.411 | 18.778 ms | 9.981 ms | 2.903 ms | - -PTXAS evidence for the fix: - -- Before: `transcode_dwt97_idct_i16_batch` used a 4096-byte stack frame because - the Rust IDCT basis array was materialized into per-thread local memory. -- After: `transcode_dwt97_idct_i16_batch` reports `0 bytes stack frame`, - `0 bytes spill stores`, and `0 bytes spill loads`. - -The remaining historical gap was IDCT register pressure. The cuda-oxide IDCT -kernel reported 94 registers after removing the stack frame. CUDA C/PTX is no -longer a supported product backend. - -## CUDA Oxide Migration Status - -`J2K_REQUIRE_CUDA_OXIDE_BUILD=1` is the shared strict build gate for -Linux/NVIDIA validation hosts. - -The temporary NVIDIA comparator harness was removed after the final strict CUDA -Oxide comparison was captured for decode, JPEG decode, and JPEG-to-HTJ2K -transcode. The final comparison required a Linux/NVIDIA host with CUDA, NVIDIA -JPEG/JPEG 2000 comparator libraries, and cuda-oxide available; it could not be -produced by hosted CI or by macOS development machines. - -June 29, 2026 CUDA Oxide validation run: - -- Host: self-hosted Linux/NVIDIA validation runner -- GPU: NVIDIA GeForce RTX 4070 SUPER, driver `596.49` -- CUDA compiler: `cuda_13.2.r13.2/compiler.37668154_0` -- Rust: `cargo 1.96.0` -- cuda-oxide: `cargo-oxide 0.2.1` -- Oxide arch: `sm_89` -- Historical NVIDIA comparator build before harness removal: strict baseline - build mode with host-local CUDA and nvJPEG/nvJPEG2000 headers/libraries -- CUDA Oxide build: strict `J2K_REQUIRE_CUDA_OXIDE_BUILD=1`, - `J2K_REQUIRE_CUDA_RUNTIME=1` -- Artifact directory: `target/bench-logs` - -Implemented CUDA Oxide-family evidence captured with strict build requirements: - -| Harness | Corpus | CUDA Oxide families | Result | -| --- | --- | --- | --- | -| `transcode_compare --profile-j2k-cuda-only` | 109 pancreas JPEG tiles, 7.143 MP, corpus hash `c1060319d3236928` | transcode + J2K encode | 391.430 MP/s, 18.250 ms wall, 9.001 ms GPU, 0 CPU fallback jobs | -| `decode_compare --fixture-dim 512` | generated Gray8 and RGB8 HTJ2K fixtures | J2K decode store, dequantize, IDWT | Gray8: 1.789 ms wall / 1.477 ms GPU, PSNR `inf`; RGB8: 1.676 ms wall / 1.042 ms GPU, PSNR `inf` | -| `cargo test -p j2k-cuda --all-targets --features cuda-runtime htj2k -- --nocapture` | generated HTJ2K smoke fixtures | HTJ2K cleanup/refinement decode, dequantize, IDWT, decode store | Full, ROI, scaled, ROI-scaled Gray8/RGB8/RGBA8 CUDA rows passed; batch RGB8/RGBA8 rows passed | -| `cargo test -p j2k-cuda --all-targets --features cuda-runtime htj2k_encode -- --nocapture` | generated HTJ2K encode fixtures | HTJ2K codeblock encode + J2K encode compaction/packetization | Scalar codeblock parity passed; two-pass sigprop and three-pass sigprop/magref round-trip cases passed | -| `cargo test -p j2k-jpeg-cuda --test encode --features cuda-runtime -- --nocapture` | generated resident RGB8 fixtures | JPEG baseline encode | Single resident CUDA buffer encode and same-buffer batch encode passed; CPU-backend request rejected without fallback | -| `cargo test -p j2k-jpeg-cuda --all-targets --features cuda-runtime -- --nocapture` | generated JPEG fixtures | JPEG decode + JPEG baseline encode | 4 encode tests, 28 host-surface/decode tests, and CUDA JPEG bench harness targets passed | - -Final NVIDIA comparator capture before harness retirement: - -| Harness | Corpus | Artifacts | Result | -| --- | --- | --- | --- | -| `transcode_compare` | 109 pancreas JPEG tiles, 7.143 MP, corpus hash `c1060319d3236928` | `final_transcode_cuda_oxide_vs_nvjpeg2000_20260629.{json,csv,log}` | CUDA Oxide transform + CUDA HT block encode: 274.0 MP/s, 26.073 ms wall, 17.171 ms GPU, 0 CPU fallback jobs. NVIDIA reused-session serial: 52.2 MP/s, 136.851 ms wall, 128.608 ms GPU. Byte delta vs NVIDIA: -0.5368%; aggregate PSNR: CUDA Oxide 47.63 dB, NVIDIA 49.19 dB. | -| `decode_compare` | 32 HTJ2K codestreams generated from pancreas JPEG tiles | `final_decode_cuda_oxide_vs_nvjpeg2000_20260629.{json,csv,log}` | CUDA Oxide decode mean: 1.328 ms wall, 1.022 ms GPU. NVIDIA nvJPEG2000 mean: 0.861 ms wall, 0.748 ms GPU. Mean PSNR vs CPU: CUDA Oxide 95.38 dB, NVIDIA 51.46 dB. | -| `jpeg_decode_compare` | generated 1024 x 1024 stress JPEGs, subsampling 4:2:0 / 4:2:2 / 4:4:4 | `final_jpeg_decode_cuda_oxide_vs_nvjpeg_20260629.log` | CUDA Oxide JPEG decode vs nvJPEG wall mean: 3.461 ms vs 6.634 ms for 4:2:0, 4.086 ms vs 8.546 ms for 4:2:2, and 5.079 ms vs 11.921 ms for 4:4:4. Max delta vs CPU matched nvJPEG for 4:2:0 and 4:2:2; 4:4:4 was 0 for CUDA Oxide and 3 for nvJPEG. | - -The exact shell commands used for the final comparator capture are preserved in -the corresponding `target/bench-logs/*20260629*.log` files. The -`tests/nvidia-baseline` harness was removed after this capture, so those commands -are historical evidence, not active workflow instructions. - -This final capture satisfies the NVIDIA comparator retirement gate. The -remaining publication caveat is that these are repo-local retirement -benchmarks, not a replacement for external adoption-report evidence. - -Additional strict CUDA Oxide validation used the host's cuda-oxide, libclang, -CUDA, and linker paths plus: - -```bash -export J2K_CUDA_OXIDE_ARCH=sm_89 -export J2K_REQUIRE_CUDA_OXIDE_BUILD=1 - -cargo check -p j2k-cuda-runtime \ - --features cuda-oxide-htj2k-decode,cuda-oxide-j2k-decode-store,cuda-oxide-j2k-dequantize,cuda-oxide-j2k-idwt - -cargo test -p j2k-cuda-runtime --lib \ - --features cuda-oxide-htj2k-decode,cuda-oxide-j2k-decode-store,cuda-oxide-j2k-dequantize,cuda-oxide-j2k-idwt \ - cuda_oxide_htj2k -- --nocapture - -cargo check -p j2k-cuda-runtime \ - --features cuda-oxide-htj2k-encode,cuda-oxide-j2k-encode - -cargo test -p j2k-cuda-runtime --lib \ - --features cuda-oxide-htj2k-encode,cuda-oxide-j2k-encode \ - cuda_oxide_htj2k_encode -- --nocapture - -cargo check -p j2k-cuda-runtime \ - --features cuda-oxide-jpeg-encode - -cargo test -p j2k-cuda-runtime --lib \ - --features cuda-oxide-jpeg-encode \ - cuda_oxide_jpeg_encode -- --nocapture -``` - -The validation host also needed its linker search path to include the local -LLVM/libffi runtime used by cuda-oxide. - -## Metal Irreversible 9/7 Heatmap Experiment - 2026-07-13 - -This local experiment used Apple's GPU performance heat maps to test whether -the staged irreversible 9/7 IDWT should be replaced by full-axis -threadgroup-memory kernels. The prototype was rejected and removed because it -failed the targeted performance gate. The capture and dispersion harness at -`c35b7d43` remains as permanent diagnostic infrastructure. - -Environment: - -- Machine: MacBook Pro `Mac16,8`, Apple M4 Pro, 48 GB -- OS: macOS 26.5 build `25F71` -- Xcode: 26.6 build `17F113` -- Metal toolchain: `com.apple.dt.toolchain.Metal.32023.883`, component build - `17F109` -- Baseline and retained source: `c35b7d43` -- Profile: Cargo `release-bench`, isolated baseline/candidate target - directories, with no concurrent Cargo, CUDA, Metal, Criterion, or heavy - build workload - -The captured 1023 x 767 staged transform exposed the runtime-generated Metal -source in Xcode. Profile GPU Trace reported 214.21 us total GPU time, one -command buffer, one compute encoder, 11 dispatches, and 12.01 MiB of buffers. -The four horizontal lifting dispatches accounted for 37.02% of GPU time, the -four vertical lifting dispatches 36.43%, vertical scale 9.12%, horizontal -scale 8.87%, and interleave 8.55%. The scale and lifting passes therefore -accounted for 91.44% of captured GPU time. - -The trace reported 73.87% Occupancy Manager target, an 87.12% Compute Shader -Launch limiter, and a 32.09% Last Level Cache limiter with 31.94% utilization. -The staged pipelines used 12-14 allocated registers and spilled zero bytes. -Those counters supported prototyping dispatch fusion; they did not establish -that fusion would be faster. - -The prototype used one threadgroup per row or column, dynamic threadgroup -memory, and separate horizontal and vertical kernels. Forced staged/fused -tests matched within the existing irreversible tolerance across degenerate, -odd/even, origin-parity, and 1023 x 767 cases. A pipeline-relative sweep then -tested 1, 2, 4, 8, 16, and 32 SIMD groups per threadgroup: - -| SIMD groups | Threads on M4 Pro | Exploratory median | IQR | -| ---: | ---: | ---: | ---: | -| 1 | 32 | 1.658 ms | 0.227 ms | -| 2 | 64 | 1.563 ms | 0.360 ms | -| 4 | 128 | 1.437 ms | 0.298 ms | -| 8 | 256 | 1.667 ms | 0.256 ms | -| 16 | 512 | 1.686 ms | 0.207 ms | -| 32 | 1024 | 1.745 ms | 0.701 ms | - -Because the 128-thread exploratory row appeared promising, it was remeasured -in five alternating baseline/candidate processes with eleven warmed samples -per process. Each cell reports process median / IQR: - -| Process | Staged baseline | 128-thread fused prototype | -| ---: | ---: | ---: | -| 1 | 1.422 / 0.381 ms | 1.641 / 0.300 ms | -| 2 | 1.467 / 0.262 ms | 1.649 / 0.557 ms | -| 3 | 1.629 / 0.261 ms | 1.677 / 0.288 ms | -| 4 | 1.383 / 0.354 ms | 1.459 / 0.378 ms | -| 5 | 1.324 / 0.410 ms | 1.646 / 0.373 ms | - -The median of process medians regressed from 1.422 ms to 1.646 ms (+15.75%). -The initial maximum-thread configuration also regressed, from 1.550 ms to -1.936 ms (+24.90%). Both miss the required 5% improvement by a wide margin. -The kernel prototype and its temporary routing/tests were therefore removed. -The end-to-end 512/1024 decode rows were not run because the targeted gate had -already required rejection; no routing or performance claim changed. - -Changed-line coverage could not be reported. The canonical command -`cargo xtask coverage metal --base HEAD^` failed before compiling coverage -tests because the repository's Metal lane supplied `cargo-llvm-cov 0.8.7` -with mutually incompatible `--no-report` and `--no-clean` options. The manual -capture body is also intentionally skipped when coverage instrumentation is -active so a coverage run cannot create a GPU trace. Package tests and strict -Clippy passed, but this experiment therefore has no changed-line percentage. - -The permanent guard can be rerun with: - -```bash -J2K_REQUIRE_METAL_RUNTIME=1 CARGO_TARGET_DIR= \ - cargo test -p j2k-metal metal_irreversible_idwt_perf_guard \ - --profile release-bench --locked -- \ - --ignored --nocapture --test-threads=1 -``` - -The ignored GPU-capture test additionally requires `MTL_CAPTURE_ENABLED=1` -and an absolute, nonexistent `.gputrace` path in -`J2K_METAL_CAPTURE_PATH`. Captured timings are diagnostic only and are not -used for acceptance. - -## July 19 Batch-Input Qualification - -The July 19 CUDA and Metal batch diagnostics below predate the explicit -`distinct` and `repeated` input modes. Their harnesses cloned one encoded -`Arc` for every image in a batch. Batch-1 measurements are unaffected. Every -batch-greater-than-one measurement used identical encoded content, even when -the codec still submitted each image independently. - -Metal color decoding additionally recognized pointer-identical RGB/RGBA inputs -and decoded one image before broadcasting its pixels across the output batch. -Consequently, the historical Metal RGB/RGBA batch-greater-than-one rows measure -decode-once broadcast, not distinct-image batch throughput. Other historical -batch-greater-than-one rows, including CUDA and Metal grayscale, measure -identical-content reuse. The numbers remain preserved as historical diagnostic -evidence, but none of those rows is an acceptance baseline or a claim about -content-distinct batches. The corrected harness defaults to 64 deterministic, -content-distinct codestreams per workload and labels repeated-owner runs -separately. A corrected content-distinct acceptance matrix has not yet been -recorded in this evidence log. - -## CUDA Status - -### HTJ2K batch and Burn-direct diagnostic - 2026-07-19 - -This is implementation evidence, not a publication or adoption-facing speed -claim. The source tree had uncommitted batch-pipeline changes, and the harness -uses generated fixtures rather than a pinned external corpus. - -Host and command: - -- NVIDIA GeForce RTX 4070 SUPER under WSL2, driver 596.49 -- Ubuntu 24.04 -- Rust 1.96 -- `cargo bench -p j2k-ml --bench batch_decode_cuda --features cpu,cuda -- --quick` - -The matrix covered unsigned and signed Gray12/Gray16 at 512 and 1024 pixels, -RGB8/RGB16 and RGBA8/RGBA16 at 256 and 512 pixels, all four request modes, and -batch sizes 1/8/32/64. The fail-closed harness completed 1,024 accelerated -telemetry rows. Every row had one status transfer and no decoded-pixel device -readback; the decoded D2H counters exactly matched the status counters. No row -used a codec event or context host synchronization. Codec-resident probes used -no consumer host wait; Burn-direct probes used one final consumer sync solely -to bound the end-to-end benchmark interval. The CUDA release suite separately -passed the external-destination, event ordering, drop cleanup, and 1,000-batch -session-reuse tests. - -Criterion median estimates for selected full-decode rows were: - -| Workload | Batch | CPU decode + Burn upload | Prepared Burn-direct CUDA | Ratio | -| --- | ---: | ---: | ---: | ---: | -| Gray12 512 | 32 | 168.009 MP/s | 657.198 MP/s | 3.912x | -| Gray12 512 | 64 | 156.981 MP/s | 487.790 MP/s | 3.107x | -| Gray16 1024 | 32 | 142.390 MP/s | 439.150 MP/s | 3.084x | -| Gray16 1024 | 64 | 138.807 MP/s | 294.203 MP/s | 2.120x | -| RGB16 512 | 32 | 48.602 MP/s | 117.474 MP/s | 2.417x | -| RGB16 512 | 64 | 48.151 MP/s | 103.962 MP/s | 2.159x | -| RGBA16 512 | 32 | 38.114 MP/s | 73.382 MP/s | 1.925x | -| RGBA16 512 | 64 | 37.845 MP/s | 71.748 MP/s | 1.896x | - -In this repeated-content run, across all 64 workload/request combinations, -prepared Burn-direct was faster than CPU decode plus upload in 57 batch-1 -cases and all 64 batch-8, batch-32, -and batch-64 cases. Mean staged/direct time ratios were 2.584x, 2.262x, -2.837x, and 2.881x respectively. Backend selection remains explicit because -these are quick local diagnostics, not pinned-corpus publication evidence. - -## Metal Status - -### HTJ2K batch and Burn-direct diagnostic - 2026-07-19 - -This is local implementation evidence, not a publication or adoption-facing -speed claim. The source tree had uncommitted batch-pipeline changes, so the run -is not tied to a reproducible git SHA. Fixtures were generated by the benchmark -harness and are not an external corpus. - -Host and command: - -- Apple M4 Pro, 48 GB memory -- macOS 26.5.2 build `25F84` -- Rust 1.96 -- `cargo bench -p j2k-ml --bench batch_decode_metal --features cpu,metal -- --quick` - -The matrix covered unsigned and signed Gray12/Gray16 at 512 and 1024 pixels, -RGB8/RGB16 and RGBA8/RGBA16 at 256 and 512 pixels, all four request modes, and -batch sizes 1/8/32/64. The harness rejected any preparation or decode with an -indexed error, group error, or output-group count other than one. It emitted -1,280 completed telemetry rows. In that historical schema, all 1,024 -accelerated rows carried route-contract assertions for zero decoded host -uploads/readbacks, zero final device copies, one final output destination, and -one group-level completion boundary; those fields were not sampled hardware -counters. The codec session diagnostics measured one group submission per -row. Focused interop and submission tests, rather than those hard-coded -telemetry fields, are the evidence for the transfer, allocation, copy, and -completion-boundary contracts. - -The following are single warmed telemetry probes; Criterion data in the same -run remains the statistically sampled result: - -| Workload, full decode | Batch | CPU decode + Burn upload | Prepared Burn-direct Metal | -| --- | ---: | ---: | ---: | -| Gray12 512 | 32 | 424.029 MP/s | 938.249 MP/s | -| Gray12 512 | 64 | 449.605 MP/s | 1,316.428 MP/s | -| Gray16 1024 | 32 | 269.275 MP/s | 1,044.676 MP/s | -| Gray16 1024 | 64 | 280.599 MP/s | 870.603 MP/s | -| RGB16 512 | 32 | 141.822 MP/s | 719.949 MP/s | -| RGB16 512 | 64 | 139.696 MP/s | 1,560.369 MP/s | -| RGBA16 512 | 32 | 115.776 MP/s | 743.564 MP/s | -| RGBA16 512 | 64 | 114.878 MP/s | 1,399.131 MP/s | - -In this repeated-content run, across all 64 workload/request combinations, -prepared Burn-direct was faster than the staged route in 52 batch-32 cases and -all 64 batch-64 cases. It was -faster in only 10 batch-1 and 21 batch-8 cases. Because the Metal color rows at -batch greater than one were decode-once broadcast and all other batch-greater- -than-one rows used identical content, these counts do not establish a -content-distinct high-throughput route. They support keeping selection explicit -until the corrected distinct-input matrix is recorded; they do not support -blanket Auto routing or a single-image speed claim. - -Metal acceleration is selective. Public claims should say Metal-accelerated -stages, not complete end-to-end Metal coverage for every encode, decode, or -transcode route. - -Existing Apple Silicon encode-stage routing evidence was collected with: - -```bash -cargo test -p j2k-metal --test encode_auto_routing_benchmark -- --ignored --nocapture -``` - -Decode routing evidence can be collected with: - -```bash -cargo test -p j2k-metal --release --test metal_decode_benchmark \ - metal_decode_benchmark -- --ignored --nocapture -``` - -On June 28, 2026, a local benchmark checkout was tested on a MacBook Pro -`Mac16,8`, Apple M4 Pro, 48 GB memory, macOS 26.5. Generated fixture rows -showed no strict Metal decode win over CPU, so `Auto` decode should remain CPU -for these shapes: - -| Generated row | CPU | Metal resident | Metal readback | -| --- | ---: | ---: | ---: | -| classic Gray8 512 full | 3.671 ms | 25.682 ms | 25.762 ms | -| HTJ2K Gray8 512 full | 0.701 ms | 2.566 ms | 2.603 ms | -| classic RGB8 512 full | 13.392 ms | 75.281 ms | 74.794 ms | -| classic Gray8 1024 full | 7.923 ms | 28.216 ms | 28.626 ms | -| HTJ2K Gray8 1024 full | 2.081 ms | 2.874 ms | 2.857 ms | -| classic RGB8 1024 full | 28.058 ms | 83.760 ms | 83.090 ms | -| classic RGB8 1024 region+scaled | 13.905 ms | 63.151 ms | 65.418 ms | - -Current evidence supports conservative Auto routing for large encode-stage -inputs, not blanket Metal encode coverage. On an Apple M4 Pro, prior routing -evidence showed coefficient-prep stage wins at 512 x 512 and larger stage -inputs, with selected Auto rows such as lossless classic RGB8 improving from -115.098 ms CPU to 65.294 ms Auto at 512 x 512, and lossless HTJ2K RGB8 -improving from 284.845 ms CPU to 10.012 ms Auto at 1024 x 1024. Treat these as -routing evidence for the recorded host, not cross-machine performance claims. - -Metal JPEG-to-HTJ2K same-geometry batch transcode evidence was collected on -June 28, 2026, from the same local benchmark checkout on a MacBook Pro -`Mac16,8`, Apple M4 Pro, 48 GB memory, macOS 26.5: - -```bash -J2K_TRANSCODE_METAL_PROFILE_STAGES=1 \ -cargo bench -p j2k-transcode-metal --bench dct97 -- \ - jpeg_to_htj2k_wsi_integer_53_tile_batch/srgb_ybr420_224_batch_128 -``` - -Criterion row, lossless 5/3 HTJ2K, generated 224 x 224 sRGB/YBR 4:2:0 JPEG -fixture, batch size 128: - -| Route | Time interval | Throughput interval | -| --- | ---: | ---: | -| Rayon CPU batch | 86.581-89.594 ms | 38.439-39.776 MiB/s | -| Auto Metal batch | 57.334-58.776 ms | 58.593-60.066 MiB/s | -| Strict Metal batch | 58.053-65.069 ms | 52.926-59.323 MiB/s | - -The same run emitted profile rows with one stable workload context, -`srgb_ybr420_224_batch_128`: 93 CPU rows with -`request=cpu path=cpu transform_processor=cpu`, 118 Auto rows with -`request=metal_auto path=auto transform_processor=metal`, and 118 strict rows -with `request=metal_explicit path=metal transform_processor=metal`. No CPU -profile row was labeled as Metal. - -This row supports the existing same-geometry batch Auto Metal route for the -measured 224 x 224 batch-128 shape on this host. It does not justify broad -single-image transcode Auto expansion or distinct-geometry batch routing. - -Release validation should rerun the hardware tests before publishing: - -```bash -cargo test -p j2k-jpeg-metal --all-targets -cargo test -p j2k-metal --all-targets -cargo test -p j2k-metal --release --test metal_decode_benchmark \ - metal_decode_benchmark -- --ignored --nocapture -cargo test -p j2k-metal --test encode_auto_routing_benchmark -- --ignored --nocapture -``` - -If Metal hardware is unavailable, do not expand Metal performance claims for -the release. +Historical local regression runs, implementation-migration comparisons, +rejected experiments, and dirty-tree throughput probes remain available in Git +history. +They are not current publication evidence and must not be reused as release or +adoption claims. diff --git a/docs/cuda-jpeg2000-rust/index.html b/docs/cuda-jpeg2000-rust/index.html index cc48b2b8..08fc270e 100644 --- a/docs/cuda-jpeg2000-rust/index.html +++ b/docs/cuda-jpeg2000-rust/index.html @@ -54,7 +54,7 @@

CUDA JPEG2000 Rust

j2k-cuda CUDA API docs -

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

+

Release status: See the release policy and crates.io for the current published version.

CUDA JPEG2000 Rust pipeline diff --git a/docs/digital-pathology-workflow-audit.md b/docs/digital-pathology-workflow-audit.md deleted file mode 100644 index 2f247c10..00000000 --- a/docs/digital-pathology-workflow-audit.md +++ /dev/null @@ -1,147 +0,0 @@ -# Digital Pathology and Large-TIFF Workflow Audit - -Audit date: 2026-07-14 - -Historical audit snapshot: `0.7.1` release candidate. This version identifies -the audited source and is not the current release status; current support is -tracked in [`release.md`](release.md). - -## Decision - -J2K is suitable as the compressed tile and frame codec layer in a digital -pathology viewer, converter, or ingestion pipeline. It is not an end-to-end -OME-TIFF, vendor WSI, BigTIFF, or DICOM Whole Slide Imaging implementation. - -Adopt it behind a container and slide-index layer that owns file parsing, -range reads, pyramid and tile coordinates, DICOM encapsulation, photometric -metadata, ICC application, caching, and output assembly. Do not hand an entire -slide file to the codec or decode an entire level when only a viewport is -needed. - -## Evidence in this workspace - -| Concern | Current evidence | Audit result | -| --- | --- | --- | -| JPEG 2000 and HTJ2K payloads | `j2k` accepts raw codestreams and JP2/JPH still-image wrappers. `J2kView` borrows input bytes, and `J2kDecoder` supports full, ROI, scaled, region-scaled, row, and native component-plane decode. | Ready at the codec boundary. | -| Repeated tile decode | `TileBatchDecode`, reusable decoder contexts and scratch pools, caller-owned outputs, indexed tile errors, and CPU worker limits are public. | Ready when the caller bounds queue depth and total live memory. | -| GPU decode | CUDA and Metal adapters expose strict device requests, reusable sessions, resident surfaces, and bounded scheduling. CPU remains the correctness fallback. | Metal is locally parity-tested. CUDA still requires Linux plus NVIDIA hardware validation. | -| Allocation safety | Codec parsing, output, rows, batches, and device paths use checked accounting. The default per-operation host allocation ceiling is 512 MiB. | Useful safety boundary, but not a slide-wide cache or service memory budget. | -| TIFF-style tile codecs | `j2k-tilecodec` exposes uncompressed, LZW, deflate, and Zstd tile decompression. `j2k-jpeg` prepares TIFF/WSI JPEG segments, including shared JPEG tables. | Partial payload support only. TIFF predictors, planar assembly, tags, IFDs, and pyramids remain caller responsibilities. | -| TIFF and OME containers | No production BigTIFF/IFD/SubIFD parser, 64-bit tile-offset index, OME-XML model, or vendor WSI metadata layer is exposed. | Missing outer integration. | -| DICOM WSI | Raw JPEG 2000-family codestreams and codec-profile passthrough checks exist. No production DICOM dataset parser, transfer-syntax registry, frame-fragment index, offset-table handler, functional-group parser, or slide-coordinate model is exposed. | Missing outer integration. | -| Color | JPEG 2000 component metadata and JP2/JPH color boxes, including ICC payloads, are parsed. Native component-plane output is available on CPU. | Container photometric interpretation and ICC transforms must be validated and applied outside the codec. | -| Domain validation | WSI and DICOM tile corpora are documented, with external-corpus environment controls. | A release-blocking container-level golden corpus is still needed. | - -Relevant code and policy: - -- [`crates/j2k/src/view.rs`](../crates/j2k/src/view.rs) -- [`crates/j2k-core/src/batch.rs`](../crates/j2k-core/src/batch.rs) -- [`crates/j2k-core/src/buffer.rs`](../crates/j2k-core/src/buffer.rs) -- [`crates/j2k-core/src/passthrough.rs`](../crates/j2k-core/src/passthrough.rs) -- [`crates/j2k-jpeg/src/segment.rs`](../crates/j2k-jpeg/src/segment.rs) -- [`crates/j2k-jpeg/src/batch_session.rs`](../crates/j2k-jpeg/src/batch_session.rs) -- [`crates/j2k-tilecodec/src/lib.rs`](../crates/j2k-tilecodec/src/lib.rs) -- [`docs/benchmark-corpora.md`](benchmark-corpora.md) - -## Required production workflow - -1. Parse the outer container with checked 64-bit arithmetic. Build an index of - levels, tiles or frames, byte ranges, dimensions, physical coordinates, - photometric interpretation, and color profiles. Validate every offset and - byte count against the source length before reading. -2. Select a stored pyramid level for the requested magnification, then compute - the intersecting tiles. Use codec downscaling only for residual scaling - within that selected level; it is not a substitute for pyramid selection. -3. Range-read only the selected compressed payloads. Keep reads, compressed - inputs, decoded outputs, GPU residency, and cache entries under one - request-level memory and cancellation budget. -4. Normalize each payload at the container boundary: - - For TIFF, honor compression, predictor, planar configuration, - photometric interpretation, edge-tile geometry, and shared JPEG tables. - - For DICOM, map the exact transfer syntax UID, resolve the frame index, - assemble all fragments belonging to a classic JPEG 2000 frame, remove - encapsulation padding correctly, and pass a raw codestream without a JP2 - header. HTJ2K frames must follow their single-fragment rule. -5. Inspect the compressed payload before decode. Cross-check dimensions, - components, bit depth, signedness, lossless/lossy profile, and color meaning - against the container metadata. Reject contradictions rather than guessing. -6. Submit a bounded tile batch through a reusable CPU, CUDA, or Metal session. - Keep `BackendRequest::Auto` conservative, preserve CPU parity as the - correctness oracle, and retain device surfaces through composition when - that avoids unnecessary readback. -7. Assemble edge and sparse tiles in slide coordinates. Apply the outer - container's ICC profile and photometric rules, including optical-path color - semantics for DICOM. Missing tiles, overlaps, and padded pixels are - container concerns and must not be inferred by the codec. -8. Return or cache only the requested viewport or analysis region. Apply - backpressure across requests and avoid a decoded full-slide cache. - -## Format-specific correctness conditions - -### OME-TIFF and large TIFF - -OME-TIFF can use standard TIFF or BigTIFF, places OME-XML in the first IFD's -`ImageDescription`, and represents pyramids with SubIFDs. Reduced-resolution -levels are not ordinary entries in the primary IFD chain. Large deployments -therefore need a BigTIFF-capable 64-bit index and explicit SubIFD traversal; -sequentially walking the primary IFD chain is not a correct pyramid reader. - -Each level may use a different compression. Route each tile by its level's -compression and tags. For a JPEG 2000 tile, pass only the compatible compressed -payload to `j2k`; do not assume that every TIFF tile is JPEG 2000 because one -level is. Existing TIFF/WSI JPEG preparation in `j2k-jpeg` is complementary, -not a TIFF parser. - -### DICOM WSI - -DICOM WSI stores a pyramid level as a multi-frame image whose frames are -tiles. `TILED_FULL` positions are implicit; `TILED_SPARSE` positions are -explicit. Edge padding, focal planes, optical paths, overlap, total pixel -matrix dimensions, origin, and orientation belong to DICOM metadata and must -survive decode and assembly. - -Each frame is independently JPEG 2000-family encoded and carries no JP2 -header. A classic JPEG 2000 frame may span multiple fragments, while an HTJ2K -frame is constrained to one fragment. The Basic Offset Table can be empty, and -large instances may require extended offsets. The outer DICOM layer must -resolve frame boundaries before invoking this workspace. - -The codec-level `CompressedTransferSyntax` intentionally describes profiles, -not DICOM UIDs. The DICOM integration must preserve the exact UID and its -lossless/progressive semantics rather than reconstructing it from the codec -enum after the fact. - -## Release blockers for an end-to-end pathology claim - -These were not blockers for publishing the codec-focused `0.7.1`, but they are -blockers for claiming that this repository alone implements a complete digital -pathology workflow: - -1. Add or integrate a production TIFF/BigTIFF parser with checked IFD, - SubIFD, tile offset, tile byte-count, predictor, planar, and OME-XML - handling. -2. Add or integrate a production DICOM WSI index with Basic and Extended - Offset Table support, classic multi-fragment frame assembly, `TILED_FULL` - and `TILED_SPARSE` coordinates, optical paths, and ICC metadata. -3. Define one bounded viewport scheduler that accounts for file reads, - compressed bytes, host outputs, GPU surfaces, cache occupancy, cancellation, - and concurrent requests. -4. Add PHI-safe golden integration fixtures covering classic TIFF, BigTIFF, - OME-TIFF SubIFD pyramids, representative vendor WSI files, and DICOM WSI. - Include malformed offsets, truncated fragments, sparse frames, edge tiles, - mixed level compression, signed and high-bit-depth samples, and ICC cases. -5. Compare decoded pixels and component metadata across CPU, Metal, and CUDA. - Run CUDA validation on supported NVIDIA hardware; macOS cannot establish - CUDA runtime parity. -6. Measure peak resident host and device memory while panning and zooming a - large slide under concurrent load. A throughput benchmark without bounded - memory and cancellation evidence is insufficient. - -## Primary specifications used for this audit - -- [OME-TIFF specification 6.2.2](https://docs.openmicroscopy.org/ome-model/6.2.2/ome-tiff/specification.html) -- [DICOM PS3.5: JPEG 2000 and HTJ2K transfer syntaxes](https://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_A.4.4.html) -- [DICOM PS3.5: encapsulated pixel data](https://dicom.nema.org/medical/Dicom/current/output/chtml/part05/sect_A.4.html) -- [DICOM Whole Slide Imaging overview](https://dicom.nema.org/dicom/dicomwsi/index.html) -- [DICOM PS3.3: microscope tile organization](https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_c.8.12.14.html) -- [DICOM PS3.3: multi-frame dimensions](https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.17.html) diff --git a/docs/gpu-jpeg2000-rust/index.html b/docs/gpu-jpeg2000-rust/index.html index 1cbe8401..3ec64101 100644 --- a/docs/gpu-jpeg2000-rust/index.html +++ b/docs/gpu-jpeg2000-rust/index.html @@ -54,7 +54,7 @@

Vendor-Independent GPU JPEG2000 Rust

j2k crate Source -

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

+

Release status: See the release policy and crates.io for the current published version.

J2K CPU, CUDA, and Metal backend map diff --git a/docs/htj2k-rust/index.html b/docs/htj2k-rust/index.html index 2f29a9f9..098e6be4 100644 --- a/docs/htj2k-rust/index.html +++ b/docs/htj2k-rust/index.html @@ -54,7 +54,7 @@

HTJ2K Rust

j2k crate j2k-transcode -

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

+

Release status: See the release policy and crates.io for the current published version.

HTJ2K Rust codec and transcode pipeline diff --git a/docs/index.html b/docs/index.html index 9523c62b..be7b9270 100644 --- a/docs/index.html +++ b/docs/index.html @@ -59,7 +59,7 @@

J2K Codec Project

API docs Repository -

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

+

Release status: See the release policy and crates.io for the current published version.

diff --git a/docs/metal-jpeg2000-rust/index.html b/docs/metal-jpeg2000-rust/index.html index 97250a51..456f6f8b 100644 --- a/docs/metal-jpeg2000-rust/index.html +++ b/docs/metal-jpeg2000-rust/index.html @@ -54,7 +54,7 @@

Metal JPEG2000 Rust

j2k-metal Metal API docs -

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

+

Release status: See the release policy and crates.io for the current published version.

Metal JPEG2000 Rust pipeline diff --git a/docs/public-support.md b/docs/public-support.md index 5a9e09a9..760c3901 100644 --- a/docs/public-support.md +++ b/docs/public-support.md @@ -3,7 +3,7 @@ This document is the handoff point for the implemented JPEG 2000 Part 1 and HTJ2K Part 15 feature boundary. It is not a standards-conformance claim. Keep it synchronized with `corpus/j2k-conformance/support-inventory.tsv`, repo-local -self-checks, and adoption benchmark publication gates. Candidate ISO/IEC +self-checks, and adoption benchmark publication gates. Release-scoped ISO/IEC 15444-4 evidence and its exact-SHA release gates are tracked in [`docs/t803-conformance.md`](t803-conformance.md). Run: diff --git a/engineering/public-api-review-0.8.1.yml b/docs/release-evidence/public-api/public-api-review-0.8.1.yml similarity index 100% rename from engineering/public-api-review-0.8.1.yml rename to docs/release-evidence/public-api/public-api-review-0.8.1.yml diff --git a/engineering/reviewed-public-api-diff-0.8.1.md b/docs/release-evidence/public-api/reviewed-public-api-diff-0.8.1.md similarity index 98% rename from engineering/reviewed-public-api-diff-0.8.1.md rename to docs/release-evidence/public-api/reviewed-public-api-diff-0.8.1.md index 7465f0a4..5725115b 100644 --- a/engineering/reviewed-public-api-diff-0.8.1.md +++ b/docs/release-evidence/public-api/reviewed-public-api-diff-0.8.1.md @@ -1,6 +1,6 @@ # Reviewed public API diff for j2k 0.8.1 -This report is generated by `cargo xtask semver --write-report`. Normal `cargo xtask semver` regenerates it in memory and fails if this committed file is stale. Every ordinary added/removed fingerprint and every full rustdoc-hidden candidate-inventory fingerprint requires an exact reviewed entry in `engineering/public-api-review-0.8.1.yml`; report regeneration never updates that review config. +This report is generated by `cargo xtask semver --write-report`. Normal `cargo xtask semver` regenerates it in memory and fails if this committed file is stale. Every ordinary added/removed fingerprint and every full rustdoc-hidden candidate-inventory fingerprint requires an exact reviewed entry in `docs/release-evidence/public-api/public-api-review-0.8.1.yml`; report regeneration never updates that review config. - Baseline registry version: `0.8.0` - Baseline source snapshot: `v0.8.0` peeled to `53e0ad3d4f75f492af55413e0dab5a5834bd09c6` diff --git a/docs/release.md b/docs/release.md index 022ea8e1..94ef6b05 100644 --- a/docs/release.md +++ b/docs/release.md @@ -1,8 +1,7 @@ # Release Policy -The `j2k` 0.8.0 public crate release is published and security-supported. -Version `0.8.1` is the prepared release candidate and carries the -release-scoped T.803 decoder evidence described in +The `j2k` 0.8.1 public crate release is published and security-supported. It +carries the release-scoped Part 1 T.803 decoder evidence described in [`T.803 conformance`](t803-conformance.md). Runtime backend selection defaults to `Auto`; CPU remains the portable baseline while supported device paths are selected only with validation and benchmark @@ -12,8 +11,8 @@ evidence. | Version | Distribution state | Security support | | --- | --- | --- | -| `0.8.1` | Prepared candidate; publication is allowed only from annotated tag `v0.8.1` after all exact-SHA CPU, CUDA, Metal, package, and release-integrity gates pass. | Becomes the latest supported release when published. | -| `0.8.0` | Published on crates.io from annotated tag `v0.8.0`. | Latest supported release. | +| `0.8.1` | Published on crates.io from annotated tag `v0.8.1`. | Latest supported release. | +| `0.8.0` | Previous crates.io release from annotated tag `v0.8.0`. | Supported. | | `0.7.5` | Previous crates.io release. Its `j2k-ml` CPU feature works, but its CUDA and Metal features have the clean-consumer defect described below. | Supported, with the stated `j2k-ml` accelerator exception. | | `0.7.3` | Previous published release line. | Supported. | | `0.7.2` | Previous published release line. | Supported. | @@ -22,11 +21,11 @@ evidence. | `0.6.x` | Previous published release line. | Supported for security fixes during the pre-1.0 transition. | | `<0.6` | Historical releases. | Unsupported. | -Version `0.8.1` is published only from annotated tag `v0.8.1`. The tag must -peel to the exact candidate SHA recorded by all three CPU T.803 reports and the -CUDA and Metal adapter reports. The tag-triggered workflow verifies those five -report contents before publishing any crate; the GitHub release attachments, -tag, workflow runs, and crates.io records are the publication evidence. +Version `0.8.1` was published from annotated tag `v0.8.1`, which peels to +commit `f92646d0e6f0d0ef6c1e60b60beaad29da1afd3b`. The tag-triggered workflow +verified the three CPU T.803 reports and the CUDA and Metal adapter reports +before publishing the crates. The GitHub release attachments, tag, workflow +runs, and crates.io records are the publication evidence. Version `0.8.0` was published from annotated tag `v0.8.0`, which peels to commit `53e0ad3d4f75f492af55413e0dab5a5834bd09c6`. The @@ -45,36 +44,38 @@ that are absent from the selected registry releases. The `cpu` feature is unaffected. The published `0.8.0` adapters instead perform accelerator codec decode, explicit decoded-pixel readback, and ordinary Burn tensor upload using released public APIs. Do not recommend the defective 0.7.5 accelerator -features. Any Burn community notice still requires the post-publication -exact-version consumer and benchmark evidence listed in the notice draft. +features. Version `0.8.0` was intentionally source- and behavior-incompatible with `0.7.5`: decode entry points become strict by default, explicit leniency is limited to the documented JP2/JPH metadata recoveries, warnings report actual recovery rather than lenient configuration, and `J2kDecodeWarning::LenientDecodeMode` becomes -`J2kDecodeWarning::LenientMetadataRecovery`. The -[reviewed API report](../engineering/reviewed-public-api-diff-0.8.0.md) records -the release's generated signature diff, and the adjacent -[review configuration](../engineering/public-api-review-0.8.0.yml) contains the -exact source- and behavior-break ledger with migrations. - -Version `0.8.1` compares directly with published `v0.8.0`. Its -[reviewed API report](../engineering/reviewed-public-api-diff-0.8.1.md) and -[review configuration](../engineering/public-api-review-0.8.1.yml) record an -additive-only public surface: exact-resolution and sRGB/ICC decode APIs, -encode-stage context, and the shared irreversible midpoint calculation. The -one-time `0.7.5` to `0.8.0` transition allowance has been removed. +`J2kDecodeWarning::LenientMetadataRecovery`. The [reviewed API +report][v0.8.0-api-report] records the release's generated signature diff, and +the adjacent [review configuration][v0.8.0-api-review] contains the exact +source- and behavior-break ledger with migrations. + +Version `0.8.1` compares directly with published `v0.8.0`. Its [reviewed API +report](release-evidence/public-api/reviewed-public-api-diff-0.8.1.md) and +[review configuration](release-evidence/public-api/public-api-review-0.8.1.yml) +record an additive-only public surface: exact-resolution and sRGB/ICC decode +APIs, encode-stage context, and the shared irreversible midpoint calculation. +The one-time `0.7.5` to `0.8.0` transition allowance has been removed. Version `0.7.3` retained the API contract introduced by `0.7.1`, which intentionally contracted parts of the published pre-1.0 `0.6.2` API. It does not claim source compatibility with `0.6.x`. The -[`CHANGELOG`](../CHANGELOG.md) provides migration notes, and the -[reviewed API report](../engineering/reviewed-public-api-diff-0.7.3.md) -records the additions, removals, and changed signatures. That report was -regenerated, independently reviewed, and verified for the published tag. -Any report prepared for a future release remains provisional until it is -regenerated and verified after that release's final source freeze. +[`CHANGELOG`](../CHANGELOG.md) provides migration notes, and the [reviewed API +report][v0.7.3-api-report] records the additions, removals, and changed +signatures. That report was regenerated, independently reviewed, and verified +for the published tag. Any report prepared for a future release remains +provisional until it is regenerated and verified after that release's final +source freeze. + +[v0.7.3-api-report]: https://github.com/frames-sg/j2k/blob/v0.7.3/engineering/reviewed-public-api-diff-0.7.3.md +[v0.8.0-api-report]: https://github.com/frames-sg/j2k/blob/v0.8.0/engineering/reviewed-public-api-diff-0.8.0.md +[v0.8.0-api-review]: https://github.com/frames-sg/j2k/blob/v0.8.0/engineering/public-api-review-0.8.0.yml ## Candidate freeze and exact-SHA evidence @@ -103,13 +104,13 @@ claim; it does not invalidate or suppress a complete CPU result. The optional of CPU compliance. Current status is recorded in [`docs/t803-conformance.md`](t803-conformance.md). -During remediation, the changelog keeps a real `## [Unreleased]` heading and a -structured staged-version line. As the final release-preparation edit before -candidate freeze, replace that heading with `## [] - YYYY-MM-DD` using the -actual intended tag date and update every staged-document reference that still -says the notes are under `Unreleased`. Do not guess the date early. Any later -date or note change creates a new candidate and requires the exact-SHA gates -again. +During release preparation, the changelog keeps a real `## [Unreleased]` +heading and a structured staged-version line. As the final release-preparation +edit before candidate freeze, replace that heading with +`## [] - YYYY-MM-DD` using the actual intended tag date and +update every staged-document reference that still says the notes are under +`Unreleased`. Do not guess the date early. Any later date or note change creates +a new candidate and requires the exact-SHA gates again. Move the intended protected `origin/main` tip to exactly `RC_SHA` through the repository's normal reviewed push/merge workflow. Let `full-validation.yml` diff --git a/docs/rust-jpeg2000-codec/index.html b/docs/rust-jpeg2000-codec/index.html index 9eab4160..5096def9 100644 --- a/docs/rust-jpeg2000-codec/index.html +++ b/docs/rust-jpeg2000-codec/index.html @@ -54,7 +54,7 @@

Pure-Rust JPEG 2000 Codec

cargo add j2k API docs -

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

+

Release status: See the release policy and crates.io for the current published version.

Rust JPEG 2000 codec pipeline diff --git a/docs/stable-api-1.0.md b/docs/stable-api-1.0.md index 661e73d5..e0b153a6 100644 --- a/docs/stable-api-1.0.md +++ b/docs/stable-api-1.0.md @@ -43,11 +43,12 @@ compatibility escape hatch. The published 0.7.5 artifact recorded both ordinary and hidden-enabled passes with the same generator, rustdoc, and target pins. The historical 0.8.0 semver report compares its ordinary inventory with 0.7.5. The 0.8.1 report compares -the candidate directly with published 0.8.0. Both reports also record each +that release directly with published 0.8.0. Both reports also record each package's complete hidden-inventory count and fingerprint. Every semver invocation collects both live passes, compares both committed companions, and requires exact ordinary added/removed fingerprints plus the hidden -count/fingerprint in `engineering/public-api-review-0.8.1.yml`. +count/fingerprint in +`docs/release-evidence/public-api/public-api-review-0.8.1.yml`. Nonempty hidden inventories also require a package-specific hidden rationale. The 0.8.0 review file contains the reviewed 0.7.5-to-0.8.0 break ledger. The @@ -73,11 +74,13 @@ uses Rust `1.96` and does not accept the former `J2K_SEMVER_TOOLCHAIN` override. The snapshots record the published workspace's public items and the CLI exit-code contract expectations. Manual prose in this file must not duplicate that inventory. The completed 0.7.5-to-0.8.0 comparison is in the generated -[`0.8.0` reviewed API report](../engineering/reviewed-public-api-diff-0.8.0.md). +[`0.8.0` reviewed API report][v0.8.0-api-report]. That report became release evidence after source freeze and the exact-SHA local, hosted, Metal, and CUDA gates completed. The current comparison is in the generated -[`0.8.1` reviewed API report](../engineering/reviewed-public-api-diff-0.8.1.md). +[`0.8.1` reviewed API report](release-evidence/public-api/reviewed-public-api-diff-0.8.1.md). + +[v0.8.0-api-report]: https://github.com/frames-sg/j2k/blob/v0.8.0/engineering/reviewed-public-api-diff-0.8.0.md The currently published stable contract is the `0.8.x` line. Version `0.8.0` intentionally changed the strict-decoding behavior and one warning variant diff --git a/engineering/burn-community-notice-draft.md b/engineering/burn-community-notice-draft.md deleted file mode 100644 index 98a7e832..00000000 --- a/engineering/burn-community-notice-draft.md +++ /dev/null @@ -1,61 +0,0 @@ -# Burn community notice draft - -Do not send this notice yet. It is prepared for the maintainer to review and -send personally after every checkbox below is complete. This repository does -not authorize an agent or automation to post, message, comment, or otherwise -contact Burn or Tracel. - -## Send gate - -- [x] `j2k-ml 0.8.0` is published on crates.io. -- [ ] Fresh external consumers pinned to `j2k-ml = "=0.8.0"` compile with - `cpu`, `cuda`, `cpu,cuda`, `metal`, and `cpu,metal` on their applicable - hosts without third-party path patches. -- [x] The exact release SHA passes hosted CI, the full CUDA release gate, and - the full Metal release gate. -- [ ] The linked batch results use content-distinct inputs at batches - 1/8/32/64 and clearly identify codec decode, readback, and Burn upload. -- [ ] Every link below resolves to the published version and final evidence. - -## Draft message - -**Showcase: batch JPEG 2000 / HTJ2K decoding for Burn** - -I maintain [`j2k-ml`](https://crates.io/crates/j2k-ml), an independent adapter -from the J2K codec project to ordinary Burn tensors. This is a community -integration, not a proposal to add the code to Burn or have the Burn team own -it. - -```bash -cargo add j2k-ml@0.8.0 --features cpu -# Or select `cuda` / `metal` for staged accelerator decode and upload. -``` - -The ownership boundary is: - -- the Burn application owns its `Dataset`, sample selection, labels, - `DataLoader`, training `Batcher`, prefetching, transforms, and training loop; -- J2K parses each encoded image, groups compatible images, and batch-decodes - JPEG 2000 or HTJ2K; -- `j2k-ml` returns the decoded groups as Burn tensors and preserves - `source_indices` so the application can realign labels. - -The runnable -[`training_batcher`](https://github.com/frames-sg/j2k/blob/v0.8.0/crates/j2k-ml/examples/training_batcher.rs) -example demonstrates that complete flow with a persistent CPU decoder. The -[`CUDA upload`](https://github.com/frames-sg/j2k/blob/v0.8.0/crates/j2k-ml/examples/cuda_upload.rs) -and -[`Metal upload`](https://github.com/frames-sg/j2k/blob/v0.8.0/crates/j2k-ml/examples/metal_upload.rs) -examples execute codec decoding on the named accelerator, read the completed -decoded pixels back to host staging, and use Burn's public API for the ordinary -tensor upload. They are intentionally described as staged adapters, not -direct-destination, asynchronous cross-runtime, or zero-copy integrations. - -Install and support details are in the -[`j2k-ml` guide](https://github.com/frames-sg/j2k/blob/v0.8.0/docs/j2k-ml.md). -Corrected content-distinct batch measurements and their transfer accounting -are here: **[replace with the final exact-version benchmark link]**. - -If this is useful to Burn users, I would appreciate a community share. I would -also welcome API feedback on the application `Batcher` example and the returned -group/error shape; repository ownership is not being requested. diff --git a/engineering/clone-audit.md b/engineering/clone-audit.md deleted file mode 100644 index 35f2cfda..00000000 --- a/engineering/clone-audit.md +++ /dev/null @@ -1,63 +0,0 @@ -# Source-aware clone audits - -Audit baseline established for release 0.7.3; these ratchets remain the current -clone-audit thresholds and do not describe the latest published release. - -Production baseline: 1.94% duplicated lines (5,791 lines, 211 exact -clones, 1,388 jscpd sources). The enforced ceiling is 2.01%. - -Test/support baseline: 3.98% duplicated lines (7,840 lines, 217 exact -clones, 1,049 jscpd sources). The enforced ceiling is 3.99%. - -## Canonical command - -```bash -cargo xtask clone-audit -``` - -The source-aware command pins `jscpd@4.0.5`, validates both checked-in configurations, -stages both scopes below `target/clone-audit/`, independently validates both -JSON reports, and fails at or above either ceiling. Configuration drift, -malformed output, unreadable Rust, unsupported source symlinks, or scanner -failure also fails closed. - -Reports: - -- production: `target/clone-audit/report/jscpd-report.json` -- tests/support: `target/clone-audit/test-report/jscpd-report.json` - -## Scope ownership - -The production lane covers Rust below `crates/` while excluding physical -tests, test-support crates, benches, examples, fuzz targets, generated code, -and build scripts. Its Syn-based source analysis replaces proven test-only -syntax with spaces while preserving byte and newline positions. Ambiguous cfg -expressions remain production. - -The test/support lane includes physical test targets, test helper modules, -test-support crates, and test-only syntax extracted from mixed production -files. For mixed files it masks production syntax, preserving the same byte -and newline positions. This keeps production and test duplication separately -actionable without counting inline tests twice. - -Both lanes require Rust detection, mild matching, at least 20 lines and 50 -tokens per clone, and a 20,000-line source ceiling. The higher source ceiling -prevents large device algorithms and fixture owners from silently disappearing -from reports. - -## Production clones of at least 50 lines - -The v0.7.3 cleanup report contains five reviewed pairs: - -| Lines | Owners | Disposition | Reconsideration trigger | -|---:|---|---|---| -| 53 | CUDA JPEG SIMT sampling loops | Retain explicit device-mode sequencing and checkpoint exits | Shared bug fix or a fourth sampling mode | -| 66 | CUDA HTJ2K 9/7 resident/readback bands | Retain distinct pooled-resident and owned-readback lifecycles | Allocation or timing logic diverges, or an existing typed owner can express both | -| 56 | CUDA J2K store sample/channel variants | Retain ABI-specific launch and output ownership after shared validation | Repeated validation defect or another output sample family | -| 57 | JPEG/J2K CUDA image-device facades | Retain trait-protocol symmetry around codec-private decoders | Trait method set changes or a neutral existing request type covers both | -| 81 | JPEG/J2K CUDA tile-device facades | Retain stable trait symmetry around codec-private contexts and surfaces | Another backend duplicates the block or the public trait gains a neutral owner | - -New production pairs of at least 50 lines require consolidation or an entry in -the living remediation register with an owner, reason, and trigger. The -ratchets may be lowered after sustained improvement; they must not be raised to -accept regression. diff --git a/engineering/j2k-ml-adoption-release.md b/engineering/j2k-ml-adoption-release.md deleted file mode 100644 index b705769d..00000000 --- a/engineering/j2k-ml-adoption-release.md +++ /dev/null @@ -1,83 +0,0 @@ -# `j2k-ml 0.8.0` adoption follow-up - -Version `0.8.0` is published. This file now tracks the remaining -post-publication adoption evidence for the accelerator API; it is not a -publication announcement. Do not post externally until the user gives a new -explicit instruction naming the destination and action. - -## Accelerator design - -`CudaUploadBurnDecoder` and `MetalUploadBurnDecoder` use only released public -dependency APIs: - -1. The named accelerator codec decodes into codec-owned resident storage. -2. The adapter waits for codec completion and validates group status. -3. The adapter copies each dense decoded group into host staging. -4. `Tensor::from_data` creates an ordinary Burn tensor on the selected GPU - backend, performing the normal upload. - -These APIs do not promise a direct Burn destination, zero-copy behavior, or an -asynchronous handoff between the codec and Burn runtimes. The root -`[patch.crates-io]` entries for CubeCL and wgpu are removed from this build -path. - -Do not open, comment on, request review for, or otherwise contact CubeCL, wgpu, -Burn, or any other external project on behalf of this work. Keep all further -work inside `frames-sg/j2k` unless the user explicitly authorizes an exact -external action. - -## Historical preparation evidence - -The following checks passed during local macOS preparation on 2026-07-24. -They prove the staged design is buildable and functional, but they are not -release evidence because they were not run from the final clean, versioned -candidate SHA: - -- `cargo xtask j2k-ml-package-smoke`, including clean packaged-source - consumers for `cpu`, `metal`, and `cpu,metal`, packaged examples, and docs; -- `cargo test -p j2k-ml --features cpu`; -- strict `j2k-ml` Clippy and docs for `cpu,metal`; -- `cargo xtask release-metal`; -- repository lint, formatting, unsafe-audit, and command-orchestration tests. - -The compatible lockfile refresh occurred after the package smoke and full -Metal gate. CPU tests, strict Clippy, repository lint, and formatting passed -again afterward. Those preparation results were superseded by the exact-SHA -release validation. - -The CUDA host remained on the published `v0.7.5` release commit during that -preparation, so that checkout was not release evidence. The final hosted, CUDA, -and Metal gates later passed for the exact `v0.8.0` commit as part of the -[publish workflow](https://github.com/frames-sg/j2k/actions/runs/30425822681). - -## Post-publication adoption checklist - -1. Create fresh external consumers pinned to `j2k-ml = "=0.8.0"` and test the - applicable `cpu`, `cuda`, `cpu,cuda`, `metal`, and `cpu,metal` feature sets - without workspace path overrides. -2. Run the package smoke with registry-only third-party dependencies: - - ```bash - cargo xtask j2k-ml-package-smoke - ``` - - Linux must compile `cpu`, `cuda`, and `cpu,cuda`; macOS must compile `cpu`, - `metal`, and `cpu,metal`. Temporary path overrides may name only - unpublished J2K workspace crates. -3. Replace historical direct-destination benchmark comparisons with - content-distinct batches 1/8/32/64 for the staged accelerator adapters - versus CPU-decode-and-upload. Record uncertainty, memory, and transfer - counters without reusing old direct-route claims. -4. Confirm the versioned examples, guide, and benchmark evidence links resolve - at tag `v0.8.0`. -5. Review the final notice only after every send gate in - `engineering/burn-community-notice-draft.md` is complete. - -## Community notice requirements - -Any later notice must state that `j2k-ml` is independent of Burn, explain that -the application owns training batches while the codec groups compatible -images, and describe CUDA/Metal accurately as accelerator codec decode followed -by decoded-pixel readback and ordinary Burn upload. It must not claim direct -tensor destinations, zero-copy behavior, or performance beyond newly measured -staged-adapter workloads. diff --git a/engineering/metal-readback-audit.md b/engineering/metal-readback-audit.md deleted file mode 100644 index 7906a072..00000000 --- a/engineering/metal-readback-audit.md +++ /dev/null @@ -1,54 +0,0 @@ -# Metal Readback Audit - -Status: **complete as of 2026-07-09** - -This note records the July 2026 review and completed migration of CPU-visible -Metal buffer access in the J2K Metal adapters. - -## Result - -- `crates/j2k-metal/src/compute/direct_buffers.rs` is the adapter's centralized - typed buffer-access boundary. Its readback wrappers require `GpuAbi` and - delegate bounds, offset arithmetic, alignment, CPU-visibility, and allocation - checks to `j2k-metal-support`. -- The migrated compute status, profile, token, scratch, and output readbacks use - `checked_buffer_read`, `checked_buffer_slice`, or - `checked_buffer_slice_at`. Those wrappers return owned values after the - producing command buffer has completed. -- Public host views in `surface.rs` and `encode/encoded.rs` use - `j2k_metal_support::checked_buffer_read_vec` rather than constructing slices - directly from a Metal pointer. -- Upload and zero-initialization paths use the shared checked write/fill - helpers. Caller data is copied into Metal-owned storage; the obsolete - cloneable no-copy wrapper was removed because it could not encode the borrow - lifetime in its return type. -- The only direct `buffer.contents()` use under `crates/j2k-metal/src` is the - `buffer_is_cpu_visible` predicate in `direct_buffers.rs`; it checks visibility - and does not dereference or expose the pointer. -- Static inspection found no public or caller-provided Metal buffer byte view on - an unchecked readback path in `j2k-metal`. - -## Completion status - -The migrated implementation compiles, its library tests pass, the unsafe -inventory is current, and the required strict clippy command is green. Remaining -uploads, zeroing, and visibility tests are not unchecked readback slices. - -## Verification commands - -- `rg -n '\.contents\(\)' crates/j2k-metal/src --glob '*.rs'` -- `cargo test -p j2k-metal --lib` -- `cargo test -p j2k-metal-support --lib` -- `cargo xtask unsafe-audit` -- `cargo clippy -p j2k-metal-support -p j2k-metal --all-targets --all-features -- -D warnings` - -2026-07-10 follow-up result: `cargo test -p j2k-metal-support --lib` passed 18 -tests after constructor hardening, removal of the unused no-copy API, and the -retained-command-resource autorelease-pool regression. At -the SAFE-001 checkpoint, `cargo test -p j2k-metal --lib` passed 200 runnable -tests; after the later GPU ordering/API hardening, the candidate passed 204 -runnable tests with 18 explicit hardware-lane tests ignored by the default -invocation. The raw-`contents()` search returned only the visibility predicate. -The final candidate must rerun `cargo xtask unsafe-audit` after every structural -move so the inventory names each current source. The strict Clippy command -passed at both checkpoints. diff --git a/engineering/mirrored-twin-unification.md b/engineering/mirrored-twin-unification.md deleted file mode 100644 index 4329bef0..00000000 --- a/engineering/mirrored-twin-unification.md +++ /dev/null @@ -1,70 +0,0 @@ -# Mirrored-Twin Unification Record - -Date: 2026-07-04 - -This record closes audit item 46. Each audited mirrored-twin family is either -merged behind one implementation or intentionally left separate because the -golden-test comparison axis is behavioral, not syntactic. - -## Unified Families - -- Native/Metal packet ordering: `j2k-types` owns shared packet descriptors and - progression ordering helpers; native and Metal call that one implementation. -- CUDA compact HTJ2K planning: `Htj2kCompactPlanJob` backs both compact public - entry points. -- CUDA classic/HT decoded block copy: `DecodedSubBandBlock` backs both classic - and HT wrappers. -- Adapter error classification: `j2k-core` owns `AdapterErrorKind`, - `AdapterErrorParts`, and structural classifier helpers consumed by adapters. -- JPEG Metal Fast444: `FastSubsampledMetal` backs the full-ROI fast444 path. -- Metal direct required-region retain: `RequiredRegionJob` plus - `retain_jobs_for_required_region` backs classic and HT job vectors. -- Metal direct sub-band group scanning: `prepare_sub_band_groups` backs classic - and HT grouping; codec-specific group construction remains separate because - classic carries segment tables and HT does not. -- Metal hybrid region-scaled planning: `RegionScaledColorPlanCache` and the - shared cached planner back uncached, global-cache, and session-cache callers. -- JPEG sample-width upsample helpers: `UpsampleSample`, - `upsample_h2v1_sample_at`, and `upsample_h2v2_rows_at` back u8 and u16 - wrappers. -- Metal shader classic batch kernels: split shader chunks now route classic - code-block batch entry points through `j2k_encode_classic_code_blocks_dispatch`. - -## Documented Waivers - -- Extended12 versus Progressive12 JPEG decode is not a safe merge target for the - entropy/DCT stage. Extended12 decodes sequential block pixels from scan bytes, - while Progressive12 first merges progressive scans and dequantizes progressive - DCT blocks. The shared surface is the post-DCT output path: - `Extended12WriteRegion`, `Extended12Plane`, color sampling helpers, and the - generic u16 upsample helpers are reused by both families. -- NEON `dual` versus `top_only` row-pair kernels are intentionally separate at - the load/store stage. The top-only path avoids bottom-row loads and writes and - uses top-row-adjacent fallback behavior for odd tails. The public dispatchers - remain single entry points that choose the lane shape from the optional bottom - row. -- Native IDWT f32 versus i64 remains separate at the filter implementation - level. f32 handles irreversible 9/7 and reversible float fallback; i64 handles - exact reversible 5/3 for high-bit-depth paths. Shared IDWT geometry and - required-region propagation live in `j2k-native` helpers consumed by native, - CUDA direct planning, and Metal direct execution. - -## Golden Checks - -The following narrow checks pin the unified and waived families without running -hardware-dependent or long corpus suites: - -```bash -cargo test -p xtask --test repo_lint metal_direct_required_region_retain_uses_shared_job_helper -cargo test -p xtask --test repo_lint metal_direct_sub_band_group_scan_uses_shared_helper -cargo test -p xtask --test repo_lint metal_hybrid_region_scaled_cache_uses_shared_scope -cargo test -p xtask --test repo_lint jpeg_decoder_upsample_sample_width_twins_use_generic_helpers -cargo test -p xtask --test repo_lint mirrored_twin_unification_record_is_current -cargo test -p j2k-jpeg --test decode_into progressive12_ycbcr420 -cargo test -p j2k-jpeg --test decode_into extended12_ycbcr420 -cargo test -p j2k-jpeg --test batch session_batch_decode_progressive12_ycbcr420_matches_single_tile_decode -cargo test -p j2k-jpeg --test batch session_batch_decode_extended12_ycbcr420_matches_single_tile_decode -cargo test -p j2k-jpeg --test neon_hot_paths -cargo test -p j2k-native --test component_planes classic_reversible_i64_decode_round_trips_29_bit_native_bytes -cargo test -p j2k --test decode decode_rgb8_codestream_roundtrips_reversible_pixels -``` diff --git a/engineering/public-api-review-0.7.1.yml b/engineering/public-api-review-0.7.1.yml deleted file mode 100644 index dd9b9313..00000000 --- a/engineering/public-api-review-0.7.1.yml +++ /dev/null @@ -1,123 +0,0 @@ -version: 2 -baseline_tag: v0.6.2 -baseline_version: 0.6.2 -candidate_version: "0.7.1" -reviews: - j2k: - removed_fingerprint: "fnv1a64:6636444baca7f77c" - added_fingerprint: "fnv1a64:ff6625dda2d1913c" - hidden_count: 100 - hidden_fingerprint: "fnv1a64:0d7c7465a7899265" - rationale: "Reviewed the complete 0.6.2-to-0.7 facade diff: experimental adaptive-routing and implementation-facing module paths are intentionally removed, supported codec types remain available at the root, batch errors become typed, large owners become move-only, and opaque NativeBackendError values preserve concrete source chains without exposing j2k-native." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k inventory; it consists of supported facade trait implementations and implementation-facing forms of the reviewed root API, including the opaque native source boundary, with no unreviewed public ownership escape." - j2k-core: - removed_fingerprint: "fnv1a64:77731319da5bb00b" - added_fingerprint: "fnv1a64:d8f97cd365d97513" - hidden_count: 142 - hidden_fingerprint: "fnv1a64:6ed51ee7bd843cdb" - rationale: "Reviewed the core contract consolidation: legacy DecodeRequest default methods, BackendFailureKind, WarningKind, and the panic-prone batch collector are intentionally removed; typed batch infrastructure errors, explicit adapter error parts, device request data, and the documented unsafe GpuAbi contract replace them." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-core inventory, including root re-export forms, batch collection internals, and GPU ABI implementations; the removed collector is replaced by fallible ordered collectors that preserve infrastructure failures." - j2k-codec-math: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:2edcbda35cf5bab0" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed the complete first-published j2k-codec-math API: it is a no_std, unsafe-free, allocation-free support crate containing shared codec constants, generated shader fragments, canonical Huffman validation, fixed-capacity DWT geometry helpers, and canonical classic JPEG 2000 MQ/context lookup tables used by the CUDA classic decoder, with no historical compatibility baseline." - j2k-jpeg: - removed_fingerprint: "fnv1a64:e9c8b4bcdfd4d07c" - added_fingerprint: "fnv1a64:22365f198fcff3a3" - hidden_count: 550 - hidden_fingerprint: "fnv1a64:694878382ed6212c" - rationale: "Reviewed the JPEG contract cleanup: supported decode and encode entry points remain available, invalid coefficient input and allocation failures become typed, large JPEG owners become move-only with fallible cloning where appropriate, sampling and output allocation become fallible, and backend-neutral fast-packet naming replaces Metal-specific names." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg inventory, including fast-packet planning, parser and entropy adapters, allocation-accounted owners, and baseline DCT validation; removed implementation helpers have supported typed replacements or are explicitly unsupported internals." - j2k-tilecodec: - removed_fingerprint: "fnv1a64:d88ac6fa29213015" - added_fingerprint: "fnv1a64:0df1685ea89ef064" - hidden_count: 32 - hidden_fingerprint: "fnv1a64:eb677842559d9b0e" - rationale: "Reviewed the tilecodec contraction: TileCodecError is now non-exhaustive, the unused string Backend variant is removed, and malformed and I/O failures retain concrete std::io::Error sources for typed inspection." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-tilecodec inventory; codec and scratch implementations remain reachable while implementation-only module exposure is contracted, and all supported failures use the reviewed source-preserving error boundary." - j2k-jpeg-metal: - removed_fingerprint: "fnv1a64:7dba0ea76bbcfc83" - added_fingerprint: "fnv1a64:2a1f63ef1ed19f54" - hidden_count: 83 - hidden_fingerprint: "fnv1a64:79227f0534bdbee0" - rationale: "Reviewed the Metal JPEG adapter redesign: batch permutations contract to request-and-target APIs, Surface::as_bytes becomes a fallible Cow readback, decoder surfaces expose an opaque resident image, safe encoders accept that resident image with device validation, raw Metal resource access remains unsafe, and typed Metal support errors preserve synchronization and allocation failures." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg-metal inventory, including reusable output, viewport, submission, and raw-resource seams. ResidentPrivateJpegTile now hands off ResidentMetalImage safely; its previous safe into_buffer escape is intentionally unsafe because callers must prove completion and exclusive ownership." - j2k-metal: - removed_fingerprint: "fnv1a64:cf808e7021f42efb" - added_fingerprint: "fnv1a64:030e13beed78dfc3" - hidden_count: 287 - hidden_fingerprint: "fnv1a64:79d7834b64cda3b0" - rationale: "Reviewed the Metal J2K adapter changes: decode and lossless encode permutations consolidate behind request and batch contracts, decoder surfaces expose an opaque resident image, safe encoders accept that resident image with device validation, GPU-backed byte access becomes fallible, raw buffer construction and handoff remain unsafe, large owners become move-only, and opaque native errors retain concrete sources." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-metal inventory, including prepared-plan cache, pooled resource, submission, resident-image integration, and diagnostic surfaces; lifecycle-sensitive raw access is unsafe and source-preserving typed failures cover cache, accounting, device identity, and native boundaries." - j2k-jpeg-cuda: - removed_fingerprint: "fnv1a64:b89441cc882c4788" - added_fingerprint: "fnv1a64:c7feb31cdb60d809" - hidden_count: 124 - hidden_fingerprint: "fnv1a64:b8ecbb08e772efc7" - rationale: "Reviewed the CUDA JPEG adapter diff: batch decode results intentionally change from Vec to CudaJpegBatch so actual-capacity host leases outlive their allocations, growth is fallible and transactional, and runtime, cap, allocator, cache, and poisoned-session failures remain typed." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg-cuda inventory, including CudaJpegBatch and its owning iterator; slice, Deref, and IntoIterator access remain available while the allocation lease survives collection ownership and consuming iteration." - j2k-cuda: - removed_fingerprint: "fnv1a64:26bb93a098670693" - added_fingerprint: "fnv1a64:b89582cdf65a54b1" - hidden_count: 171 - hidden_fingerprint: "fnv1a64:171da25cdbd064de" - rationale: "Reviewed the CUDA J2K adapter contraction: resident codestream ownership is split into metadata and a device-buffer owner, deprecated host outcome duplication is removed, encode-stage failures become typed, and opaque native and concrete CUDA runtime sources remain inspectable." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-cuda inventory, including resident decode, encode, HT-versus-classic decode profiling, and packetization adapters; owner graphs are move-only where payload duplication was unsafe and lifecycle-sensitive runtime work remains session-bound." - j2k-transcode: - removed_fingerprint: "fnv1a64:59c18a5d5c568d82" - added_fingerprint: "fnv1a64:5134f2653e8e74c1" - hidden_count: 455 - hidden_fingerprint: "fnv1a64:fdd61f6fdda4a9ab" - rationale: "Reviewed the transcode redesign: accelerator, transform, metrics, grid, allocation, resident-handoff, and HTJ2K encode failures become typed and source-preserving; large transform and packetization owners become move-only, implementation modules consolidate behind root contracts, and the DCT97 grid scratch owner is public so production callers can reuse allocation without depending on a private module." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode inventory, including resident-buffer handoffs and the opaque HTJ2K native encode source boundary; geometry, allocation, backend, and invariant failures remain distinguishable without string parsing." - j2k-transcode-cuda: - removed_fingerprint: "fnv1a64:bc3b3cb7278c3546" - added_fingerprint: "fnv1a64:a6bda71caf027368" - hidden_count: 17 - hidden_fingerprint: "fnv1a64:3e3e69d35c4a62a5" - rationale: "Reviewed the CUDA transcode adapter changes: CudaTranscodeError becomes owned and source-preserving, runtime diagnostics retain operation and unavailability classification, and host cap and allocation failures receive explicit variants for correct Auto fallback." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode-cuda inventory; low-level accelerator and resident paths use the reviewed typed transcode error boundary and preserve detailed CUDA runtime sources." - j2k-metal-support: - removed_fingerprint: "fnv1a64:1e97dea61ab37693" - added_fingerprint: "fnv1a64:f387ac03f02fd787" - hidden_count: 11 - hidden_fingerprint: "fnv1a64:671e50d4d121b419" - rationale: "Reviewed the Metal support contraction and ownership API: MetalDeviceSession and borrowed buffer slices are removed, MetalRuntimeSession owns lifecycle state, MetalImageLayout validates image bounds, ResidentMetalImage keeps buffers opaque and device-identified, SubmittedMetalImages retains inputs and outputs through completion, allocation and command creation are checked and fallible, and CPU/GPU synchronization-sensitive raw operations are explicitly unsafe." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-metal-support inventory; checked command, allocation, completion, and unsafe buffer operations expose typed MetalSupportError failures without returning synchronization-dependent borrowed storage. The hidden in-flight-buffer adoption constructor is unsafe and exists only for audited producers that transfer exclusive ownership into a retaining submission." - j2k-transcode-metal: - removed_fingerprint: "fnv1a64:cb7b5d9d32919719" - added_fingerprint: "fnv1a64:c22ab3f78bbed4fc" - hidden_count: 49 - hidden_fingerprint: "fnv1a64:5bf8a22a33753a2d" - rationale: "Reviewed the Metal transcode adapter changes: flattened static-string failures are replaced by typed Metal runtime sources and fallback reasons, while resident Metal codestream handoff validates ownership and exposes explicit resident metadata." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode-metal inventory; transform, buffer, weight, code-block, and resident handoff paths retain typed allocation, Metal runtime, and source-chain failures." - j2k-native: - removed_fingerprint: "fnv1a64:3a778df648bed7a0" - added_fingerprint: "fnv1a64:4cb163fa9f7597dc" - hidden_count: 535 - hidden_fingerprint: "fnv1a64:7c931c0e7c4eb27b" - rationale: "Reviewed the native engine contraction: encoding entry points move from static strings to non-exhaustive EncodeError and EncodeResult, decode adds allocation and classification APIs, large output graphs become move-only, shared stage types come from j2k-types, and implementation-detail exports are removed." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-native inventory, including direct-plan actual-capacity accounting and resident encode hooks; panic-prone deinterleave compatibility is removed and retained low-level paths return typed allocation, validation, accelerator, unsupported, or invariant failures." - j2k-types: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:4b4595dc5d8ff8ce" - hidden_count: 60 - hidden_fingerprint: "fnv1a64:bc3b26816db006bf" - rationale: "Reviewed the additive j2k-types contract: shared encode jobs and outputs retain their existing re-exported paths, while the stage accelerator now uses typed J2kEncodeStageResult failures and adds a validated resident HTJ2K input contract." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-types inventory, including resident input validation, move-only large encode graphs, and typed stage failure classification shared by facade, native, Metal, and CUDA implementations." - j2k-cuda-runtime: - removed_fingerprint: "fnv1a64:de98d6fa72f8a1f1" - added_fingerprint: "fnv1a64:c95260f698f6546d" - hidden_count: 918 - hidden_fingerprint: "fnv1a64:61e8d94589aa373a" - rationale: "Reviewed the CUDA runtime contraction: ordinary root exports narrow to supported context, memory, execution, and error primitives; the added classic JPEG 2000 decode ABI, pooled coefficient allocation, payload upload, and timed multi-target dispatch use the existing context and buffer-pool ownership model; implementation-detail kernels remain outside the documented surface, and completion, host allocation, invariant, and resource-release failures receive typed variants." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-cuda-runtime inventory, including asynchronous cleanup, classic and HT decode jobs, IDWT, queued execution, pooled allocation, and packet ABI surfaces; enqueue and early-release operations requiring caller lifecycle proofs are unsafe and partial failures preserve both primary and cleanup errors." - j2k-profile: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 117 - hidden_fingerprint: "fnv1a64:a1546f56ae38f2e3" - rationale: "Reviewed the ordinary j2k-profile inventory: the documented surface remains the crate module root only; all callable profiling APIs are rustdoc-hidden and are reviewed separately against the 0.6.2 source contract." - hidden_rationale: "Manually reviewed the complete 117-item rustdoc-hidden j2k-profile inventory against the v0.6.2 source contract; the bounded, fallible, move-only profiling redesign and every removed legacy helper are accepted with explicit changelog replacements or an explicit statement that no compatibility replacement exists." diff --git a/engineering/public-api-review-0.7.2.yml b/engineering/public-api-review-0.7.2.yml deleted file mode 100644 index fa8a4bef..00000000 --- a/engineering/public-api-review-0.7.2.yml +++ /dev/null @@ -1,123 +0,0 @@ -version: 2 -baseline_tag: v0.6.2 -baseline_version: 0.6.2 -candidate_version: "0.7.2" -reviews: - j2k: - removed_fingerprint: "fnv1a64:6636444baca7f77c" - added_fingerprint: "fnv1a64:ff6625dda2d1913c" - hidden_count: 100 - hidden_fingerprint: "fnv1a64:0d7c7465a7899265" - rationale: "Reviewed the complete 0.6.2-to-0.7 facade diff: experimental adaptive-routing and implementation-facing module paths are intentionally removed, supported codec types remain available at the root, batch errors become typed, large owners become move-only, and opaque NativeBackendError values preserve concrete source chains without exposing j2k-native." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k inventory; it consists of supported facade trait implementations and implementation-facing forms of the reviewed root API, including the opaque native source boundary, with no unreviewed public ownership escape." - j2k-core: - removed_fingerprint: "fnv1a64:77731319da5bb00b" - added_fingerprint: "fnv1a64:d8f97cd365d97513" - hidden_count: 142 - hidden_fingerprint: "fnv1a64:6ed51ee7bd843cdb" - rationale: "Reviewed the core contract consolidation: legacy DecodeRequest default methods, BackendFailureKind, WarningKind, and the panic-prone batch collector are intentionally removed; typed batch infrastructure errors, explicit adapter error parts, device request data, and the documented unsafe GpuAbi contract replace them." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-core inventory, including root re-export forms, batch collection internals, and GPU ABI implementations; the removed collector is replaced by fallible ordered collectors that preserve infrastructure failures." - j2k-codec-math: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:2edcbda35cf5bab0" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed the complete first-published j2k-codec-math API: it is a no_std, unsafe-free, allocation-free support crate containing shared codec constants, generated shader fragments, canonical Huffman validation, fixed-capacity DWT geometry helpers, and canonical classic JPEG 2000 MQ/context lookup tables used by the CUDA classic decoder, with no historical compatibility baseline." - j2k-jpeg: - removed_fingerprint: "fnv1a64:e9c8b4bcdfd4d07c" - added_fingerprint: "fnv1a64:22365f198fcff3a3" - hidden_count: 550 - hidden_fingerprint: "fnv1a64:694878382ed6212c" - rationale: "Reviewed the JPEG contract cleanup: supported decode and encode entry points remain available, invalid coefficient input and allocation failures become typed, large JPEG owners become move-only with fallible cloning where appropriate, sampling and output allocation become fallible, and backend-neutral fast-packet naming replaces Metal-specific names." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg inventory, including fast-packet planning, parser and entropy adapters, allocation-accounted owners, and baseline DCT validation; removed implementation helpers have supported typed replacements or are explicitly unsupported internals." - j2k-tilecodec: - removed_fingerprint: "fnv1a64:d88ac6fa29213015" - added_fingerprint: "fnv1a64:0df1685ea89ef064" - hidden_count: 32 - hidden_fingerprint: "fnv1a64:eb677842559d9b0e" - rationale: "Reviewed the tilecodec contraction: TileCodecError is now non-exhaustive, the unused string Backend variant is removed, and malformed and I/O failures retain concrete std::io::Error sources for typed inspection." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-tilecodec inventory; codec and scratch implementations remain reachable while implementation-only module exposure is contracted, and all supported failures use the reviewed source-preserving error boundary." - j2k-jpeg-metal: - removed_fingerprint: "fnv1a64:7dba0ea76bbcfc83" - added_fingerprint: "fnv1a64:2a1f63ef1ed19f54" - hidden_count: 83 - hidden_fingerprint: "fnv1a64:79227f0534bdbee0" - rationale: "Reviewed the Metal JPEG adapter redesign: batch permutations contract to request-and-target APIs, Surface::as_bytes becomes a fallible Cow readback, decoder surfaces expose an opaque resident image, safe encoders accept that resident image with device validation, raw Metal resource access remains unsafe, and typed Metal support errors preserve synchronization and allocation failures." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg-metal inventory, including reusable output, viewport, submission, and raw-resource seams. ResidentPrivateJpegTile now hands off ResidentMetalImage safely; its previous safe into_buffer escape is intentionally unsafe because callers must prove completion and exclusive ownership." - j2k-metal: - removed_fingerprint: "fnv1a64:cf808e7021f42efb" - added_fingerprint: "fnv1a64:030e13beed78dfc3" - hidden_count: 287 - hidden_fingerprint: "fnv1a64:79d7834b64cda3b0" - rationale: "Reviewed the Metal J2K adapter changes: decode and lossless encode permutations consolidate behind request and batch contracts, decoder surfaces expose an opaque resident image, safe encoders accept that resident image with device validation, GPU-backed byte access becomes fallible, raw buffer construction and handoff remain unsafe, large owners become move-only, and opaque native errors retain concrete sources." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-metal inventory, including prepared-plan cache, pooled resource, submission, resident-image integration, and diagnostic surfaces; lifecycle-sensitive raw access is unsafe and source-preserving typed failures cover cache, accounting, device identity, and native boundaries." - j2k-jpeg-cuda: - removed_fingerprint: "fnv1a64:b89441cc882c4788" - added_fingerprint: "fnv1a64:c7feb31cdb60d809" - hidden_count: 124 - hidden_fingerprint: "fnv1a64:b8ecbb08e772efc7" - rationale: "Reviewed the CUDA JPEG adapter diff: batch decode results intentionally change from Vec to CudaJpegBatch so actual-capacity host leases outlive their allocations, growth is fallible and transactional, and runtime, cap, allocator, cache, and poisoned-session failures remain typed." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg-cuda inventory, including CudaJpegBatch and its owning iterator; slice, Deref, and IntoIterator access remain available while the allocation lease survives collection ownership and consuming iteration." - j2k-cuda: - removed_fingerprint: "fnv1a64:26bb93a098670693" - added_fingerprint: "fnv1a64:b89582cdf65a54b1" - hidden_count: 171 - hidden_fingerprint: "fnv1a64:171da25cdbd064de" - rationale: "Reviewed the CUDA J2K adapter contraction: resident codestream ownership is split into metadata and a device-buffer owner, deprecated host outcome duplication is removed, encode-stage failures become typed, and opaque native and concrete CUDA runtime sources remain inspectable." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-cuda inventory, including resident decode, encode, HT-versus-classic decode profiling, and packetization adapters; owner graphs are move-only where payload duplication was unsafe and lifecycle-sensitive runtime work remains session-bound." - j2k-transcode: - removed_fingerprint: "fnv1a64:59c18a5d5c568d82" - added_fingerprint: "fnv1a64:5134f2653e8e74c1" - hidden_count: 455 - hidden_fingerprint: "fnv1a64:fdd61f6fdda4a9ab" - rationale: "Reviewed the transcode redesign: accelerator, transform, metrics, grid, allocation, resident-handoff, and HTJ2K encode failures become typed and source-preserving; large transform and packetization owners become move-only, implementation modules consolidate behind root contracts, and the DCT97 grid scratch owner is public so production callers can reuse allocation without depending on a private module." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode inventory, including resident-buffer handoffs and the opaque HTJ2K native encode source boundary; geometry, allocation, backend, and invariant failures remain distinguishable without string parsing." - j2k-transcode-cuda: - removed_fingerprint: "fnv1a64:bc3b3cb7278c3546" - added_fingerprint: "fnv1a64:a6bda71caf027368" - hidden_count: 17 - hidden_fingerprint: "fnv1a64:3e3e69d35c4a62a5" - rationale: "Reviewed the CUDA transcode adapter changes: CudaTranscodeError becomes owned and source-preserving, runtime diagnostics retain operation and unavailability classification, and host cap and allocation failures receive explicit variants for correct Auto fallback." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode-cuda inventory; low-level accelerator and resident paths use the reviewed typed transcode error boundary and preserve detailed CUDA runtime sources." - j2k-metal-support: - removed_fingerprint: "fnv1a64:1e97dea61ab37693" - added_fingerprint: "fnv1a64:f387ac03f02fd787" - hidden_count: 11 - hidden_fingerprint: "fnv1a64:671e50d4d121b419" - rationale: "Reviewed the Metal support contraction and ownership API: MetalDeviceSession and borrowed buffer slices are removed, MetalRuntimeSession owns lifecycle state, MetalImageLayout validates image bounds, ResidentMetalImage keeps buffers opaque and device-identified, SubmittedMetalImages retains inputs and outputs through completion, allocation and command creation are checked and fallible, and CPU/GPU synchronization-sensitive raw operations are explicitly unsafe." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-metal-support inventory; checked command, allocation, completion, and unsafe buffer operations expose typed MetalSupportError failures without returning synchronization-dependent borrowed storage. The hidden in-flight-buffer adoption constructor is unsafe and exists only for audited producers that transfer exclusive ownership into a retaining submission." - j2k-transcode-metal: - removed_fingerprint: "fnv1a64:cb7b5d9d32919719" - added_fingerprint: "fnv1a64:c22ab3f78bbed4fc" - hidden_count: 49 - hidden_fingerprint: "fnv1a64:5bf8a22a33753a2d" - rationale: "Reviewed the Metal transcode adapter changes: flattened static-string failures are replaced by typed Metal runtime sources and fallback reasons, while resident Metal codestream handoff validates ownership and exposes explicit resident metadata." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode-metal inventory; transform, buffer, weight, code-block, and resident handoff paths retain typed allocation, Metal runtime, and source-chain failures." - j2k-native: - removed_fingerprint: "fnv1a64:3a778df648bed7a0" - added_fingerprint: "fnv1a64:4cb163fa9f7597dc" - hidden_count: 535 - hidden_fingerprint: "fnv1a64:7c931c0e7c4eb27b" - rationale: "Reviewed the native engine contraction: encoding entry points move from static strings to non-exhaustive EncodeError and EncodeResult, decode adds allocation and classification APIs, large output graphs become move-only, shared stage types come from j2k-types, and implementation-detail exports are removed." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-native inventory, including direct-plan actual-capacity accounting and resident encode hooks; panic-prone deinterleave compatibility is removed and retained low-level paths return typed allocation, validation, accelerator, unsupported, or invariant failures." - j2k-types: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:4b4595dc5d8ff8ce" - hidden_count: 60 - hidden_fingerprint: "fnv1a64:bc3b26816db006bf" - rationale: "Reviewed the additive j2k-types contract: shared encode jobs and outputs retain their existing re-exported paths, while the stage accelerator now uses typed J2kEncodeStageResult failures and adds a validated resident HTJ2K input contract." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-types inventory, including resident input validation, move-only large encode graphs, and typed stage failure classification shared by facade, native, Metal, and CUDA implementations." - j2k-cuda-runtime: - removed_fingerprint: "fnv1a64:de98d6fa72f8a1f1" - added_fingerprint: "fnv1a64:c95260f698f6546d" - hidden_count: 918 - hidden_fingerprint: "fnv1a64:61e8d94589aa373a" - rationale: "Reviewed the CUDA runtime contraction: ordinary root exports narrow to supported context, memory, execution, and error primitives; the added classic JPEG 2000 decode ABI, pooled coefficient allocation, payload upload, and timed multi-target dispatch use the existing context and buffer-pool ownership model; implementation-detail kernels remain outside the documented surface, and completion, host allocation, invariant, and resource-release failures receive typed variants." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-cuda-runtime inventory, including asynchronous cleanup, classic and HT decode jobs, IDWT, queued execution, pooled allocation, and packet ABI surfaces; enqueue and early-release operations requiring caller lifecycle proofs are unsafe and partial failures preserve both primary and cleanup errors." - j2k-profile: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 117 - hidden_fingerprint: "fnv1a64:a1546f56ae38f2e3" - rationale: "Reviewed the ordinary j2k-profile inventory: the documented surface remains the crate module root only; all callable profiling APIs are rustdoc-hidden and are reviewed separately against the 0.6.2 source contract." - hidden_rationale: "Manually reviewed the complete 117-item rustdoc-hidden j2k-profile inventory against the v0.6.2 source contract; the bounded, fallible, move-only profiling redesign and every removed legacy helper are accepted with explicit changelog replacements or an explicit statement that no compatibility replacement exists." diff --git a/engineering/public-api-review-0.7.3.yml b/engineering/public-api-review-0.7.3.yml deleted file mode 100644 index 2346e32d..00000000 --- a/engineering/public-api-review-0.7.3.yml +++ /dev/null @@ -1,123 +0,0 @@ -version: 2 -baseline_tag: v0.6.2 -baseline_version: 0.6.2 -candidate_version: "0.7.3" -reviews: - j2k: - removed_fingerprint: "fnv1a64:6636444baca7f77c" - added_fingerprint: "fnv1a64:ff6625dda2d1913c" - hidden_count: 100 - hidden_fingerprint: "fnv1a64:0d7c7465a7899265" - rationale: "Reviewed the complete 0.6.2-to-0.7 facade diff: experimental adaptive-routing and implementation-facing module paths are intentionally removed, supported codec types remain available at the root, batch errors become typed, large owners become move-only, and opaque NativeBackendError values preserve concrete source chains without exposing j2k-native." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k inventory; it consists of supported facade trait implementations and implementation-facing forms of the reviewed root API, including the opaque native source boundary, with no unreviewed public ownership escape." - j2k-core: - removed_fingerprint: "fnv1a64:77731319da5bb00b" - added_fingerprint: "fnv1a64:d8f97cd365d97513" - hidden_count: 142 - hidden_fingerprint: "fnv1a64:6ed51ee7bd843cdb" - rationale: "Reviewed the core contract consolidation: legacy DecodeRequest default methods, BackendFailureKind, WarningKind, and the panic-prone batch collector are intentionally removed; typed batch infrastructure errors, explicit adapter error parts, device request data, and the documented unsafe GpuAbi contract replace them." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-core inventory, including root re-export forms, batch collection internals, and GPU ABI implementations; the removed collector is replaced by fallible ordered collectors that preserve infrastructure failures." - j2k-codec-math: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:2edcbda35cf5bab0" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed the complete first-published j2k-codec-math API: it is a no_std, unsafe-free, allocation-free support crate containing shared codec constants, generated shader fragments, canonical Huffman validation, fixed-capacity DWT geometry helpers, and canonical classic JPEG 2000 MQ/context lookup tables used by the CUDA classic decoder, with no historical compatibility baseline." - j2k-jpeg: - removed_fingerprint: "fnv1a64:e9c8b4bcdfd4d07c" - added_fingerprint: "fnv1a64:22365f198fcff3a3" - hidden_count: 550 - hidden_fingerprint: "fnv1a64:694878382ed6212c" - rationale: "Reviewed the JPEG contract cleanup: supported decode and encode entry points remain available, invalid coefficient input and allocation failures become typed, large JPEG owners become move-only with fallible cloning where appropriate, sampling and output allocation become fallible, and backend-neutral fast-packet naming replaces Metal-specific names." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg inventory, including fast-packet planning, parser and entropy adapters, allocation-accounted owners, and baseline DCT validation; removed implementation helpers have supported typed replacements or are explicitly unsupported internals." - j2k-tilecodec: - removed_fingerprint: "fnv1a64:d88ac6fa29213015" - added_fingerprint: "fnv1a64:0df1685ea89ef064" - hidden_count: 32 - hidden_fingerprint: "fnv1a64:eb677842559d9b0e" - rationale: "Reviewed the tilecodec contraction: TileCodecError is now non-exhaustive, the unused string Backend variant is removed, and malformed and I/O failures retain concrete std::io::Error sources for typed inspection." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-tilecodec inventory; codec and scratch implementations remain reachable while implementation-only module exposure is contracted, and all supported failures use the reviewed source-preserving error boundary." - j2k-jpeg-metal: - removed_fingerprint: "fnv1a64:7dba0ea76bbcfc83" - added_fingerprint: "fnv1a64:2a1f63ef1ed19f54" - hidden_count: 83 - hidden_fingerprint: "fnv1a64:79227f0534bdbee0" - rationale: "Reviewed the Metal JPEG adapter redesign: batch permutations contract to request-and-target APIs, Surface::as_bytes becomes a fallible Cow readback, decoder surfaces expose an opaque resident image, safe encoders accept that resident image with device validation, raw Metal resource access remains unsafe, and typed Metal support errors preserve synchronization and allocation failures." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg-metal inventory, including reusable output, viewport, submission, and raw-resource seams. ResidentPrivateJpegTile now hands off ResidentMetalImage safely; its previous safe into_buffer escape is intentionally unsafe because callers must prove completion and exclusive ownership." - j2k-metal: - removed_fingerprint: "fnv1a64:cf808e7021f42efb" - added_fingerprint: "fnv1a64:030e13beed78dfc3" - hidden_count: 287 - hidden_fingerprint: "fnv1a64:79d7834b64cda3b0" - rationale: "Reviewed the Metal J2K adapter changes: decode and lossless encode permutations consolidate behind request and batch contracts, decoder surfaces expose an opaque resident image, safe encoders accept that resident image with device validation, GPU-backed byte access becomes fallible, raw buffer construction and handoff remain unsafe, large owners become move-only, and opaque native errors retain concrete sources." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-metal inventory, including prepared-plan cache, pooled resource, submission, resident-image integration, and diagnostic surfaces; lifecycle-sensitive raw access is unsafe and source-preserving typed failures cover cache, accounting, device identity, and native boundaries." - j2k-jpeg-cuda: - removed_fingerprint: "fnv1a64:b89441cc882c4788" - added_fingerprint: "fnv1a64:c7feb31cdb60d809" - hidden_count: 124 - hidden_fingerprint: "fnv1a64:b8ecbb08e772efc7" - rationale: "Reviewed the CUDA JPEG adapter diff: batch decode results intentionally change from Vec to CudaJpegBatch so actual-capacity host leases outlive their allocations, growth is fallible and transactional, and runtime, cap, allocator, cache, and poisoned-session failures remain typed." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-jpeg-cuda inventory, including CudaJpegBatch and its owning iterator; slice, Deref, and IntoIterator access remain available while the allocation lease survives collection ownership and consuming iteration." - j2k-cuda: - removed_fingerprint: "fnv1a64:26bb93a098670693" - added_fingerprint: "fnv1a64:b89582cdf65a54b1" - hidden_count: 171 - hidden_fingerprint: "fnv1a64:171da25cdbd064de" - rationale: "Reviewed the CUDA J2K adapter contraction: resident codestream ownership is split into metadata and a device-buffer owner, deprecated host outcome duplication is removed, encode-stage failures become typed, and opaque native and concrete CUDA runtime sources remain inspectable." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-cuda inventory, including resident decode, encode, HT-versus-classic decode profiling, and packetization adapters; owner graphs are move-only where payload duplication was unsafe and lifecycle-sensitive runtime work remains session-bound." - j2k-transcode: - removed_fingerprint: "fnv1a64:59c18a5d5c568d82" - added_fingerprint: "fnv1a64:5134f2653e8e74c1" - hidden_count: 455 - hidden_fingerprint: "fnv1a64:fdd61f6fdda4a9ab" - rationale: "Reviewed the transcode redesign: accelerator, transform, metrics, grid, allocation, resident-handoff, and HTJ2K encode failures become typed and source-preserving; large transform and packetization owners become move-only, implementation modules consolidate behind root contracts, and the DCT97 grid scratch owner is public so production callers can reuse allocation without depending on a private module." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode inventory, including resident-buffer handoffs and the opaque HTJ2K native encode source boundary; geometry, allocation, backend, and invariant failures remain distinguishable without string parsing." - j2k-transcode-cuda: - removed_fingerprint: "fnv1a64:bc3b3cb7278c3546" - added_fingerprint: "fnv1a64:a6bda71caf027368" - hidden_count: 17 - hidden_fingerprint: "fnv1a64:3e3e69d35c4a62a5" - rationale: "Reviewed the CUDA transcode adapter changes: CudaTranscodeError becomes owned and source-preserving, runtime diagnostics retain operation and unavailability classification, and host cap and allocation failures receive explicit variants for correct Auto fallback." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode-cuda inventory; low-level accelerator and resident paths use the reviewed typed transcode error boundary and preserve detailed CUDA runtime sources." - j2k-metal-support: - removed_fingerprint: "fnv1a64:1e97dea61ab37693" - added_fingerprint: "fnv1a64:f387ac03f02fd787" - hidden_count: 11 - hidden_fingerprint: "fnv1a64:671e50d4d121b419" - rationale: "Reviewed the Metal support contraction and ownership API: MetalDeviceSession and borrowed buffer slices are removed, MetalRuntimeSession owns lifecycle state, MetalImageLayout validates image bounds, ResidentMetalImage keeps buffers opaque and device-identified, SubmittedMetalImages retains inputs and outputs through completion, allocation and command creation are checked and fallible, and CPU/GPU synchronization-sensitive raw operations are explicitly unsafe." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-metal-support inventory; checked command, allocation, completion, and unsafe buffer operations expose typed MetalSupportError failures without returning synchronization-dependent borrowed storage. The hidden in-flight-buffer adoption constructor is unsafe and exists only for audited producers that transfer exclusive ownership into a retaining submission." - j2k-transcode-metal: - removed_fingerprint: "fnv1a64:cb7b5d9d32919719" - added_fingerprint: "fnv1a64:c22ab3f78bbed4fc" - hidden_count: 49 - hidden_fingerprint: "fnv1a64:5bf8a22a33753a2d" - rationale: "Reviewed the Metal transcode adapter changes: flattened static-string failures are replaced by typed Metal runtime sources and fallback reasons, while resident Metal codestream handoff validates ownership and exposes explicit resident metadata." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-transcode-metal inventory; transform, buffer, weight, code-block, and resident handoff paths retain typed allocation, Metal runtime, and source-chain failures." - j2k-native: - removed_fingerprint: "fnv1a64:3a778df648bed7a0" - added_fingerprint: "fnv1a64:4cb163fa9f7597dc" - hidden_count: 535 - hidden_fingerprint: "fnv1a64:7c931c0e7c4eb27b" - rationale: "Reviewed the native engine contraction: encoding entry points move from static strings to non-exhaustive EncodeError and EncodeResult, decode adds allocation and classification APIs, large output graphs become move-only, shared stage types come from j2k-types, and implementation-detail exports are removed." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-native inventory, including direct-plan actual-capacity accounting and resident encode hooks; panic-prone deinterleave compatibility is removed and retained low-level paths return typed allocation, validation, accelerator, unsupported, or invariant failures." - j2k-types: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:4b4595dc5d8ff8ce" - hidden_count: 60 - hidden_fingerprint: "fnv1a64:bc3b26816db006bf" - rationale: "Reviewed the additive j2k-types contract: shared encode jobs and outputs retain their existing re-exported paths, while the stage accelerator now uses typed J2kEncodeStageResult failures and adds a validated resident HTJ2K input contract." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-types inventory, including resident input validation, move-only large encode graphs, and typed stage failure classification shared by facade, native, Metal, and CUDA implementations." - j2k-cuda-runtime: - removed_fingerprint: "fnv1a64:de98d6fa72f8a1f1" - added_fingerprint: "fnv1a64:c95260f698f6546d" - hidden_count: 918 - hidden_fingerprint: "fnv1a64:61e8d94589aa373a" - rationale: "Reviewed the CUDA runtime contraction: ordinary root exports narrow to supported context, memory, execution, and error primitives; the added classic JPEG 2000 decode ABI, pooled coefficient allocation, payload upload, and timed multi-target dispatch use the existing context and buffer-pool ownership model; implementation-detail kernels remain outside the documented surface, and completion, host allocation, invariant, and resource-release failures receive typed variants." - hidden_rationale: "Reviewed the complete reachable rustdoc-hidden j2k-cuda-runtime inventory, including asynchronous cleanup, classic and HT decode jobs, IDWT, queued execution, pooled allocation, and packet ABI surfaces; enqueue and early-release operations requiring caller lifecycle proofs are unsafe and partial failures preserve both primary and cleanup errors." - j2k-profile: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 117 - hidden_fingerprint: "fnv1a64:a1546f56ae38f2e3" - rationale: "Reviewed the ordinary j2k-profile inventory: the documented surface remains the crate module root only; all callable profiling APIs are rustdoc-hidden and are reviewed separately against the 0.6.2 source contract." - hidden_rationale: "Manually reviewed the complete 117-item rustdoc-hidden j2k-profile inventory against the v0.6.2 source contract; the bounded, fallible, move-only profiling redesign and every removed legacy helper are accepted with explicit changelog replacements or an explicit statement that no compatibility replacement exists." diff --git a/engineering/public-api-review-0.7.5.yml b/engineering/public-api-review-0.7.5.yml deleted file mode 100644 index e2a0be2e..00000000 --- a/engineering/public-api-review-0.7.5.yml +++ /dev/null @@ -1,129 +0,0 @@ -version: 2 -baseline_tag: v0.7.3 -baseline_version: 0.7.3 -candidate_version: "0.7.5" -reviews: - j2k: - removed_fingerprint: "fnv1a64:2bb387c8d09725f1" - added_fingerprint: "fnv1a64:44c04bf4ec370245" - hidden_count: 103 - hidden_fingerprint: "fnv1a64:2439f331dd8532b9" - rationale: "Reviewed the existing intentional DecoderContext re-export removal and the additive owned-batch contract: Arc-backed inputs, prepared grouping, exact native sample types, effective wavelet-transform metadata, indexed failures, retained plans, CPU sessions, and workspace diagnostics. No additional baseline item is removed or changed." - hidden_rationale: "Reviewed the complete hidden j2k inventory, including the immutable adapter-view borrows used to downcast retained classic and HT plans and BatchGroupInfo::native_pixel_format, which validates native Gray/RGB/RGBA U8/U16/I16 metadata for codec and framework adapters without exposing ownership or raw handles; the existing direct J2kContext migration remains unchanged." - j2k-core: - removed_fingerprint: "fnv1a64:e3cc7ab60eb765cd" - added_fingerprint: "fnv1a64:d41e22eaacbb6b8c" - hidden_count: 189 - hidden_fingerprint: "fnv1a64:b87aa26da547e491" - rationale: "Reviewed the existing associated-context contraction together with additive signed i16 Sample/SampleType, Gray/RGB/RGBA pixel formats, PixelLayout channel accounting, and typed unsupported-contract errors required for exact medical batch output. No additional baseline item is removed or changed." - hidden_rationale: "Reviewed the complete hidden j2k-core inventory, including the bounded HT GPU job chunk planner, pass buckets, source-preserving entries and typed limit errors used by both accelerators; the existing associated-context migration remains unchanged." - j2k-codec-math: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed the j2k-codec-math inventory against its published 0.7.3 baseline; no ordinary or hidden public API items changed." - j2k-jpeg: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 550 - hidden_fingerprint: "fnv1a64:d2bd76732f32e066" - rationale: "Reviewed the ordinary j2k-jpeg inventory against 0.7.3; its documented public API is unchanged." - hidden_rationale: "Reviewed the complete hidden j2k-jpeg inventory: JpegCodec batch methods now receive the existing concrete j2k_jpeg::DecoderContext directly, without changing decode behavior or error contracts." - j2k-tilecodec: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 32 - hidden_fingerprint: "fnv1a64:eb677842559d9b0e" - rationale: "Reviewed the ordinary j2k-tilecodec inventory against 0.7.3; no public API items changed." - hidden_rationale: "Reviewed the complete hidden j2k-tilecodec inventory; its codec, scratch, and source-preserving error boundaries are unchanged from the published baseline." - j2k-jpeg-metal: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 83 - hidden_fingerprint: "fnv1a64:8c83730972447ab6" - rationale: "Reviewed the ordinary j2k-jpeg-metal inventory against 0.7.3; no documented public API items changed." - hidden_rationale: "Reviewed the complete hidden JPEG Metal inventory: batch and submit paths accept j2k_jpeg::DecoderContext directly, while resident-image ownership, session lifetime, and typed Metal error contracts remain unchanged." - j2k-metal: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:2b83a651e326c970" - hidden_count: 299 - hidden_fingerprint: "fnv1a64:a496e2469837d3a8" - rationale: "Reviewed the additive persistent Metal batch API: prepared and one-shot sessions, resident groups, validated external destinations, asynchronous submissions, completion metadata, indexed group errors, exact caller-supplied command-queue construction, and known-consumer-queue submission that avoids a bridge on the producer queue and installs same-device event ordering otherwise. No baseline item is removed or changed." - hidden_rationale: "Reviewed the complete hidden J2K Metal inventory, including the reachable MetalSubmission associated type, session-reusing direct decode helpers, DeviceSubmission owners, exact-command-queue identity, and session-unusable classification used to quarantine retained state; buffer ownership, drop-safe completion, and typed Metal failures remain explicit." - j2k-jpeg-cuda: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 124 - hidden_fingerprint: "fnv1a64:0b31ccb3e7974bc4" - rationale: "Reviewed the ordinary j2k-jpeg-cuda inventory against 0.7.3; no documented public API items changed." - hidden_rationale: "Reviewed the complete hidden JPEG CUDA inventory: batch and submit methods receive the associated concrete context directly, while session-bound execution, allocation accounting, and typed CUDA failures remain unchanged." - j2k-cuda: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:4c809347b1ded1da" - hidden_count: 181 - hidden_fingerprint: "fnv1a64:6bb25d5241c4e86a" - rationale: "Reviewed the additive persistent CUDA batch API: prepared decode, required dense resident output ownership, external destinations, asynchronous completion, source-indexed group failures, pool/runtime diagnostics, exact destination ranges, and session reuse. No baseline item is removed or changed." - hidden_rationale: "Reviewed the complete hidden J2K CUDA inventory, including completion-uncertainty and session-usability classification, pool-diagnostic conversion, the session-owned same-device interop context accessor, and the guarded external-device batch bridge; device identity, event ordering, and typed runtime failures remain explicit." - j2k-transcode: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 455 - hidden_fingerprint: "fnv1a64:fdd61f6fdda4a9ab" - rationale: "Reviewed the ordinary j2k-transcode inventory against 0.7.3; no public API items changed." - hidden_rationale: "Reviewed the complete hidden j2k-transcode inventory; transform, packetization, resident handoff, accounting, and typed source-preserving error boundaries are unchanged from 0.7.3." - j2k-transcode-cuda: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 17 - hidden_fingerprint: "fnv1a64:3e3e69d35c4a62a5" - rationale: "Reviewed the ordinary j2k-transcode-cuda inventory against 0.7.3; no public API items changed." - hidden_rationale: "Reviewed the complete hidden CUDA transcode inventory; accelerator routing, resident handoff, allocation caps, and source-preserving runtime errors are unchanged from 0.7.3." - j2k-metal-support: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:759663efe6a53439" - hidden_count: 11 - hidden_fingerprint: "fnv1a64:671e50d4d121b419" - rationale: "Reviewed the additive MetalImageDestination contract: exclusive retained buffers, batch suballocation layout, device identity, bounds and pixel-format validation, and explicitly unsafe raw-buffer access. No baseline item is removed or changed." - hidden_rationale: "Reviewed the complete hidden Metal support inventory; checked allocation, command, completion, buffer ownership, and audited unsafe boundaries are unchanged from the published baseline." - j2k-transcode-metal: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 49 - hidden_fingerprint: "fnv1a64:5bf8a22a33753a2d" - rationale: "Reviewed the ordinary j2k-transcode-metal inventory against 0.7.3; no public API items changed." - hidden_rationale: "Reviewed the complete hidden Metal transcode inventory; transform, buffer, code-block, resident handoff, fallback, and typed source-chain contracts are unchanged from 0.7.3." - j2k-native: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:4313e3ca2306917e" - hidden_count: 661 - hidden_fingerprint: "fnv1a64:14c8dc9c142b3008" - rationale: "Reviewed the additive reusable DecoderWorkspace and statistics surface plus explicit RGBA direct-plan rejection reasons. These expose retained CPU ownership and observability without removing or changing any baseline item." - hidden_rationale: "Reviewed the complete hidden native inventory, including per-tile referenced classic/HT/RGBA plans, offset payload descriptors, staged entropy and IDWT execution, decoded-plane borrows, and retained-allocation metrics used by the facade and device adapters." - j2k-types: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:cec0bd880fac46b9" - hidden_count: 54 - hidden_fingerprint: "fnv1a64:4b30413a7bfffeb5" - rationale: "Reviewed the additive borrowed-codestream payload descriptors: checked range ends, classic range spans, and separate HT cleanup/refinement ranges. These preserve source offsets without duplicating compressed payload bytes, and no baseline item is removed or changed." - hidden_rationale: "Reviewed the complete hidden j2k-types inventory: five forwarding resident-job accessors are removed, and callers use the existing public job.input methods for width, height, component count, bit depth, and signedness." - j2k-cuda-runtime: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:9cec81a67572ffb6" - hidden_count: 1089 - hidden_fingerprint: "fnv1a64:d33ffdcb13c73dd5" - rationale: "Reviewed the additive source-preserving KernelJobStatus error variant and its kernel, job index, status code, and detail fields. It adds batched device failure attribution without removing or changing a baseline item." - hidden_rationale: "Reviewed the complete hidden CUDA runtime inventory, including queued classic/HT/store owners, shared group status, native Gray/RGB/RGBA store ABIs, guarded external writes, stream ordering, event/context diagnostics, and drop-safe completion boundaries." - j2k-profile: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 117 - hidden_fingerprint: "fnv1a64:a1546f56ae38f2e3" - rationale: "Reviewed the ordinary j2k-profile inventory against 0.7.3; its documented surface remains the crate module root only." - hidden_rationale: "Reviewed the complete hidden profiling inventory; bounded capture, move-only ownership, fallible controls, and every callable profiling surface are unchanged from the published baseline." - j2k-ml: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:b40c6fa16266dd04" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed the complete new thin Burn adapter surface: persistent CPU materialization plus explicitly named CudaUploadBurnDecoder and MetalUploadBurnDecoder staged adapters; prepared and one-shot batch entry points; exact U8/U16/I16 rank-4 tensor groups; indexed preparation and group failures; codec submission owners whose wait includes decoded-pixel readback and ordinary Burn upload; source-compatible deprecated aliases for the earlier decoder names; and typed codec, staging-size, CUDA-transfer, and Metal-transfer errors. The adapter makes no direct-destination or zero-copy claim and exposes no normalization, dataset, or training-policy implementation." diff --git a/engineering/public-api-review-0.8.0.yml b/engineering/public-api-review-0.8.0.yml deleted file mode 100644 index 82b0e4fd..00000000 --- a/engineering/public-api-review-0.8.0.yml +++ /dev/null @@ -1,154 +0,0 @@ -version: 3 -baseline_tag: v0.7.5 -baseline_version: 0.7.5 -candidate_version: "0.8.0" -break_ledger: - - id: strict-decode-default - kind: behavior - packages: - - j2k - - j2k-native - removed_items: [] - summary: "Default decode settings and the one-shot view path are strict, and explicit leniency is limited to the documented JP2/JPH metadata recoveries rather than relaxing raw codestream or entropy validation." - migration: "Use DecodeSettings::lenient() per job, including through J2kView::parse_with_settings or J2kDecoder::new_with_settings, only for the documented JP2/JPH metadata recoveries; malformed raw codestream or entropy data must now be rejected or repaired." - - id: recovery-warning-semantics - kind: behavior - packages: - - j2k - removed_items: [] - summary: "Lenient decoding now emits a warning only when an explicitly permitted metadata recovery was actually used." - migration: "Treat an empty warning list as no recovery having occurred; selecting DecodeSettings::lenient() by itself no longer produces a warning." - - id: rename-lenient-recovery-warning - kind: source - packages: - - j2k - removed_items: - - package: j2k - item: "pub j2k::J2kDecodeWarning::LenientDecodeMode" - summary: "The decode warning variant now describes actual lenient metadata recovery rather than configuration selection." - migration: "Replace matches on J2kDecodeWarning::LenientDecodeMode with J2kDecodeWarning::LenientMetadataRecovery and handle the warning only when recovery occurred." -reviews: - j2k: - removed_fingerprint: "fnv1a64:66f96e29b35dc974" - added_fingerprint: "fnv1a64:af14d7bd483fd32d" - hidden_count: 104 - hidden_fingerprint: "fnv1a64:4c828a7f3b5307a4" - rationale: "Reviewed the warning-variant rename and the additive settings constructors and exact power-of-two region reduction method against v0.7.5. The source break is confined to the exact ledger item; the constructors expose explicit lenient recovery, and the reduction method exposes deeper codestream resolution levels without changing the existing scale APIs." - hidden_rationale: "Reviewed the complete hidden j2k inventory, including the new prepared-image recovery-use query, adapter-view borrows, retained classic and HT plans, and native pixel-format validation." - j2k-core: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 189 - hidden_fingerprint: "fnv1a64:b87aa26da547e491" - rationale: "Reviewed the ordinary j2k-core inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden j2k-core inventory, including bounded GPU job planning, pass buckets, source-preserving entries, and typed limit errors; it is unchanged from v0.7.5." - j2k-codec-math: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed the complete j2k-codec-math inventory against v0.7.5; no ordinary or hidden public API item changed." - j2k-jpeg: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 550 - hidden_fingerprint: "fnv1a64:d2bd76732f32e066" - rationale: "Reviewed the ordinary j2k-jpeg inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden j2k-jpeg inventory, including codec context, batch, decode, and typed error boundaries; it is unchanged from v0.7.5." - j2k-tilecodec: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 32 - hidden_fingerprint: "fnv1a64:eb677842559d9b0e" - rationale: "Reviewed the ordinary j2k-tilecodec inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden j2k-tilecodec inventory, including codec, scratch, and source-preserving error boundaries; it is unchanged from v0.7.5." - j2k-jpeg-metal: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 83 - hidden_fingerprint: "fnv1a64:8c83730972447ab6" - rationale: "Reviewed the ordinary j2k-jpeg-metal inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden JPEG Metal inventory, including resident-image ownership, session lifetime, and typed Metal failures; it is unchanged from v0.7.5." - j2k-metal: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 299 - hidden_fingerprint: "fnv1a64:a496e2469837d3a8" - rationale: "Reviewed the ordinary j2k-metal inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden J2K Metal inventory, including submission ownership, exact queue identity, event ordering, session usability, and typed failures; it is unchanged from v0.7.5." - j2k-jpeg-cuda: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 124 - hidden_fingerprint: "fnv1a64:0b31ccb3e7974bc4" - rationale: "Reviewed the ordinary j2k-jpeg-cuda inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden JPEG CUDA inventory, including session-bound execution, allocation accounting, and typed runtime failures; it is unchanged from v0.7.5." - j2k-cuda: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:a160bbc72d2879f1" - hidden_count: 181 - hidden_fingerprint: "fnv1a64:6bb25d5241c4e86a" - rationale: "Reviewed all eighteen additive j2k-cuda items. The concrete CudaLosslessEncoder accepts per-job backend preference, exposes a separate strict-CUDA method, returns an opaque result that distinguishes requested and actual execution plus fallback reason, resets cached accelerator state after failure, and requires exclusive mutable access while remaining movable between threads." - hidden_rationale: "Reviewed the complete hidden J2K CUDA inventory, including completion uncertainty, session usability, device identity, event ordering, pool diagnostics, and guarded interop; it is unchanged from v0.7.5." - j2k-transcode: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 455 - hidden_fingerprint: "fnv1a64:fdd61f6fdda4a9ab" - rationale: "Reviewed the ordinary j2k-transcode inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden j2k-transcode inventory, including transforms, packetization, resident handoff, accounting, and source-preserving errors; it is unchanged from v0.7.5." - j2k-transcode-cuda: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 17 - hidden_fingerprint: "fnv1a64:3e3e69d35c4a62a5" - rationale: "Reviewed the ordinary j2k-transcode-cuda inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden CUDA transcode inventory, including accelerator routing, resident handoff, allocation caps, and source-preserving runtime errors; it is unchanged from v0.7.5." - j2k-metal-support: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 11 - hidden_fingerprint: "fnv1a64:671e50d4d121b419" - rationale: "Reviewed the ordinary j2k-metal-support inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden Metal support inventory, including checked allocation, command, completion, buffer ownership, and audited unsafe boundaries; it is unchanged from v0.7.5." - j2k-transcode-metal: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 49 - hidden_fingerprint: "fnv1a64:5bf8a22a33753a2d" - rationale: "Reviewed the ordinary j2k-transcode-metal inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden Metal transcode inventory, including transforms, buffers, code blocks, resident handoff, fallback, and typed source chains; it is unchanged from v0.7.5." - j2k-native: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 663 - hidden_fingerprint: "fnv1a64:722e2b73b10d9585" - rationale: "Reviewed the ordinary j2k-native inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden native inventory, including the exact-reduction facade bridge, image recovery-use query, retained plans, payload descriptors, staged entropy and IDWT execution, decoded-plane borrows, and allocation metrics." - j2k-types: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 54 - hidden_fingerprint: "fnv1a64:4b30413a7bfffeb5" - rationale: "Reviewed the ordinary j2k-types inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden j2k-types inventory, including borrowed codestream payload descriptors and resident-job access; it is unchanged from v0.7.5." - j2k-cuda-runtime: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 1089 - hidden_fingerprint: "fnv1a64:d33ffdcb13c73dd5" - rationale: "Reviewed the ordinary j2k-cuda-runtime inventory against v0.7.5; no public API item was added, removed, or changed." - hidden_rationale: "Reviewed the complete hidden CUDA runtime inventory, including queued owners, group status, native store ABIs, guarded writes, stream ordering, diagnostics, and drop-safe completion; it is unchanged from v0.7.5." - j2k-profile: - removed_fingerprint: "none" - added_fingerprint: "none" - hidden_count: 117 - hidden_fingerprint: "fnv1a64:a1546f56ae38f2e3" - rationale: "Reviewed the ordinary j2k-profile inventory against v0.7.5; its documented surface remains the crate module root only." - hidden_rationale: "Reviewed the complete hidden profiling inventory, including bounded capture, move-only ownership, fallible controls, and callable profiling surfaces; it is unchanged from v0.7.5." - j2k-ml: - removed_fingerprint: "none" - added_fingerprint: "fnv1a64:fa307c9021bb7e35" - hidden_count: 0 - hidden_fingerprint: "none" - rationale: "Reviewed all eight additive j2k-ml items. CudaBurnDecoder, MetalBurnDecoder, and their submitted-batch types remain the concrete structs with unchanged inherent method paths and unchanged exhaustive error contract. The new CudaUploadBurnDecoder, MetalUploadBurnDecoder, SubmittedCudaUploadBurnBatch, and SubmittedMetalUploadBurnBatch names are aliases at root and module scope. CUDA codec failures retain the published nested typed batch-error chain; staged transfer diagnostics use the published AcceleratorInterop variant. The staged adapters make no direct-destination or zero-copy claim." diff --git a/engineering/repo-lint-contract.md b/engineering/repo-lint-contract.md deleted file mode 100644 index 1c02a5da..00000000 --- a/engineering/repo-lint-contract.md +++ /dev/null @@ -1,70 +0,0 @@ -# Repository lint contract - -`cargo xtask repo-lint` enforces repository properties that Rust compilation, -behavior tests, stable-API capture, or a standard external tool cannot express -directly. It is not a second compiler and does not prescribe where an internal -symbol or test must live. - -## Accepted policy checks - -Repository policy is appropriate for boundaries such as: - -- release-manifest completeness and dependency ordering; -- stable and implementation API inventory agreement; -- unsafe-code inventory and reviewed suppression scope; -- workflow permissions, immutable action references, secret isolation, and - required-gate wiring; -- dependency, corpus-license, generated-source, and public-document contracts; -- accelerator validation that must fail closed when required hardware is - absent. - -Checks should parse the relevant format when a parser exists. Source scanning -is reserved for narrow invariants that do not have a compiler or runtime -representation, and must fail closed on malformed input. - -## Rejected policy checks - -Do not add repository-lint assertions whose only purpose is to freeze: - -- physical file or module ownership; -- source line counts; -- exact test counts or test function names; -- private helper names or textual call shapes; -- formatting already owned by `rustfmt` or lints already owned by Clippy. - -Those checks make ordinary refactoring change two implementations without -proving behavior. File size remains a review signal, not a build failure. -Behavior belongs in the owning crate's unit, integration, property, -differential, or hardware tests. Public exposure belongs in the stable-API -inventory. Cheap type invariants should be compiler checked. - -## Allocation evidence - -Allocation ledgers and `try_reserve` behavior tests remain authoritative for -exact error categories, transactional failure, retained capacity, and -aggregate live-byte formulas. - -The unpublished `j2k-alloc-probe` crate supplements those tests at selected -real codec boundaries. It records successful allocation/reallocation calls -and gross requested bytes. Deallocations are diagnostic only and never credit -a budget. It intentionally does not claim retained bytes or peak live bytes. -Measurements are process-global, serial, and must join all worker work before -returning. - -Textual allocation policies may be retired only after their unique invariant -is covered by compiler enforcement, direct behavior/property tests, or a -measured boundary. Adding the probe does not by itself justify deleting the -remaining allocation policies. - -## Retirement rule - -Before removing a policy check: - -1. identify every property it claims to protect; -2. map each material property to direct replacement evidence; -3. run the owning crate's behavior suite before deletion; -4. run repository lint, formatting, and Clippy after deletion; -5. keep the old check when the replacement cannot run on the required target. - -Historical reports and reviewed API evidence remain provenance records even -when the command surface that produced them is simplified. diff --git a/engineering/repo-lint-retirement.md b/engineering/repo-lint-retirement.md deleted file mode 100644 index 645b6d6a..00000000 --- a/engineering/repo-lint-retirement.md +++ /dev/null @@ -1,150 +0,0 @@ -# Repository lint retirement record - -This record explains the repository-policy tests removed in the 2026 repo-lint -teardown. A removed test either has a mechanism-backed replacement or asserted -only the spelling, location, or size of source code and therefore did not -protect behavior. - -## Replacement mechanisms - -| Property | Mechanism | -| --- | --- | -| Move-only encode/decode owner graphs | Crate-local compile-time trait-ambiguity assertions. Adding `Clone`, including a handwritten implementation, makes a normal build fail. | -| Host allocation behavior | The serial `j2k-alloc-probe` package measures the process-wide allocator, warms the retained Rayon pool, checks zero-allocation workspace reuse where the API supports it, bounds intentional transient allocation, and cross-checks the public encode allocation-ledger boundary. | -| Infallible production allocation APIs | Workspace Clippy `disallowed-methods` and `disallowed-macros` configuration provides a fast local diagnostic. The allocator probe remains the behavioral gate. | -| GitHub Actions supply-chain and permission policy | Parsed YAML rules validate every workflow structurally, without copying action SHAs, tool versions, job scripts, or checksum literals into Rust. | -| Native-backend public-API isolation | The stable-API collector rejects `j2k_native` in both ordinary and rustdoc-hidden inventories for every collected package other than `j2k-native` itself. | -| Encode/decode call ordering | The retained `rust_function_policy` Syn visitor checks actual call expressions and their order. | -| Release, stable API, semver, clone, panic, coverage, and unsafe inventories | Their repository-owned xtask commands and command/unit tests remain the source of truth. | - -## Removed allocation text proxies - -The following policies searched production source for allocator spellings, -helper names, owner names, or test function names. They could be green while -the measured allocation path changed, and many explicitly allowed the real -`BudgetedVec` allocation path: - -- `j2k_batch_allocation_policy.rs` -- `j2k_container_allocation_policy.rs` -- `j2k_scratch_allocation_policy.rs` -- `jpeg_batch_allocation_policy.rs` -- `jpeg_decode_allocation_policy.rs` -- `jpeg_header_allocation_policy.rs` -- `jpeg_segment_allocation_policy.rs` -- `jpeg_transcode_allocation_policy/**` -- `native_decode_allocation_policy/**` -- `native_decode_context_reuse_policy.rs` -- `native_encode_allocation_policy/**` -- `profile_allocation_policy.rs` -- allocation and ownership checks below `gpu_adapter_policy/**` - -The move-only assertions and allocation probe above are stronger replacements. -Policies that only asserted module size or the existence of a similarly named -unit test were removed without replacement because neither fact establishes an -allocation property. - -## Removed source-shape policies - -The following modules asserted function/type/module names, exact error-mapping -spellings, line ceilings, or the presence of regression-test names: - -- `encode_compare_structure_policy.rs` -- `encode_stage_error_policy.rs` -- `fixture_compare_structure_policy/**` -- `gpu_adapter_policy/**` -- `gpu_device_structure_policy.rs` -- `j2k_component_handoff_policy.rs` -- `j2k_decode_structure_policy.rs` -- `j2k_encode_validation_policy.rs` -- `j2k_error_source_policy.rs` -- `jpeg_dct_reemit_policy.rs` -- `jpeg_decoder_structure_policy/**` -- `jpeg_encoder_structure_policy.rs` -- `jpeg_metal_resource_safety_policy.rs` -- `jpeg_prepared_table_policy.rs` -- `jpeg_restart_policy/**` -- `jpeg_simd_boundary_policy.rs` -- `metal_buffer_pool_policy.rs` -- `metal_compute_structure_policy/**` -- `metal_compute_symbol_policy.rs` -- `metal_direct_plan_structure_policy.rs` -- `metal_resource_construction_policy.rs` -- `native_direct_plan_structure_policy.rs` -- `native_tile_metadata_policy.rs` -- `public_typed_helper_error_policy.rs` -- `shader_policy.rs` -- `tilecodec_error_policy.rs` -- `transcode_api_policy.rs` -- `transcode_cuda_policy/**` -- `transcode_structure_policy/**` - -Rust type checking, Clippy, the real unit/integration suites, and the retained -Syn call-order visitor cover enforceable properties here. Tests that merely -required a production test name or a particular module split were not -replaced: renaming or reorganizing correct code is not a regression. - -The one non-compiler Metal hazard in this family remains independently -enforced: raw `MTLBuffer::contents()` access is confined to its reviewed file -inventory. The attacker-controlled JPEG entropy paths also retain their -strict no-`unwrap`/no-`expect` inventory. - -## Removed self-referential and command-proxy policies - -- `audit_integrity_policy.rs` duplicated constants and implementation names - from the real `clone-audit` and `panic-surface` commands. -- `coverage_structure_policy/**` asserted the coverage implementation's file - layout and ratchet spellings; `cargo xtask coverage host` remains the gate. -- `xtask_main_structure_policy/**` asserted dispatch-arm and help-text - spellings, keeping unused commands alive. -- `docs_and_workflows_policy/workflow_coverage_policy.rs`, - `stable_api_governance.rs`, and the non-evidence documentation policies - copied command names, versions, and workflow fragments already exercised by - their real commands. -- `docs_and_workflows_policy/structural_ratchets/policy_line_limits.rs`, - `policy_ownership/**`, and all other `.lines().count()` ownership ceilings - governed the lint suite or source layout rather than behavior. -- `release_policy.rs` copied publish lists, script fragments, and release - documentation. `cargo xtask release-integrity`, package command tests, and - the structural workflow policy remain authoritative. -- `workflow_policy.rs` copied workflow SHAs, versions, scripts, and job names. - Parsed structural rules replace its supply-chain and permission properties. - -The retired `downstream-smoke`, `nextest`, `bench-report`, `typos`, and `deny` -xtask dispatch aliases had no repository callers outside the source-text -policies. The underlying gates remain where applicable: ordinary workspace -tests, the GitHub typos action, and the cargo-deny action. - -## Removed editorial and benchmark-layout checks - -The repository-hygiene policy no longer blacklists former product or vendor -names, agent-specific filenames, or selected prose claims. Those are editorial -review concerns rather than code properties. The independently checkable home -path and missing-script scans remain. - -The `j2k-ml` benchmark policy no longer requires particular module, function, -type, or constant names, nor does it duplicate the workspace suppression -policy. Cargo metadata still checks the supported benchmark/feature matrix, and -the Syn visitor still verifies that persistent decoder sessions are created -after each workload is materialized. - -## Narrow retained policies - -The teardown intentionally preserves checks with an independent source of -truth: - -- exact manifest/source suppression inventories; -- the SHA-256 path-patch and conformance-corpus inventories; -- the cargo-metadata versus architecture-document symmetric diff; -- environment-variable documentation set comparison; -- local-home-path, missing-script, and package include-path escape scans; -- stable-API review evidence cross-comparison; -- the `j2k-ml` Cargo metadata matrix and Syn session-lifecycle check; -- structural workflow YAML rules; -- the Metal raw-buffer access inventory; -- the entropy-decoder panic hotspot inventory; and -- the Syn function-call ordering policy. - -These checks may inspect text as an input format, but they compare it with a -separate inventory, parsed structure, filesystem state, compiler property, or -measured behavior rather than treating a substring as proof of a code -property. diff --git a/engineering/reviewed-public-api-diff-0.7.3.md b/engineering/reviewed-public-api-diff-0.7.3.md deleted file mode 100644 index 96307c42..00000000 --- a/engineering/reviewed-public-api-diff-0.7.3.md +++ /dev/null @@ -1,6145 +0,0 @@ -# Reviewed public API diff for j2k 0.7.3 - -This report is generated by `cargo xtask semver --write-report`. Normal `cargo xtask semver` regenerates it in memory and fails if this committed file is stale. Every ordinary added/removed fingerprint and every full rustdoc-hidden candidate-inventory fingerprint requires an exact reviewed entry in `engineering/public-api-review-0.7.3.yml`; report regeneration never updates that review config. - -- Baseline registry version: `0.6.2` -- Baseline source snapshot: `v0.6.2` peeled to `55ee746e1b49f7309e4d030cc01a69d580173920` -- Candidate version: `0.7.3` -- Tool pins: Rust `1.96`, `cargo-semver-checks 0.48.0`, `cargo-public-api 0.52.0`, rustdoc `nightly-2026-06-28`, target `aarch64-apple-darwin` - -## Summary - -| Package | Baseline | Candidate | Computed release type | Added | Removed/changed | Removed fingerprint | Added fingerprint | Rustdoc-hidden items | Hidden inventory fingerprint | -| --- | --- | --- | --- | ---: | ---: | --- | --- | ---: | --- | -| `j2k` | `0.6.2` | `0.7.3` | `major` | 138 | 392 | `fnv1a64:6636444baca7f77c` | `fnv1a64:ff6625dda2d1913c` | 100 | `fnv1a64:0d7c7465a7899265` | -| `j2k-core` | `0.6.2` | `0.7.3` | `major` | 235 | 586 | `fnv1a64:77731319da5bb00b` | `fnv1a64:d8f97cd365d97513` | 142 | `fnv1a64:6ed51ee7bd843cdb` | -| `j2k-codec-math` | `new/unpublished` | `0.7.3` | `new` | 100 | 0 | `none` | `fnv1a64:2edcbda35cf5bab0` | 0 | `none` | -| `j2k-jpeg` | `0.6.2` | `0.7.3` | `major` | 248 | 922 | `fnv1a64:e9c8b4bcdfd4d07c` | `fnv1a64:22365f198fcff3a3` | 550 | `fnv1a64:694878382ed6212c` | -| `j2k-tilecodec` | `0.6.2` | `0.7.3` | `major` | 5 | 35 | `fnv1a64:d88ac6fa29213015` | `fnv1a64:0df1685ea89ef064` | 32 | `fnv1a64:eb677842559d9b0e` | -| `j2k-jpeg-metal` | `0.6.2` | `0.7.3` | `major` | 65 | 130 | `fnv1a64:7dba0ea76bbcfc83` | `fnv1a64:2a1f63ef1ed19f54` | 83 | `fnv1a64:79227f0534bdbee0` | -| `j2k-metal` | `0.6.2` | `0.7.3` | `major` | 105 | 323 | `fnv1a64:cf808e7021f42efb` | `fnv1a64:030e13beed78dfc3` | 287 | `fnv1a64:79d7834b64cda3b0` | -| `j2k-jpeg-cuda` | `0.6.2` | `0.7.3` | `major` | 40 | 78 | `fnv1a64:b89441cc882c4788` | `fnv1a64:c7feb31cdb60d809` | 124 | `fnv1a64:b8ecbb08e772efc7` | -| `j2k-cuda` | `0.6.2` | `0.7.3` | `major` | 48 | 255 | `fnv1a64:26bb93a098670693` | `fnv1a64:b89582cdf65a54b1` | 171 | `fnv1a64:171da25cdbd064de` | -| `j2k-transcode` | `0.6.2` | `0.7.3` | `major` | 359 | 201 | `fnv1a64:59c18a5d5c568d82` | `fnv1a64:5134f2653e8e74c1` | 455 | `fnv1a64:fdd61f6fdda4a9ab` | -| `j2k-transcode-cuda` | `0.6.2` | `0.7.3` | `major` | 19 | 19 | `fnv1a64:bc3b3cb7278c3546` | `fnv1a64:a6bda71caf027368` | 17 | `fnv1a64:3e3e69d35c4a62a5` | -| `j2k-metal-support` | `0.6.2` | `0.7.3` | `major` | 115 | 22 | `fnv1a64:1e97dea61ab37693` | `fnv1a64:f387ac03f02fd787` | 11 | `fnv1a64:671e50d4d121b419` | -| `j2k-transcode-metal` | `0.6.2` | `0.7.3` | `major` | 55 | 14 | `fnv1a64:cb7b5d9d32919719` | `fnv1a64:c22ab3f78bbed4fc` | 49 | `fnv1a64:5bf8a22a33753a2d` | -| `j2k-native` | `0.6.2` | `0.7.3` | `major` | 136 | 499 | `fnv1a64:3a778df648bed7a0` | `fnv1a64:4cb163fa9f7597dc` | 535 | `fnv1a64:7c931c0e7c4eb27b` | -| `j2k-types` | `0.6.2` | `0.7.3` | `major` | 67 | 0 | `none` | `fnv1a64:4b4595dc5d8ff8ce` | 60 | `fnv1a64:bc3b26816db006bf` | -| `j2k-cuda-runtime` | `0.6.2` | `0.7.3` | `major` | 15 | 762 | `fnv1a64:de98d6fa72f8a1f1` | `fnv1a64:c95260f698f6546d` | 918 | `fnv1a64:61e8d94589aa373a` | -| `j2k-profile` | `0.6.2` | `0.7.3` | `major` | 0 | 0 | `none` | `none` | 117 | `fnv1a64:a1546f56ae38f2e3` | - -## New packages without a 0.6.2 registry baseline - -- `j2k-codec-math` `0.7.3`: 100 ordinary public API items, fingerprint `fnv1a64:2edcbda35cf5bab0`; 0 rustdoc-hidden public API items, full-inventory fingerprint `none`. - -## Published-package details - -### `j2k` - -Baseline items: 795. Candidate items: 541. Computed release type: `major`. Rustdoc-hidden candidate items: 100. Full hidden-inventory fingerprint: `fnv1a64:0d7c7465a7899265`. - -#### Removed or changed baseline API items - -```text -#[non_exhaustive] pub enum j2k::error::J2kError -impl core::default::Default for j2k::adapter::adaptive_route::J2kAdaptiveGatePolicy -impl core::default::Default for j2k::view::J2kRowDecodeOptions -impl j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest -impl j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence -impl j2k::adapter::adaptive_route::J2kAdaptiveBenchmarks -impl j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding -impl j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner -impl j2k::adapter::adaptive_route::J2kAdaptiveRouteReport -impl j2k::adapter::adaptive_route::J2kAdaptiveStage -impl j2k::adapter::adaptive_route::J2kAdaptiveStageDecision -impl j2k::adapter::adaptive_route::J2kAdaptiveWorkload -impl j2k::adapter::device_plan::DeviceDecodePlan -impl j2k::adapter::encode_stage::J2kEncodeStageAccelerator for j2k_types::CpuOnlyJ2kEncodeStageAccelerator -impl j2k::context::J2kContext -impl j2k::scratch::J2kScratchPool -impl j2k::view::J2kRowDecodeOptions -impl j2k_core::context::CodecContext for j2k::context::J2kContext -impl j2k_core::error::CodecError for j2k::error::J2kError -impl j2k_core::scratch::ScratchPool for j2k::scratch::J2kScratchPool -impl j2k_core::traits::ImageCodec for j2k::view::J2kCodec -impl j2k_core::traits::ImageCodec for j2k::view::J2kDecoder<'_> -impl j2k_core::traits::TileBatchDecode for j2k::view::J2kCodec -impl<'a> j2k::view::J2kDecoder<'a> -impl<'a> j2k::view::J2kView<'a> -impl<'a> j2k_core::traits::ImageDecode<'a> for j2k::view::J2kDecoder<'a> -impl<'a> j2k_core::traits::ImageDecodeRows<'a, u16> for j2k::view::J2kDecoder<'a> -impl<'a> j2k_core::traits::ImageDecodeRows<'a, u8> for j2k::view::J2kDecoder<'a> -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest::from_backend_request(j2k_core::backend::BackendRequest) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::end_to_end(j2k_core::backend::BackendKind, u64, u64, f64) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::stage(j2k::adapter::adaptive_route::J2kAdaptiveStage, j2k_core::backend::BackendKind, u64, u64, f64) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding::reclassify_cpu(j2k::adapter::adaptive_route::J2kAdaptiveStage, j2k_core::backend::BackendKind, j2k::adapter::adaptive_route::J2kAdaptiveRcaReason) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::with_policy(self, j2k::adapter::adaptive_route::J2kAdaptiveGatePolicy) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveStage::profile_label(self) -> &'static str -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveWorkload::new(j2k::adapter::adaptive_route::J2kAdaptiveOperation, j2k::adapter::adaptive_route::J2kAdaptiveCodecMode, j2k::adapter::adaptive_route::J2kAdaptiveQualityMode, u16, u8, (u32, u32), u16) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveWorkload::with_output_residency(self, j2k::adapter::adaptive_route::J2kAdaptiveOutputResidency) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveWorkload::with_quality_layers(self, u16) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveWorkload::with_roi(self, bool) -> Self -pub const fn j2k::adapter::adaptive_route::J2kAdaptiveWorkload::with_scaled(self, bool) -> Self -pub const fn j2k::context::J2kContext::new() -> Self -pub const fn j2k::scratch::J2kScratchPool::new() -> Self -pub const fn j2k::view::J2kRowDecodeOptions::max_rows_per_stripe(self) -> u32 -pub const fn j2k::view::J2kRowDecodeOptions::max_stripe_bytes(self) -> usize -pub const fn j2k::view::J2kRowDecodeOptions::new(u32) -> Self -pub const fn j2k::view::J2kRowDecodeOptions::new_with_max_stripe_bytes(u32, usize) -> Self -pub const fn j2k::view::J2kRowDecodeOptions::with_max_stripe_bytes(self, usize) -> Self -pub const j2k::adapter::adaptive_route::J2kAdaptiveStage::ALL: [Self; 12] -pub enum j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest -pub enum j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkScope -pub enum j2k::adapter::adaptive_route::J2kAdaptiveCodecMode -pub enum j2k::adapter::adaptive_route::J2kAdaptiveOperation -pub enum j2k::adapter::adaptive_route::J2kAdaptiveOutputResidency -pub enum j2k::adapter::adaptive_route::J2kAdaptiveQualityMode -pub enum j2k::adapter::adaptive_route::J2kAdaptiveRcaReason -pub enum j2k::adapter::adaptive_route::J2kAdaptiveRouteKind -pub enum j2k::adapter::adaptive_route::J2kAdaptiveStage -pub enum j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus -pub enum j2k::adapter::adaptive_route::J2kAdaptiveStageOwner -pub enum j2k::adapter::device_plan::DeviceDecodeRequest -pub fn j2k::J2kLosslessComponentSamples<'a>::new(&'a [j2k::J2kLosslessComponentPlane<'a>], u32, u32, u8, bool) -> core::result::Result -pub fn j2k::J2kLosslessSamples<'a>::new(&'a [u8], u32, u32, u16, u8, bool) -> core::result::Result -pub fn j2k::J2kLosslessTypedComponentSamples<'a>::new(&'a [j2k::J2kLosslessTypedComponentPlane<'a>], u32, u32) -> core::result::Result -pub fn j2k::J2kLossySamples<'a>::new(&'a [u8], u32, u32, u16, u8, bool) -> core::result::Result -pub fn j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::improvement_percent(self) -> f64 -pub fn j2k::adapter::adaptive_route::J2kAdaptiveBenchmarks::push_end_to_end(&mut self, j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence) -pub fn j2k::adapter::adaptive_route::J2kAdaptiveBenchmarks::push_stage(&mut self, j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence) -pub fn j2k::adapter::adaptive_route::J2kAdaptiveGatePolicy::default() -> Self -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::compile_time_defaults() -> Self -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::lossless_encode(j2k_core::backend::BackendCapabilities) -> Self -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::lossless_encode_benchmarks(j2k::adapter::adaptive_route::J2kAdaptiveWorkload) -> j2k::adapter::adaptive_route::J2kAdaptiveBenchmarks -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::lossless_encode_workload(j2k::J2kLosslessSamples<'_>, j2k::J2kLosslessEncodeOptions) -> j2k::adapter::adaptive_route::J2kAdaptiveWorkload -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::new(j2k_core::backend::BackendCapabilities) -> Self -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::plan(&self, j2k::adapter::adaptive_route::J2kAdaptiveWorkload, j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest, &j2k::adapter::adaptive_route::J2kAdaptiveBenchmarks) -> core::result::Result -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::plan_lossless_encode(&self, j2k::J2kLosslessSamples<'_>, j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::with_lossless_encode_policy(self) -> Self -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner::with_rca_finding(self, j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding) -> Self -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRouteReport::has_unresolved_rca(&self) -> bool -pub fn j2k::adapter::adaptive_route::J2kAdaptiveRouteReport::stage(&self, j2k::adapter::adaptive_route::J2kAdaptiveStage) -> core::option::Option<&j2k::adapter::adaptive_route::J2kAdaptiveStageDecision> -pub fn j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::requires_rca(&self) -> bool -pub fn j2k::adapter::adaptive_route::J2kAdaptiveWorkload::logical_owner_for(self, j2k::adapter::adaptive_route::J2kAdaptiveStage) -> j2k::adapter::adaptive_route::J2kAdaptiveStageOwner -pub fn j2k::adapter::device_plan::DeviceDecodePlan::for_image((u32, u32), j2k::adapter::device_plan::DeviceDecodeRequest) -> core::result::Result -pub fn j2k::adapter::device_plan::DeviceDecodePlan::is_full_frame(self) -> bool -pub fn j2k::adapter::device_plan::DeviceDecodePlan::output_dims(self) -> (u32, u32) -pub fn j2k::adapter::device_plan::DeviceDecodePlan::output_rect(self) -> j2k_core::types::Rect -pub fn j2k::adapter::device_plan::DeviceDecodePlan::scale(self) -> j2k_core::scale::Downscale -pub fn j2k::adapter::device_plan::DeviceDecodePlan::source_dims(self) -> (u32, u32) -pub fn j2k::adapter::device_plan::DeviceDecodePlan::source_rect(self) -> j2k_core::types::Rect -pub fn j2k::adapter::device_plan::DeviceDecodePlan::target_resolution(self) -> core::option::Option<(u32, u32)> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> core::result::Result>>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> core::result::Result, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> core::result::Result, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> core::result::Result -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> core::result::Result -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_ht_subband(&mut self, j2k_types::J2kHtSubbandEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::encode_tier1_code_blocks(&mut self, &[j2k_types::J2kTier1CodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::prefer_parallel_cpu_code_block_fallback(&self) -> bool -pub fn j2k::adapter::encode_stage::J2kEncodeStageAccelerator::prefer_parallel_cpu_tile_encode(&self) -> bool -pub fn j2k::context::J2kContext::cache_stats(&self) -> j2k_core::context::CacheStats -pub fn j2k::context::J2kContext::clear(&mut self) -pub fn j2k::context::J2kContext::cpu_decode_parallelism(&self) -> j2k::CpuDecodeParallelism -pub fn j2k::context::J2kContext::set_cpu_decode_parallelism(&mut self, j2k::CpuDecodeParallelism) -pub fn j2k::decode_tile_into_in_context(&[u8], &mut j2k_core::context::DecoderContext, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::decode_tile_region_into_in_context(&[u8], &mut j2k_core::context::DecoderContext, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::decode_tile_region_scaled_into_in_context(&[u8], &mut j2k_core::context::DecoderContext, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::decode_tile_scaled_into_in_context(&[u8], &mut j2k_core::context::DecoderContext, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::decode_tiles_into(&mut [j2k::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::decode_tiles_region_into(&mut [j2k::TileRegionDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::decode_tiles_region_scaled_into(&mut [j2k::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::decode_tiles_scaled_into(&mut [j2k::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::encode_j2k_lossless(j2k::J2kLosslessSamples<'_>, &j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossless_components(j2k::J2kLosslessComponentSamples<'_>, &j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossless_typed_components(j2k::J2kLosslessTypedComponentSamples<'_>, &j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossless_with_accelerator(j2k::J2kLosslessSamples<'_>, &j2k::J2kLosslessEncodeOptions, j2k_core::backend::BackendKind, &mut impl j2k::adapter::encode_stage::J2kEncodeStageAccelerator) -> core::result::Result -pub fn j2k::encode_j2k_lossless_with_roi_regions(j2k::J2kLosslessSamples<'_>, &j2k::J2kLosslessEncodeOptions, &[j2k::J2kRoiRegion]) -> core::result::Result -pub fn j2k::encode_j2k_lossy(j2k::J2kLossySamples<'_>, &j2k::J2kLossyEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossy_with_accelerator(j2k::J2kLossySamples<'_>, &j2k::J2kLossyEncodeOptions, j2k_core::backend::BackendKind, &mut impl j2k::adapter::encode_stage::J2kEncodeStageAccelerator) -> core::result::Result -pub fn j2k::encode_j2k_lossy_with_roi_regions(j2k::J2kLossySamples<'_>, &j2k::J2kLossyEncodeOptions, &[j2k::J2kRoiRegion]) -> core::result::Result -pub fn j2k::error::J2kError::is_buffer_error(&self) -> bool -pub fn j2k::error::J2kError::is_not_implemented(&self) -> bool -pub fn j2k::error::J2kError::is_truncated(&self) -> bool -pub fn j2k::error::J2kError::is_unsupported(&self) -> bool -pub fn j2k::recode_j2k_to_htj2k_lossless(&[u8], j2k::J2kToHtj2kOptions) -> core::result::Result -pub fn j2k::scratch::J2kScratchPool::bytes_allocated(&self) -> usize -pub fn j2k::scratch::J2kScratchPool::reset(&mut self) -pub fn j2k::view::J2kCodec::decode_tile(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kCodec::decode_tile_region(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kCodec::decode_tile_region_scaled(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kCodec::decode_tile_scaled(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kDecoder<'a>::bytes(&self) -> &'a [u8] -pub fn j2k::view::J2kDecoder<'a>::cpu_decode_parallelism(&self) -> j2k::CpuDecodeParallelism -pub fn j2k::view::J2kDecoder<'a>::decode_components(&mut self) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kDecoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kDecoder<'a>::decode_into_with_scratch(&mut self, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::decode_native_components(&mut self) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::decode_native_region_components(&mut self, j2k_core::types::Rect) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::decode_region_components(&mut self, j2k_core::types::Rect) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kDecoder<'a>::decode_region_into(&mut self, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kDecoder<'a>::decode_region_scaled_into(&mut self, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::decode_rows>(&mut self, &mut R) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k::view::J2kDecoder<'a>::decode_rows>(&mut self, &mut R) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k::view::J2kDecoder<'a>::decode_rows_u16_bounded>(&mut self, &mut R, j2k::view::J2kRowDecodeOptions) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k::view::J2kDecoder<'a>::decode_rows_u8_bounded>(&mut self, &mut R, j2k::view::J2kRowDecodeOptions) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k::view::J2kDecoder<'a>::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k::view::J2kDecoder<'a>::decode_scaled_into(&mut self, &mut j2k::scratch::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, j2k::error::J2kError> -pub fn j2k::view::J2kDecoder<'a>::from_view(Self::View) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::from_view(j2k::view::J2kView<'a>) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::info(&self) -> &j2k_core::types::Info -pub fn j2k::view::J2kDecoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::inspect_support(&'a [u8]) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::new(&'a [u8]) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k::view::J2kDecoder<'a>::passthrough_candidate(&self) -> core::option::Option> -pub fn j2k::view::J2kDecoder<'a>::set_cpu_decode_parallelism(&mut self, j2k::CpuDecodeParallelism) -pub fn j2k::view::J2kDecoder<'a>::support_info(&self) -> core::option::Option<&j2k::J2kSupportInfo> -pub fn j2k::view::J2kRowDecodeOptions::default() -> Self -pub fn j2k::view::J2kView<'a>::bytes(&self) -> &'a [u8] -pub fn j2k::view::J2kView<'a>::info(&self) -> &j2k_core::types::Info -pub fn j2k::view::J2kView<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k::view::J2kView<'a>::passthrough_candidate(&self) -> core::option::Option> -pub fn j2k::view::J2kView<'a>::support_info(&self) -> core::option::Option<&j2k::J2kSupportInfo> -pub fn j2k::wrap_j2k_codestream(&[u8], j2k::J2kFileWrapOptions<'_>) -> core::result::Result, j2k::error::J2kError> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> core::result::Result>>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> core::result::Result -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> core::result::Result -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_ht_subband(&mut self, j2k_types::J2kHtSubbandEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_tier1_code_blocks(&mut self, &[j2k_types::J2kTier1CodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::prefer_parallel_cpu_code_block_fallback(&self) -> bool -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::prefer_parallel_cpu_tile_encode(&self) -> bool -pub j2k::J2kError::Backend(alloc::string::String) -pub j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest::Accelerated -pub j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest::CpuOnly -pub j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest::StrictDevice(j2k_core::backend::BackendKind) -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::accelerated_ns: u64 -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::backend: j2k_core::backend::BackendKind -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::cpu_ns: u64 -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::criterion_noise_percent: f64 -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence::scope: j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkScope -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkScope::EndToEnd -pub j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkScope::Stage(j2k::adapter::adaptive_route::J2kAdaptiveStage) -pub j2k::adapter::adaptive_route::J2kAdaptiveCodecMode::ClassicJ2k -pub j2k::adapter::adaptive_route::J2kAdaptiveCodecMode::Htj2k -pub j2k::adapter::adaptive_route::J2kAdaptiveGatePolicy::min_speedup_percent: f64 -pub j2k::adapter::adaptive_route::J2kAdaptiveOperation::Decode -pub j2k::adapter::adaptive_route::J2kAdaptiveOperation::Encode -pub j2k::adapter::adaptive_route::J2kAdaptiveOperation::Transcode -pub j2k::adapter::adaptive_route::J2kAdaptiveOutputResidency::Device -pub j2k::adapter::adaptive_route::J2kAdaptiveOutputResidency::Host -pub j2k::adapter::adaptive_route::J2kAdaptiveQualityMode::Lossless -pub j2k::adapter::adaptive_route::J2kAdaptiveQualityMode::Lossy -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding::backend: j2k_core::backend::BackendKind -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding::reason: j2k::adapter::adaptive_route::J2kAdaptiveRcaReason -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding::reclassify_cpu: bool -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding::stage: j2k::adapter::adaptive_route::J2kAdaptiveStage -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::AlgorithmicMismatch -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::BenchmarkMismatch -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::CpuGenuinelyBetter -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::MissingBatching -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::MissingResidency -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::TooSmallWorkload -pub j2k::adapter::adaptive_route::J2kAdaptiveRcaReason::TransferSyncOverhead -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteKind::CpuOnly -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteKind::Hybrid -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteKind::StrictDevice -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteReport::request: j2k::adapter::adaptive_route::J2kAdaptiveBackendRequest -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteReport::route_kind: j2k::adapter::adaptive_route::J2kAdaptiveRouteKind -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteReport::selected_device: core::option::Option -pub j2k::adapter::adaptive_route::J2kAdaptiveRouteReport::stages: alloc::vec::Vec -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::CodestreamAssembly -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::CopySync -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Dwt -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::HtBlockCoding -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Idwt -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::MarkerParsing -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Mct -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Packetization -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::PcrdRateControl -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Quantization -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Tier1 -pub j2k::adapter::adaptive_route::J2kAdaptiveStage::Validation -pub j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::gate_status: j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus -pub j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::improvement_percent: core::option::Option -pub j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::logical_owner: j2k::adapter::adaptive_route::J2kAdaptiveStageOwner -pub j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::rca_reason: core::option::Option -pub j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::selected_backend: j2k_core::backend::BackendKind -pub j2k::adapter::adaptive_route::J2kAdaptiveStageDecision::stage: j2k::adapter::adaptive_route::J2kAdaptiveStage -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::Approved -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::BenchmarkGateMissing -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::BlockedNeedsRca -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::CpuShaped -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::EndToEndGateBlocked -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::ReclassifiedCpu -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::StrictDeviceProof -pub j2k::adapter::adaptive_route::J2kAdaptiveStageGateStatus::VariableCpuDefault -pub j2k::adapter::adaptive_route::J2kAdaptiveStageOwner::Cpu -pub j2k::adapter::adaptive_route::J2kAdaptiveStageOwner::Gpu -pub j2k::adapter::adaptive_route::J2kAdaptiveStageOwner::Variable -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::batch_size: u16 -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::bit_depth: u8 -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::codec_mode: j2k::adapter::adaptive_route::J2kAdaptiveCodecMode -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::components: u16 -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::operation: j2k::adapter::adaptive_route::J2kAdaptiveOperation -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::output_residency: j2k::adapter::adaptive_route::J2kAdaptiveOutputResidency -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::quality_layers: u16 -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::quality_mode: j2k::adapter::adaptive_route::J2kAdaptiveQualityMode -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::roi: bool -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::scaled: bool -pub j2k::adapter::adaptive_route::J2kAdaptiveWorkload::tile_size: (u32, u32) -pub j2k::adapter::device_plan::DeviceDecodeRequest::Full -pub j2k::adapter::device_plan::DeviceDecodeRequest::Region -pub j2k::adapter::device_plan::DeviceDecodeRequest::Region::roi: j2k_core::types::Rect -pub j2k::adapter::device_plan::DeviceDecodeRequest::RegionScaled -pub j2k::adapter::device_plan::DeviceDecodeRequest::RegionScaled::roi: j2k_core::types::Rect -pub j2k::adapter::device_plan::DeviceDecodeRequest::RegionScaled::scale: j2k_core::scale::Downscale -pub j2k::adapter::device_plan::DeviceDecodeRequest::Scaled -pub j2k::adapter::device_plan::DeviceDecodeRequest::Scaled::scale: j2k_core::scale::Downscale -pub j2k::error::J2kError::Backend(alloc::string::String) -pub j2k::error::J2kError::Buffer(j2k_core::error::BufferError) -pub j2k::error::J2kError::DimensionOverflow -pub j2k::error::J2kError::DimensionOverflow::height: u32 -pub j2k::error::J2kError::DimensionOverflow::width: u32 -pub j2k::error::J2kError::Input(j2k_core::error::InputError) -pub j2k::error::J2kError::InvalidBox -pub j2k::error::J2kError::InvalidBox::offset: usize -pub j2k::error::J2kError::InvalidBox::what: &'static str -pub j2k::error::J2kError::InvalidCod -pub j2k::error::J2kError::InvalidCod::what: &'static str -pub j2k::error::J2kError::InvalidMarker -pub j2k::error::J2kError::InvalidMarker::marker: u8 -pub j2k::error::J2kError::InvalidMarker::offset: usize -pub j2k::error::J2kError::InvalidRegion -pub j2k::error::J2kError::InvalidRegion::h: u32 -pub j2k::error::J2kError::InvalidRegion::image_h: u32 -pub j2k::error::J2kError::InvalidRegion::image_w: u32 -pub j2k::error::J2kError::InvalidRegion::w: u32 -pub j2k::error::J2kError::InvalidRegion::x: u32 -pub j2k::error::J2kError::InvalidRegion::y: u32 -pub j2k::error::J2kError::InvalidSamples -pub j2k::error::J2kError::InvalidSamples::what: alloc::string::String -pub j2k::error::J2kError::InvalidSiz -pub j2k::error::J2kError::InvalidSiz::what: &'static str -pub j2k::error::J2kError::MissingRequiredBox -pub j2k::error::J2kError::MissingRequiredBox::box_type: &'static str -pub j2k::error::J2kError::MissingRequiredMarker -pub j2k::error::J2kError::MissingRequiredMarker::marker: &'static str -pub j2k::error::J2kError::NotImplemented(j2k_core::error::NotImplemented) -pub j2k::error::J2kError::RateTargetUnreachable -pub j2k::error::J2kError::RateTargetUnreachable::best: alloc::string::String -pub j2k::error::J2kError::RateTargetUnreachable::target: alloc::string::String -pub j2k::error::J2kError::Unsupported(j2k_core::error::Unsupported) -pub mod j2k::adapter -pub mod j2k::adapter::adaptive_route -pub mod j2k::adapter::device_plan -pub mod j2k::adapter::encode_stage -pub mod j2k::context -pub mod j2k::error -pub mod j2k::scratch -pub mod j2k::view -pub struct j2k::adapter::adaptive_route::J2kAdaptiveBenchmarkEvidence -pub struct j2k::adapter::adaptive_route::J2kAdaptiveBenchmarks -pub struct j2k::adapter::adaptive_route::J2kAdaptiveGatePolicy -pub struct j2k::adapter::adaptive_route::J2kAdaptiveRcaFinding -pub struct j2k::adapter::adaptive_route::J2kAdaptiveRoutePlanner -pub struct j2k::adapter::adaptive_route::J2kAdaptiveRouteReport -pub struct j2k::adapter::adaptive_route::J2kAdaptiveStageDecision -pub struct j2k::adapter::adaptive_route::J2kAdaptiveWorkload -pub struct j2k::adapter::device_plan::DeviceDecodePlan -pub struct j2k::context::J2kContext -pub struct j2k::scratch::J2kScratchPool -pub struct j2k::view::J2kCodec -pub struct j2k::view::J2kDecoder<'a> -pub struct j2k::view::J2kRowDecodeOptions -pub struct j2k::view::J2kView<'a> -pub trait j2k::adapter::encode_stage::J2kEncodeStageAccelerator -pub type j2k::TileBatchError = j2k_core::batch::TileBatchError -pub type j2k::view::J2kCodec::Context = j2k::context::J2kContext -pub type j2k::view::J2kCodec::Error = j2k::error::J2kError -pub type j2k::view::J2kCodec::Pool = j2k::scratch::J2kScratchPool -pub type j2k::view::J2kCodec::Warning = core::convert::Infallible -pub type j2k::view::J2kDecoder<'_>::Error = j2k::error::J2kError -pub type j2k::view::J2kDecoder<'_>::Pool = j2k::scratch::J2kScratchPool -pub type j2k::view::J2kDecoder<'_>::Warning = core::convert::Infallible -pub type j2k::view::J2kDecoder<'a>::View = j2k::view::J2kView<'a> -pub use j2k::adapter::encode_stage::CpuOnlyJ2kEncodeStageAccelerator -pub use j2k::adapter::encode_stage::EncodedHtJ2kCodeBlock -pub use j2k::adapter::encode_stage::EncodedJ2kCodeBlock -pub use j2k::adapter::encode_stage::IrreversibleQuantizationStep -pub use j2k::adapter::encode_stage::IrreversibleQuantizationSubbandScales -pub use j2k::adapter::encode_stage::J2kCodeBlockSegment -pub use j2k::adapter::encode_stage::J2kCodeBlockStyle -pub use j2k::adapter::encode_stage::J2kDeinterleaveToF32Job -pub use j2k::adapter::encode_stage::J2kEncodeDispatchReport -pub use j2k::adapter::encode_stage::J2kForwardDwt53Job -pub use j2k::adapter::encode_stage::J2kForwardDwt53Level -pub use j2k::adapter::encode_stage::J2kForwardDwt53Output -pub use j2k::adapter::encode_stage::J2kForwardDwt97Job -pub use j2k::adapter::encode_stage::J2kForwardDwt97Level -pub use j2k::adapter::encode_stage::J2kForwardDwt97Output -pub use j2k::adapter::encode_stage::J2kForwardIctJob -pub use j2k::adapter::encode_stage::J2kForwardRctJob -pub use j2k::adapter::encode_stage::J2kHtCodeBlockEncodeJob -pub use j2k::adapter::encode_stage::J2kHtSubbandEncodeJob -pub use j2k::adapter::encode_stage::J2kHtj2kTileEncodeJob -pub use j2k::adapter::encode_stage::J2kPacketizationBlockCodingMode -pub use j2k::adapter::encode_stage::J2kPacketizationCodeBlock -pub use j2k::adapter::encode_stage::J2kPacketizationEncodeJob -pub use j2k::adapter::encode_stage::J2kPacketizationPacketDescriptor -pub use j2k::adapter::encode_stage::J2kPacketizationProgressionOrder -pub use j2k::adapter::encode_stage::J2kPacketizationResolution -pub use j2k::adapter::encode_stage::J2kPacketizationSubband -pub use j2k::adapter::encode_stage::J2kQuantizeSubbandJob -pub use j2k::adapter::encode_stage::J2kSubBandType -pub use j2k::adapter::encode_stage::J2kTier1CodeBlockEncodeJob -pub use j2k::adapter::encode_stage::PrecomputedHtj2k53Component -pub use j2k::adapter::encode_stage::PrecomputedHtj2k53Image -pub use j2k::adapter::encode_stage::PrecomputedHtj2k97Component -pub use j2k::adapter::encode_stage::PrecomputedHtj2k97Image -pub use j2k::adapter::encode_stage::PreencodedHtj2k97CodeBlock -pub use j2k::adapter::encode_stage::PreencodedHtj2k97CompactCodeBlock -pub use j2k::adapter::encode_stage::PreencodedHtj2k97CompactComponent -pub use j2k::adapter::encode_stage::PreencodedHtj2k97CompactImage -pub use j2k::adapter::encode_stage::PreencodedHtj2k97CompactResolution -pub use j2k::adapter::encode_stage::PreencodedHtj2k97CompactSubband -pub use j2k::adapter::encode_stage::PreencodedHtj2k97Component -pub use j2k::adapter::encode_stage::PreencodedHtj2k97Image -pub use j2k::adapter::encode_stage::PreencodedHtj2k97Resolution -pub use j2k::adapter::encode_stage::PreencodedHtj2k97Subband -pub use j2k::adapter::encode_stage::PrequantizedHtj2k97CodeBlock -pub use j2k::adapter::encode_stage::PrequantizedHtj2k97Component -pub use j2k::adapter::encode_stage::PrequantizedHtj2k97Image -pub use j2k::adapter::encode_stage::PrequantizedHtj2k97Resolution -pub use j2k::adapter::encode_stage::PrequantizedHtj2k97Subband -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k::BackendErrorKind -#[non_exhaustive] pub enum j2k::J2kDecodeWarning -impl core::default::Default for j2k::J2kRowDecodeOptions -impl core::error::Error for j2k::NativeBackendError -impl core::fmt::Display for j2k::BackendErrorKind -impl core::fmt::Display for j2k::J2kDecodeWarning -impl core::fmt::Display for j2k::NativeBackendError -impl j2k::BackendError -impl j2k::DeviceDecodePlan -impl j2k::J2kContext -impl j2k::J2kDecoder<'_> -impl j2k::J2kRowDecodeOptions -impl j2k::J2kScratchPool -impl<'a> j2k::J2kCodestreamPayload<'a> -impl<'a> j2k::J2kDecoder<'a> -impl<'a> j2k::J2kView<'a> -pub const fn j2k::BackendError::kind(&self) -> j2k::BackendErrorKind -pub const fn j2k::J2kCodestreamPayload<'a>::codestream(self) -> &'a [u8] -pub const fn j2k::J2kCodestreamPayload<'a>::codestream_offset(self) -> usize -pub const fn j2k::J2kCodestreamPayload<'a>::payload_kind(self) -> j2k_core::passthrough::CompressedPayloadKind -pub const fn j2k::J2kContext::new() -> Self -pub const fn j2k::J2kRowDecodeOptions::max_rows_per_stripe(self) -> u32 -pub const fn j2k::J2kRowDecodeOptions::max_stripe_bytes(self) -> usize -pub const fn j2k::J2kRowDecodeOptions::new(u32) -> Self -pub const fn j2k::J2kRowDecodeOptions::new_with_max_stripe_bytes(u32, usize) -> Self -pub const fn j2k::J2kRowDecodeOptions::with_max_stripe_bytes(self, usize) -> Self -pub const fn j2k::J2kScratchPool::new() -> Self -pub enum j2k::DeviceDecodeRequest -pub fn j2k::BackendError::buffer(impl core::convert::Into) -> Self -pub fn j2k::BackendError::message(&self) -> &str -pub fn j2k::BackendError::new(j2k::BackendErrorKind, impl core::convert::Into) -> Self -pub fn j2k::BackendError::not_implemented(impl core::convert::Into) -> Self -pub fn j2k::BackendError::truncated(impl core::convert::Into) -> Self -pub fn j2k::BackendError::unsupported(impl core::convert::Into) -> Self -pub fn j2k::BackendErrorKind::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k::DeviceDecodePlan::for_image((u32, u32), j2k::DeviceDecodeRequest) -> core::result::Result -pub fn j2k::DeviceDecodePlan::is_full_frame(self) -> bool -pub fn j2k::DeviceDecodePlan::output_dims(self) -> (u32, u32) -pub fn j2k::DeviceDecodePlan::output_rect(self) -> j2k_core::types::Rect -pub fn j2k::DeviceDecodePlan::scale(self) -> j2k_core::scale::Downscale -pub fn j2k::DeviceDecodePlan::source_dims(self) -> (u32, u32) -pub fn j2k::DeviceDecodePlan::source_rect(self) -> j2k_core::types::Rect -pub fn j2k::DeviceDecodePlan::target_resolution(self) -> core::option::Option<(u32, u32)> -pub fn j2k::J2kContext::cpu_decode_parallelism(&self) -> j2k::CpuDecodeParallelism -pub fn j2k::J2kContext::set_cpu_decode_parallelism(&mut self, j2k::CpuDecodeParallelism) -pub fn j2k::J2kDecodeWarning::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k::J2kDecoder<'_>::decode_rows_u16_bounded>(&mut self, &mut R, j2k::J2kRowDecodeOptions) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k::J2kDecoder<'_>::decode_rows_u8_bounded>(&mut self, &mut R, j2k::J2kRowDecodeOptions) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k::J2kDecoder<'a>::cpu_decode_parallelism(&self) -> j2k::CpuDecodeParallelism -pub fn j2k::J2kDecoder<'a>::decode_components(&mut self) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::decode_into_with_scratch(&mut self, &mut j2k::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::decode_native_components(&mut self) -> core::result::Result -pub fn j2k::J2kDecoder<'a>::decode_native_region_components(&mut self, j2k_core::types::Rect) -> core::result::Result -pub fn j2k::J2kDecoder<'a>::decode_region_components(&mut self, j2k_core::types::Rect) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::decode_region_into(&mut self, &mut j2k::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::decode_region_scaled_into(&mut self, &mut j2k::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::decode_scaled_into(&mut self, &mut j2k::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::from_view(j2k::J2kView<'a>) -> core::result::Result -pub fn j2k::J2kDecoder<'a>::info(&self) -> &j2k_core::types::Info -pub fn j2k::J2kDecoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k::J2kDecoder<'a>::inspect_support(&'a [u8]) -> core::result::Result -pub fn j2k::J2kDecoder<'a>::new(&'a [u8]) -> core::result::Result -pub fn j2k::J2kDecoder<'a>::set_cpu_decode_parallelism(&mut self, j2k::CpuDecodeParallelism) -pub fn j2k::J2kLosslessComponentSamples<'a>::new(&'a [j2k::J2kLosslessComponentPlane<'a>], u32, u32, u8, bool) -> core::result::Result -pub fn j2k::J2kLosslessSamples<'a>::new(&'a [u8], u32, u32, u16, u8, bool) -> core::result::Result -pub fn j2k::J2kLosslessTypedComponentSamples<'a>::new(&'a [j2k::J2kLosslessTypedComponentPlane<'a>], u32, u32) -> core::result::Result -pub fn j2k::J2kLossySamples<'a>::new(&'a [u8], u32, u32, u16, u8, bool) -> core::result::Result -pub fn j2k::J2kRowDecodeOptions::default() -> Self -pub fn j2k::J2kView<'a>::bytes(&self) -> &'a [u8] -pub fn j2k::J2kView<'a>::info(&self) -> &j2k_core::types::Info -pub fn j2k::J2kView<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k::J2kView<'a>::passthrough_candidate(&self) -> core::option::Option> -pub fn j2k::J2kView<'a>::support_info(&self) -> core::option::Option<&j2k::J2kSupportInfo> -pub fn j2k::NativeBackendError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k::NativeBackendError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k::decode_tiles_into(&mut [j2k::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::decode_tiles_region_into(&mut [j2k::TileRegionDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::decode_tiles_region_scaled_into(&mut [j2k::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::decode_tiles_scaled_into(&mut [j2k::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result>, j2k::TileBatchError> -pub fn j2k::encode_j2k_lossless(j2k::J2kLosslessSamples<'_>, &j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossless_components(j2k::J2kLosslessComponentSamples<'_>, &j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossless_typed_components(j2k::J2kLosslessTypedComponentSamples<'_>, &j2k::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossless_with_accelerator(j2k::J2kLosslessSamples<'_>, &j2k::J2kLosslessEncodeOptions, j2k_core::backend::BackendKind, &mut impl j2k_types::J2kEncodeStageAccelerator) -> core::result::Result -pub fn j2k::encode_j2k_lossless_with_roi_regions(j2k::J2kLosslessSamples<'_>, &j2k::J2kLosslessEncodeOptions, &[j2k::J2kRoiRegion]) -> core::result::Result -pub fn j2k::encode_j2k_lossy(j2k::J2kLossySamples<'_>, &j2k::J2kLossyEncodeOptions) -> core::result::Result -pub fn j2k::encode_j2k_lossy_with_accelerator(j2k::J2kLossySamples<'_>, &j2k::J2kLossyEncodeOptions, j2k_core::backend::BackendKind, &mut impl j2k_types::J2kEncodeStageAccelerator) -> core::result::Result -pub fn j2k::encode_j2k_lossy_with_roi_regions(j2k::J2kLossySamples<'_>, &j2k::J2kLossyEncodeOptions, &[j2k::J2kRoiRegion]) -> core::result::Result -pub fn j2k::extract_j2k_codestream_payload(&[u8]) -> core::result::Result, j2k::J2kError> -pub fn j2k::recode_j2k_to_htj2k_lossless(&[u8], j2k::J2kToHtj2kOptions) -> core::result::Result -pub fn j2k::wrap_j2k_codestream(&[u8], j2k::J2kFileWrapOptions<'_>) -> core::result::Result, j2k::J2kError> -pub j2k::BackendErrorKind::Buffer -pub j2k::BackendErrorKind::InternalInvariant -pub j2k::BackendErrorKind::NotImplemented -pub j2k::BackendErrorKind::Other -pub j2k::BackendErrorKind::Truncated -pub j2k::BackendErrorKind::Unsupported -pub j2k::BackendErrorKind::Validation -pub j2k::DeviceDecodeRequest::Full -pub j2k::DeviceDecodeRequest::Region -pub j2k::DeviceDecodeRequest::Region::roi: j2k_core::types::Rect -pub j2k::DeviceDecodeRequest::RegionScaled -pub j2k::DeviceDecodeRequest::RegionScaled::roi: j2k_core::types::Rect -pub j2k::DeviceDecodeRequest::RegionScaled::scale: j2k_core::scale::Downscale -pub j2k::DeviceDecodeRequest::Scaled -pub j2k::DeviceDecodeRequest::Scaled::scale: j2k_core::scale::Downscale -pub j2k::J2kDecodeWarning::LenientDecodeMode -pub j2k::J2kError::Backend(j2k::BackendError) -pub j2k::J2kError::BackendComponentPlaneTooShort -pub j2k::J2kError::BackendComponentPlaneTooShort::component: usize -pub j2k::J2kError::BackendComponentPlaneTooShort::expected: usize -pub j2k::J2kError::BackendComponentPlaneTooShort::samples: usize -pub j2k::J2kError::CodestreamHeader -pub j2k::J2kError::CodestreamHeader::context: &'static str -pub j2k::J2kError::CodestreamHeader::source: j2k::NativeBackendError -pub j2k::J2kError::InternalInvariant -pub j2k::J2kError::InternalInvariant::what: &'static str -pub j2k::J2kError::NativeDecode -pub j2k::J2kError::NativeDecode::context: &'static str -pub j2k::J2kError::NativeDecode::source: j2k::NativeBackendError -pub j2k::J2kError::NativeEncode -pub j2k::J2kError::NativeEncode::context: &'static str -pub j2k::J2kError::NativeEncode::source: j2k::NativeBackendError -pub j2k::J2kError::NativeResidentEncode -pub j2k::J2kError::NativeResidentEncode::context: &'static str -pub j2k::J2kError::NativeResidentEncode::source: j2k::NativeBackendError -pub j2k::J2kError::NativeValidation -pub j2k::J2kError::NativeValidation::context: &'static str -pub j2k::J2kError::NativeValidation::source: j2k::NativeBackendError -pub j2k::TileDecodeOutput::fmt: j2k_core::pixel::PixelFormat -pub j2k::TileDecodeOutput::out: &'o mut [u8] -pub j2k::TileDecodeOutput::stride: usize -pub struct j2k::BackendError -pub struct j2k::DeviceDecodePlan -pub struct j2k::J2kCodestreamPayload<'a> -pub struct j2k::NativeBackendError -pub struct j2k::TileDecodeOutput<'o> -pub type j2k::TileBatchError = j2k_core::batch::BatchDecodeError -``` - -### `j2k-core` - -Baseline items: 835. Candidate items: 484. Computed release type: `major`. Rustdoc-hidden candidate items: 142. Full hidden-inventory fingerprint: `fnv1a64:6ed51ee7bd843cdb`. - -#### Removed or changed baseline API items - -```text -#[non_exhaustive] pub enum j2k_core::WarningKind -#[non_exhaustive] pub enum j2k_core::passthrough::CompressedPayloadKind -#[non_exhaustive] pub enum j2k_core::passthrough::CompressedTransferSyntax -#[non_exhaustive] pub enum j2k_core::passthrough::PassthroughRejectReason -#[non_exhaustive] pub enum j2k_core::pixel::PixelFormat -#[non_exhaustive] pub enum j2k_core::pixel::PixelLayout -#[non_exhaustive] pub enum j2k_core::sample::SampleType -#[non_exhaustive] pub enum j2k_core::scale::Downscale -#[non_exhaustive] pub enum j2k_core::types::Colorspace -#[non_exhaustive] pub enum j2k_core::types::WarningKind -impl j2k_core::accelerator::GpuAbi for f32 -impl j2k_core::accelerator::GpuAbi for f64 -impl j2k_core::accelerator::GpuAbi for i16 -impl j2k_core::accelerator::GpuAbi for i32 -impl j2k_core::accelerator::GpuAbi for i64 -impl j2k_core::accelerator::GpuAbi for i8 -impl j2k_core::accelerator::GpuAbi for u16 -impl j2k_core::accelerator::GpuAbi for u32 -impl j2k_core::accelerator::GpuAbi for u64 -impl j2k_core::accelerator::GpuAbi for u8 -impl j2k_core::backend::BackendCapabilities -impl j2k_core::backend::BackendRequest -impl j2k_core::backend::CpuFeatures -impl j2k_core::batch::TileBatchOptions -impl j2k_core::context::CacheStats -impl j2k_core::passthrough::CompressedTransferSyntax -impl j2k_core::passthrough::PassthroughRequirements -impl j2k_core::pixel::PixelFormat -impl j2k_core::sample::Sample for u16 -impl j2k_core::sample::Sample for u8 -impl j2k_core::scale::Downscale -impl j2k_core::types::CodedUnitLayout -impl j2k_core::types::DecodeRequest -impl j2k_core::types::Rect -impl<'a> j2k_core::passthrough::PassthroughCandidate<'a> -impl j2k_core::context::DecoderContext -impl core::error::Error for j2k_core::batch::TileBatchError -impl core::fmt::Display for j2k_core::batch::TileBatchError -impl j2k_core::traits::DeviceSubmission for j2k_core::traits::ReadySubmission -impl j2k_core::traits::ReadySubmission -impl j2k_core::accelerator::GpuAbi for [T; N] where T: j2k_core::accelerator::GpuAbi -impl j2k_core::types::DecodeOutcome -pub const [T; N]::NAME: &'static str -pub const f32::NAME: &'static str -pub const f64::NAME: &'static str -pub const fn j2k_core::accelerator::DeviceMemoryRange::new(j2k_core::backend::BackendKind, u64, usize, usize) -> Self -pub const fn j2k_core::accelerator::SurfaceResidency::for_backend(j2k_core::backend::BackendKind) -> Self -pub const fn j2k_core::backend::BackendCapabilities::first_available_accelerator(self) -> core::option::Option -pub const fn j2k_core::backend::BackendCapabilities::supports(self, j2k_core::backend::BackendRequest) -> bool -pub const fn j2k_core::batch::TileBatchOptions::new(core::option::Option) -> Self -pub const fn j2k_core::context::CacheStats::new(u64, u64) -> Self -pub const fn j2k_core::context::CacheStats::with_slots(u64, u64, u64, u64) -> Self -pub const fn j2k_core::device::validate_cuda_surface_backend_request(j2k_core::backend::BackendRequest) -> core::result::Result<(), j2k_core::backend::BackendRequest> -pub const fn j2k_core::passthrough::CompressedTransferSyntax::is_jpeg2000_family(self) -> bool -pub const fn j2k_core::passthrough::CompressedTransferSyntax::is_lossless(self) -> bool -pub const fn j2k_core::passthrough::PassthroughCandidate<'a>::bytes(&self) -> &'a [u8] -pub const fn j2k_core::passthrough::PassthroughCandidate<'a>::info(&self) -> &j2k_core::types::Info -pub const fn j2k_core::passthrough::PassthroughCandidate<'a>::new(&'a [u8], j2k_core::passthrough::CompressedTransferSyntax, j2k_core::passthrough::CompressedPayloadKind, j2k_core::types::Info) -> Self -pub const fn j2k_core::passthrough::PassthroughCandidate<'a>::payload_kind(&self) -> j2k_core::passthrough::CompressedPayloadKind -pub const fn j2k_core::passthrough::PassthroughCandidate<'a>::transfer_syntax(&self) -> j2k_core::passthrough::CompressedTransferSyntax -pub const fn j2k_core::passthrough::PassthroughRequirements::new(j2k_core::passthrough::CompressedTransferSyntax, j2k_core::passthrough::CompressedPayloadKind) -> Self -pub const fn j2k_core::passthrough::PassthroughRequirements::with_bit_depth(self, u8) -> Self -pub const fn j2k_core::passthrough::PassthroughRequirements::with_colorspace(self, j2k_core::types::Colorspace) -> Self -pub const fn j2k_core::passthrough::PassthroughRequirements::with_component_count(self, u16) -> Self -pub const fn j2k_core::passthrough::PassthroughRequirements::with_components(self, u8) -> Self -pub const fn j2k_core::passthrough::PassthroughRequirements::with_dimensions(self, (u32, u32)) -> Self -pub const fn j2k_core::passthrough::PassthroughRequirements::with_tile_layout(self, j2k_core::types::TileLayout) -> Self -pub const fn j2k_core::pixel::PixelFormat::bytes_per_pixel(self) -> usize -pub const fn j2k_core::pixel::PixelFormat::bytes_per_sample(self) -> usize -pub const fn j2k_core::pixel::PixelFormat::channels(self) -> usize -pub const fn j2k_core::pixel::PixelFormat::layout(self) -> j2k_core::pixel::PixelLayout -pub const fn j2k_core::pixel::PixelFormat::sample(self) -> j2k_core::sample::SampleType -pub const fn j2k_core::scale::Downscale::denominator(self) -> u32 -pub const fn j2k_core::scale::Downscale::output_block_size(self) -> u32 -pub const fn j2k_core::types::CodedUnitLayout::unit_count(&self) -> u32 -pub const fn j2k_core::types::DecodeRequest::full() -> Self -pub const fn j2k_core::types::DecodeRequest::is_full_resolution_full_image(self) -> bool -pub const fn j2k_core::types::DecodeRequest::region(j2k_core::types::Rect) -> Self -pub const fn j2k_core::types::DecodeRequest::region_scaled(j2k_core::types::Rect, j2k_core::scale::Downscale) -> Self -pub const fn j2k_core::types::DecodeRequest::scaled(j2k_core::scale::Downscale) -> Self -pub const fn j2k_core::types::Rect::full((u32, u32)) -> Self -pub const fn j2k_core::validate_cuda_surface_backend_request(j2k_core::backend::BackendRequest) -> core::result::Result<(), j2k_core::backend::BackendRequest> -pub const i16::NAME: &'static str -pub const i32::NAME: &'static str -pub const i64::NAME: &'static str -pub const i8::NAME: &'static str -pub const j2k_core::GpuAbi::NAME: &'static str -pub const j2k_core::Sample::TYPE: j2k_core::sample::SampleType -pub const j2k_core::backend::BackendRequest::ACCELERATED: Self -pub const j2k_core::backend::BackendRequest::CPU_ONLY: Self -pub const j2k_core::backend::BackendRequest::STRICT_CUDA: Self -pub const j2k_core::backend::BackendRequest::STRICT_METAL: Self -pub const j2k_core::sample::Sample::BITS: u8 -pub const j2k_core::sample::Sample::TYPE: j2k_core::sample::SampleType -pub const j2k_core::types::DecodeRequest::FULL: Self -pub const u16::NAME: &'static str -pub const u16::TYPE: j2k_core::sample::SampleType -pub const u32::NAME: &'static str -pub const u64::NAME: &'static str -pub const u8::NAME: &'static str -pub const u8::TYPE: j2k_core::sample::SampleType -pub enum j2k_core::BackendFailureKind -pub enum j2k_core::BufferError -pub enum j2k_core::accelerator::BackendFailureKind -pub enum j2k_core::backend::BackendKind -pub enum j2k_core::backend::BackendRequest -pub enum j2k_core::error::BufferError -pub enum j2k_core::error::InputError -pub enum j2k_core::passthrough::PassthroughDecision<'a> -pub enum j2k_core::traits::DecodeRowsError where D: core::error::Error + 'static, E: core::error::Error + 'static -pub fn [T; N]::as_bytes(&Self) -> &[u8] -pub fn [T; N]::slice_as_bytes(&[Self]) -> &[u8] -pub fn [T; N]::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn f32::as_bytes(&Self) -> &[u8] -pub fn f32::slice_as_bytes(&[Self]) -> &[u8] -pub fn f32::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn f64::as_bytes(&Self) -> &[u8] -pub fn f64::slice_as_bytes(&[Self]) -> &[u8] -pub fn f64::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn i16::as_bytes(&Self) -> &[u8] -pub fn i16::slice_as_bytes(&[Self]) -> &[u8] -pub fn i16::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn i32::as_bytes(&Self) -> &[u8] -pub fn i32::slice_as_bytes(&[Self]) -> &[u8] -pub fn i32::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn i64::as_bytes(&Self) -> &[u8] -pub fn i64::slice_as_bytes(&[Self]) -> &[u8] -pub fn i64::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn i8::as_bytes(&Self) -> &[u8] -pub fn i8::slice_as_bytes(&[Self]) -> &[u8] -pub fn i8::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn j2k_core::AcceleratorSession::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_core::CodecContext::cache_stats(&self) -> j2k_core::context::CacheStats -pub fn j2k_core::DeviceSubmitSession::record_submit(&mut self) -pub fn j2k_core::DeviceSurface::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_core::DeviceSurface::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_core::GpuAbi::as_bytes(&Self) -> &[u8] -pub fn j2k_core::GpuAbi::slice_as_bytes(&[Self]) -> &[u8] -pub fn j2k_core::GpuAbi::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn j2k_core::ImageDecode::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_request_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::DecodeRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_core::ImageDecodeDevice::decode_region_scaled_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeDevice::decode_region_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeDevice::decode_scaled_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeDevice::decode_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeRows::decode_rows>(&mut self, &mut R) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k_core::ImageDecodeSubmit::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_request_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest, j2k_core::types::DecodeRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecode::decode_tile<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region_scaled<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_request<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::DecodeRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_scaled<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeManyDevice::decode_tiles_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_request_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest, j2k_core::types::DecodeRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::accelerator::AcceleratorSession::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_core::backend::BackendCapabilities::compile_time_defaults() -> Self -pub fn j2k_core::backend::BackendCapabilities::resolve(self, j2k_core::backend::BackendRequest) -> core::option::Option -pub fn j2k_core::backend::CpuFeatures::detect() -> Self -pub fn j2k_core::batch::TileBatchError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_core::batch::TileBatchError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_core::batch::collect_indexed_batch_results(usize, alloc::vec::Vec>, F) -> core::result::Result, B> where F: core::ops::function::FnOnce(usize, E) -> B -pub fn j2k_core::batch::tile_batch_worker_count(usize, j2k_core::batch::TileBatchOptions, usize) -> usize -pub fn j2k_core::collect_indexed_batch_results(usize, alloc::vec::Vec>, F) -> core::result::Result, B> where F: core::ops::function::FnOnce(usize, E) -> B -pub fn j2k_core::context::CodecContext::cache_stats(&self) -> j2k_core::context::CacheStats -pub fn j2k_core::context::CodecContext::clear(&mut self) -pub fn j2k_core::context::DecoderContext::cache_stats(&self) -> j2k_core::context::CacheStats -pub fn j2k_core::context::DecoderContext::clear(&mut self) -pub fn j2k_core::context::DecoderContext::codec(&self) -> &C -pub fn j2k_core::context::DecoderContext::codec_mut(&mut self) -> &mut C -pub fn j2k_core::context::DecoderContext::into_inner(self) -> C -pub fn j2k_core::context::DecoderContext::new() -> Self -pub fn j2k_core::copy_tight_pixels_to_strided_output(&[u8], (u32, u32), j2k_core::pixel::PixelFormat, &mut [u8], usize) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_core::ensure_allocation_within_cap(usize, usize, &'static str) -> core::result::Result -pub fn j2k_core::error::CodecError::is_buffer_error(&self) -> bool -pub fn j2k_core::error::CodecError::is_not_implemented(&self) -> bool -pub fn j2k_core::error::CodecError::is_truncated(&self) -> bool -pub fn j2k_core::error::CodecError::is_unsupported(&self) -> bool -pub fn j2k_core::passthrough::PassthroughCandidate<'a>::copy_bytes_if_eligible(&self, &j2k_core::passthrough::PassthroughRequirements) -> core::result::Result<&'a [u8], j2k_core::passthrough::PassthroughRejectReason> -pub fn j2k_core::passthrough::PassthroughCandidate<'a>::evaluate(&self, &j2k_core::passthrough::PassthroughRequirements) -> j2k_core::passthrough::PassthroughDecision<'a> -pub fn j2k_core::row_sink::RowSink::write_row(&mut self, u32, &[S]) -> core::result::Result<(), Self::Error> -pub fn j2k_core::scratch::ScratchPool::bytes_allocated(&self) -> usize -pub fn j2k_core::scratch::ScratchPool::reset(&mut self) -pub fn j2k_core::strided_output_len((u32, u32), usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_core::strided_output_len_capped((u32, u32), usize, j2k_core::pixel::PixelFormat, usize, &'static str) -> core::result::Result -pub fn j2k_core::submit_ready_device(&mut S, impl core::ops::function::FnOnce(&mut S) -> core::result::Result) -> j2k_core::traits::ReadySubmission where S: j2k_core::traits::DeviceSubmitSession + ?core::marker::Sized -pub fn j2k_core::tile_batch_worker_count(usize, j2k_core::batch::TileBatchOptions, usize) -> usize -pub fn j2k_core::traits::DeviceSubmission::wait(self) -> core::result::Result -pub fn j2k_core::traits::DeviceSubmitSession::record_submit(&mut self) -pub fn j2k_core::traits::DeviceSurface::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_core::traits::DeviceSurface::byte_len(&self) -> usize -pub fn j2k_core::traits::DeviceSurface::dimensions(&self) -> (u32, u32) -pub fn j2k_core::traits::DeviceSurface::execution_stats(&self) -> j2k_core::accelerator::ExecutionStats -pub fn j2k_core::traits::DeviceSurface::memory_range(&self) -> core::option::Option -pub fn j2k_core::traits::DeviceSurface::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_core::traits::DeviceSurface::residency(&self) -> j2k_core::accelerator::SurfaceResidency -pub fn j2k_core::traits::ImageDecode::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::ImageDecode::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::ImageDecode::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::ImageDecode::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::ImageDecode::decode_request_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::DecodeRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::ImageDecode::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::ImageDecode::from_view(Self::View) -> core::result::Result -pub fn j2k_core::traits::ImageDecode::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_core::traits::ImageDecode::parse(&'a [u8]) -> core::result::Result -pub fn j2k_core::traits::ImageDecodeDevice::decode_region_scaled_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::traits::ImageDecodeDevice::decode_region_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::traits::ImageDecodeDevice::decode_scaled_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::traits::ImageDecodeDevice::decode_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::traits::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::traits::ImageDecodeRows::decode_rows>(&mut self, &mut R) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k_core::traits::ImageDecodeSubmit::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::ImageDecodeSubmit::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::ImageDecodeSubmit::submit_request_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest, j2k_core::types::DecodeRequest) -> core::result::Result -pub fn j2k_core::traits::ImageDecodeSubmit::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::ImageDecodeSubmit::submit_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::ReadySubmission::from_result(core::result::Result) -> Self -pub fn j2k_core::traits::ReadySubmission::wait(self) -> core::result::Result -pub fn j2k_core::traits::TileBatchDecode::decode_tile<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::TileBatchDecode::decode_tile_region<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::TileBatchDecode::decode_tile_region_scaled<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::TileBatchDecode::decode_tile_request<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::DecodeRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::TileBatchDecode::decode_tile_scaled<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &'a [u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::TileBatchDecodeDevice::decode_tile_region_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::traits::TileBatchDecodeDevice::decode_tile_region_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::traits::TileBatchDecodeDevice::decode_tile_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::traits::TileBatchDecodeDevice::decode_tile_to_device<'a>(&mut j2k_core::context::DecoderContext<::Context>, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::traits::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::traits::TileBatchDecodeManyDevice::decode_tiles_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::TileBatchDecodeSubmit::submit_tile_region_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::TileBatchDecodeSubmit::submit_tile_region_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::TileBatchDecodeSubmit::submit_tile_request_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest, j2k_core::types::DecodeRequest) -> core::result::Result -pub fn j2k_core::traits::TileBatchDecodeSubmit::submit_tile_scaled_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::TileBatchDecodeSubmit::submit_tile_to_device<'a>(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &'a [u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_core::traits::TileDecompress::decompress_into(&mut Self::Pool, &[u8], &mut [u8]) -> core::result::Result -pub fn j2k_core::traits::TileDecompress::expected_size(&[u8]) -> core::result::Result, Self::Error> -pub fn j2k_core::traits::submit_ready_device(&mut S, impl core::ops::function::FnOnce(&mut S) -> core::result::Result) -> j2k_core::traits::ReadySubmission where S: j2k_core::traits::DeviceSubmitSession + ?core::marker::Sized -pub fn j2k_core::types::DecodeOutcome::new(j2k_core::types::Rect, alloc::vec::Vec) -> Self -pub fn j2k_core::types::DecodeRequest::decoded_rect(self, (u32, u32)) -> j2k_core::types::Rect -pub fn j2k_core::types::Rect::is_within(&self, (u32, u32)) -> bool -pub fn j2k_core::types::Rect::scaled_covering(&self, j2k_core::scale::Downscale) -> Self -pub fn j2k_core::validate_strided_output_buffer((u32, u32), usize, usize, j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn u16::as_bytes(&Self) -> &[u8] -pub fn u16::slice_as_bytes(&[Self]) -> &[u8] -pub fn u16::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn u32::as_bytes(&Self) -> &[u8] -pub fn u32::slice_as_bytes(&[Self]) -> &[u8] -pub fn u32::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn u64::as_bytes(&Self) -> &[u8] -pub fn u64::slice_as_bytes(&[Self]) -> &[u8] -pub fn u64::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub fn u8::as_bytes(&Self) -> &[u8] -pub fn u8::slice_as_bytes(&[Self]) -> &[u8] -pub fn u8::slice_as_bytes_mut(&mut [Self]) -> &mut [u8] -pub j2k_core::BackendCapabilities::cpu: j2k_core::backend::CpuFeatures -pub j2k_core::BackendFailureKind::InvalidInput -pub j2k_core::BackendFailureKind::Kernel -pub j2k_core::BackendFailureKind::OutOfMemory -pub j2k_core::BackendFailureKind::Runtime -pub j2k_core::BackendFailureKind::StatePoisoned -pub j2k_core::BackendFailureKind::Unavailable -pub j2k_core::BackendFailureKind::Unsupported -pub j2k_core::BufferError::SampleTypeMismatch::fmt: j2k_core::pixel::PixelFormat -pub j2k_core::BufferError::SampleTypeMismatch::sample_type: j2k_core::sample::SampleType -pub j2k_core::DecodeOutcome::decoded: j2k_core::types::Rect -pub j2k_core::DecodeRequest::roi: core::option::Option -pub j2k_core::DecodeRequest::scale: j2k_core::scale::Downscale -pub j2k_core::DeviceMemoryRange::backend: j2k_core::backend::BackendKind -pub j2k_core::Info::coded_unit_layout: core::option::Option -pub j2k_core::Info::colorspace: j2k_core::types::Colorspace -pub j2k_core::Info::tile_layout: core::option::Option -pub j2k_core::PassthroughDecision::Transcode::reason: j2k_core::passthrough::PassthroughRejectReason -pub j2k_core::PassthroughRejectReason::ColorspaceMismatch::destination: j2k_core::types::Colorspace -pub j2k_core::PassthroughRejectReason::ColorspaceMismatch::source: j2k_core::types::Colorspace -pub j2k_core::PassthroughRejectReason::PayloadKindMismatch::destination: j2k_core::passthrough::CompressedPayloadKind -pub j2k_core::PassthroughRejectReason::PayloadKindMismatch::source: j2k_core::passthrough::CompressedPayloadKind -pub j2k_core::PassthroughRejectReason::TileLayoutMismatch::destination: j2k_core::types::TileLayout -pub j2k_core::PassthroughRejectReason::TileLayoutMismatch::source: core::option::Option -pub j2k_core::PassthroughRejectReason::TransferSyntaxMismatch::destination: j2k_core::passthrough::CompressedTransferSyntax -pub j2k_core::PassthroughRejectReason::TransferSyntaxMismatch::source: j2k_core::passthrough::CompressedTransferSyntax -pub j2k_core::PassthroughRequirements::colorspace: core::option::Option -pub j2k_core::PassthroughRequirements::payload_kind: j2k_core::passthrough::CompressedPayloadKind -pub j2k_core::PassthroughRequirements::tile_layout: core::option::Option -pub j2k_core::PassthroughRequirements::transfer_syntax: j2k_core::passthrough::CompressedTransferSyntax -pub j2k_core::SurfaceResidency::Device(j2k_core::backend::BackendKind) -pub j2k_core::SurfaceResidency::Shared(j2k_core::backend::BackendKind) -pub j2k_core::TileRegionDecodeJob::roi: j2k_core::types::Rect -pub j2k_core::TileRegionScaledDecodeJob::roi: j2k_core::types::Rect -pub j2k_core::TileRegionScaledDecodeJob::scale: j2k_core::scale::Downscale -pub j2k_core::TileScaledDecodeJob::scale: j2k_core::scale::Downscale -pub j2k_core::WarningKind::MinorCompliance -pub j2k_core::WarningKind::NonFatalTruncation -pub j2k_core::WarningKind::UnusualFeature -pub j2k_core::accelerator::BackendFailureKind::InvalidInput -pub j2k_core::accelerator::BackendFailureKind::Kernel -pub j2k_core::accelerator::BackendFailureKind::OutOfMemory -pub j2k_core::accelerator::BackendFailureKind::Runtime -pub j2k_core::accelerator::BackendFailureKind::StatePoisoned -pub j2k_core::accelerator::BackendFailureKind::Unavailable -pub j2k_core::accelerator::BackendFailureKind::Unsupported -pub j2k_core::accelerator::DeviceMemoryRange::backend: j2k_core::backend::BackendKind -pub j2k_core::accelerator::SurfaceResidency::Device(j2k_core::backend::BackendKind) -pub j2k_core::accelerator::SurfaceResidency::Shared(j2k_core::backend::BackendKind) -pub j2k_core::backend::BackendCapabilities::cpu: j2k_core::backend::CpuFeatures -pub j2k_core::backend::BackendCapabilities::cuda: bool -pub j2k_core::backend::BackendCapabilities::metal: bool -pub j2k_core::backend::BackendKind::Cpu -pub j2k_core::backend::BackendKind::Cuda -pub j2k_core::backend::BackendKind::Metal -pub j2k_core::backend::BackendRequest::Auto -pub j2k_core::backend::BackendRequest::Cpu -pub j2k_core::backend::BackendRequest::Cuda -pub j2k_core::backend::BackendRequest::Metal -pub j2k_core::backend::CpuFeatures::avx2: bool -pub j2k_core::backend::CpuFeatures::neon: bool -pub j2k_core::backend::CpuFeatures::sse41: bool -pub j2k_core::batch::TileBatchError::index: usize -pub j2k_core::batch::TileBatchError::source: E -pub j2k_core::batch::TileBatchOptions::workers: core::option::Option -pub j2k_core::batch::TileDecodeJob::input: &'i [u8] -pub j2k_core::batch::TileDecodeJob::out: &'o mut [u8] -pub j2k_core::batch::TileDecodeJob::stride: usize -pub j2k_core::batch::TileRegionDecodeJob::input: &'i [u8] -pub j2k_core::batch::TileRegionDecodeJob::out: &'o mut [u8] -pub j2k_core::batch::TileRegionDecodeJob::roi: j2k_core::types::Rect -pub j2k_core::batch::TileRegionDecodeJob::stride: usize -pub j2k_core::batch::TileRegionScaledDecodeJob::input: &'i [u8] -pub j2k_core::batch::TileRegionScaledDecodeJob::out: &'o mut [u8] -pub j2k_core::batch::TileRegionScaledDecodeJob::roi: j2k_core::types::Rect -pub j2k_core::batch::TileRegionScaledDecodeJob::scale: j2k_core::scale::Downscale -pub j2k_core::batch::TileRegionScaledDecodeJob::stride: usize -pub j2k_core::batch::TileScaledDecodeJob::input: &'i [u8] -pub j2k_core::batch::TileScaledDecodeJob::out: &'o mut [u8] -pub j2k_core::batch::TileScaledDecodeJob::scale: j2k_core::scale::Downscale -pub j2k_core::batch::TileScaledDecodeJob::stride: usize -pub j2k_core::context::CacheStats::evictions: u64 -pub j2k_core::context::CacheStats::hits: u64 -pub j2k_core::context::CacheStats::misses: u64 -pub j2k_core::context::CacheStats::occupied_slots: u64 -pub j2k_core::error::BufferError::AllocationTooLarge -pub j2k_core::error::BufferError::AllocationTooLarge::cap: usize -pub j2k_core::error::BufferError::AllocationTooLarge::requested: usize -pub j2k_core::error::BufferError::AllocationTooLarge::what: &'static str -pub j2k_core::error::BufferError::InputTooSmall -pub j2k_core::error::BufferError::InputTooSmall::have: usize -pub j2k_core::error::BufferError::InputTooSmall::required: usize -pub j2k_core::error::BufferError::OutputTooSmall -pub j2k_core::error::BufferError::OutputTooSmall::have: usize -pub j2k_core::error::BufferError::OutputTooSmall::required: usize -pub j2k_core::error::BufferError::SampleTypeMismatch -pub j2k_core::error::BufferError::SampleTypeMismatch::fmt: j2k_core::pixel::PixelFormat -pub j2k_core::error::BufferError::SampleTypeMismatch::sample_type: j2k_core::sample::SampleType -pub j2k_core::error::BufferError::SizeOverflow -pub j2k_core::error::BufferError::SizeOverflow::what: &'static str -pub j2k_core::error::BufferError::StrideNotAligned -pub j2k_core::error::BufferError::StrideNotAligned::align: usize -pub j2k_core::error::BufferError::StrideNotAligned::stride: usize -pub j2k_core::error::BufferError::StrideTooSmall -pub j2k_core::error::BufferError::StrideTooSmall::row_bytes: usize -pub j2k_core::error::BufferError::StrideTooSmall::stride: usize -pub j2k_core::error::InputError::TooShort -pub j2k_core::error::InputError::TooShort::have: usize -pub j2k_core::error::InputError::TooShort::need: usize -pub j2k_core::error::InputError::TruncatedAt -pub j2k_core::error::InputError::TruncatedAt::offset: usize -pub j2k_core::error::InputError::TruncatedAt::segment: &'static str -pub j2k_core::error::NotImplemented::what: &'static str -pub j2k_core::error::Unsupported::what: &'static str -pub j2k_core::passthrough::CompressedPayloadKind::Jp2File -pub j2k_core::passthrough::CompressedPayloadKind::Jpeg2000Codestream -pub j2k_core::passthrough::CompressedPayloadKind::JpegInterchange -pub j2k_core::passthrough::CompressedPayloadKind::JphFile -pub j2k_core::passthrough::CompressedTransferSyntax::HtJpeg2000Lossless -pub j2k_core::passthrough::CompressedTransferSyntax::HtJpeg2000Lossy -pub j2k_core::passthrough::CompressedTransferSyntax::Jpeg2000Lossless -pub j2k_core::passthrough::CompressedTransferSyntax::Jpeg2000Lossy -pub j2k_core::passthrough::CompressedTransferSyntax::JpegBaseline8 -pub j2k_core::passthrough::CompressedTransferSyntax::JpegExtendedSequential -pub j2k_core::passthrough::PassthroughDecision::Copy -pub j2k_core::passthrough::PassthroughDecision::Copy::bytes: &'a [u8] -pub j2k_core::passthrough::PassthroughDecision::Transcode -pub j2k_core::passthrough::PassthroughDecision::Transcode::reason: j2k_core::passthrough::PassthroughRejectReason -pub j2k_core::passthrough::PassthroughRejectReason::BitDepthMismatch -pub j2k_core::passthrough::PassthroughRejectReason::BitDepthMismatch::destination: u8 -pub j2k_core::passthrough::PassthroughRejectReason::BitDepthMismatch::source: u8 -pub j2k_core::passthrough::PassthroughRejectReason::ColorspaceMismatch -pub j2k_core::passthrough::PassthroughRejectReason::ColorspaceMismatch::destination: j2k_core::types::Colorspace -pub j2k_core::passthrough::PassthroughRejectReason::ColorspaceMismatch::source: j2k_core::types::Colorspace -pub j2k_core::passthrough::PassthroughRejectReason::ComponentsMismatch -pub j2k_core::passthrough::PassthroughRejectReason::ComponentsMismatch::destination: u16 -pub j2k_core::passthrough::PassthroughRejectReason::ComponentsMismatch::source: u16 -pub j2k_core::passthrough::PassthroughRejectReason::DimensionsMismatch -pub j2k_core::passthrough::PassthroughRejectReason::DimensionsMismatch::destination: (u32, u32) -pub j2k_core::passthrough::PassthroughRejectReason::DimensionsMismatch::source: (u32, u32) -pub j2k_core::passthrough::PassthroughRejectReason::EmptyPayload -pub j2k_core::passthrough::PassthroughRejectReason::PayloadKindMismatch -pub j2k_core::passthrough::PassthroughRejectReason::PayloadKindMismatch::destination: j2k_core::passthrough::CompressedPayloadKind -pub j2k_core::passthrough::PassthroughRejectReason::PayloadKindMismatch::source: j2k_core::passthrough::CompressedPayloadKind -pub j2k_core::passthrough::PassthroughRejectReason::TileLayoutMismatch -pub j2k_core::passthrough::PassthroughRejectReason::TileLayoutMismatch::destination: j2k_core::types::TileLayout -pub j2k_core::passthrough::PassthroughRejectReason::TileLayoutMismatch::source: core::option::Option -pub j2k_core::passthrough::PassthroughRejectReason::TransferSyntaxMismatch -pub j2k_core::passthrough::PassthroughRejectReason::TransferSyntaxMismatch::destination: j2k_core::passthrough::CompressedTransferSyntax -pub j2k_core::passthrough::PassthroughRejectReason::TransferSyntaxMismatch::source: j2k_core::passthrough::CompressedTransferSyntax -pub j2k_core::passthrough::PassthroughRequirements::bit_depth: core::option::Option -pub j2k_core::passthrough::PassthroughRequirements::colorspace: core::option::Option -pub j2k_core::passthrough::PassthroughRequirements::components: core::option::Option -pub j2k_core::passthrough::PassthroughRequirements::dimensions: core::option::Option<(u32, u32)> -pub j2k_core::passthrough::PassthroughRequirements::payload_kind: j2k_core::passthrough::CompressedPayloadKind -pub j2k_core::passthrough::PassthroughRequirements::tile_layout: core::option::Option -pub j2k_core::passthrough::PassthroughRequirements::transfer_syntax: j2k_core::passthrough::CompressedTransferSyntax -pub j2k_core::pixel::PixelFormat::Gray16 -pub j2k_core::pixel::PixelFormat::Gray8 -pub j2k_core::pixel::PixelFormat::Rgb16 -pub j2k_core::pixel::PixelFormat::Rgb8 -pub j2k_core::pixel::PixelFormat::Rgba16 -pub j2k_core::pixel::PixelFormat::Rgba8 -pub j2k_core::pixel::PixelLayout::Gray -pub j2k_core::pixel::PixelLayout::Rgb -pub j2k_core::pixel::PixelLayout::Rgba -pub j2k_core::sample::SampleType::U16 -pub j2k_core::sample::SampleType::U8 -pub j2k_core::scale::Downscale::Eighth -pub j2k_core::scale::Downscale::Half -pub j2k_core::scale::Downscale::None -pub j2k_core::scale::Downscale::Quarter -pub j2k_core::traits::DecodeRowsError::Decode(D) -pub j2k_core::traits::DecodeRowsError::Sink(E) -pub j2k_core::types::CodedUnitLayout::unit_height: u32 -pub j2k_core::types::CodedUnitLayout::unit_width: u32 -pub j2k_core::types::CodedUnitLayout::units_x: u32 -pub j2k_core::types::CodedUnitLayout::units_y: u32 -pub j2k_core::types::Colorspace::Cmyk -pub j2k_core::types::Colorspace::Grayscale -pub j2k_core::types::Colorspace::IccTagged -pub j2k_core::types::Colorspace::Ict -pub j2k_core::types::Colorspace::Rct -pub j2k_core::types::Colorspace::Rgb -pub j2k_core::types::Colorspace::SGray -pub j2k_core::types::Colorspace::SRgb -pub j2k_core::types::Colorspace::YCbCr -pub j2k_core::types::Colorspace::Ycck -pub j2k_core::types::DecodeOutcome::decoded: j2k_core::types::Rect -pub j2k_core::types::DecodeOutcome::warnings: alloc::vec::Vec -pub j2k_core::types::DecodeRequest::roi: core::option::Option -pub j2k_core::types::DecodeRequest::scale: j2k_core::scale::Downscale -pub j2k_core::types::Info::bit_depth: u8 -pub j2k_core::types::Info::coded_unit_layout: core::option::Option -pub j2k_core::types::Info::colorspace: j2k_core::types::Colorspace -pub j2k_core::types::Info::components: u16 -pub j2k_core::types::Info::dimensions: (u32, u32) -pub j2k_core::types::Info::resolution_levels: u8 -pub j2k_core::types::Info::restart_interval: core::option::Option -pub j2k_core::types::Info::tile_layout: core::option::Option -pub j2k_core::types::Rect::h: u32 -pub j2k_core::types::Rect::w: u32 -pub j2k_core::types::Rect::x: u32 -pub j2k_core::types::Rect::y: u32 -pub j2k_core::types::TileLayout::tile_height: u32 -pub j2k_core::types::TileLayout::tile_width: u32 -pub j2k_core::types::TileLayout::tiles_x: u32 -pub j2k_core::types::TileLayout::tiles_y: u32 -pub j2k_core::types::WarningKind::MinorCompliance -pub j2k_core::types::WarningKind::NonFatalTruncation -pub j2k_core::types::WarningKind::UnusualFeature -pub mod j2k_core::backend -pub mod j2k_core::batch -pub mod j2k_core::context -pub mod j2k_core::device -pub mod j2k_core::error -pub mod j2k_core::passthrough -pub mod j2k_core::pixel -pub mod j2k_core::row_sink -pub mod j2k_core::sample -pub mod j2k_core::scale -pub mod j2k_core::scratch -pub mod j2k_core::traits -pub mod j2k_core::types -pub struct j2k_core::DecodeRequest -pub struct j2k_core::DecoderContext -pub struct j2k_core::ReadySubmission(_) -pub struct j2k_core::backend::BackendCapabilities -pub struct j2k_core::backend::CpuFeatures -pub struct j2k_core::batch::TileBatchError -pub struct j2k_core::batch::TileBatchOptions -pub struct j2k_core::batch::TileDecodeJob<'i, 'o> -pub struct j2k_core::batch::TileRegionDecodeJob<'i, 'o> -pub struct j2k_core::batch::TileRegionScaledDecodeJob<'i, 'o> -pub struct j2k_core::batch::TileScaledDecodeJob<'i, 'o> -pub struct j2k_core::context::CacheStats -pub struct j2k_core::context::DecoderContext -pub struct j2k_core::error::NotImplemented -pub struct j2k_core::error::Unsupported -pub struct j2k_core::passthrough::PassthroughCandidate<'a> -pub struct j2k_core::passthrough::PassthroughRequirements -pub struct j2k_core::traits::ReadySubmission(_) -pub struct j2k_core::types::CodedUnitLayout -pub struct j2k_core::types::DecodeOutcome -pub struct j2k_core::types::DecodeRequest -pub struct j2k_core::types::Info -pub struct j2k_core::types::Rect -pub struct j2k_core::types::TileLayout -pub trait j2k_core::DeviceSubmitSession -pub trait j2k_core::ImageDecode<'a>: j2k_core::traits::ImageCodec + core::marker::Sized + 'a -pub trait j2k_core::ImageDecodeDevice<'a>: j2k_core::traits::ImageDecode<'a> -pub trait j2k_core::ImageDecodeRows<'a, S: j2k_core::sample::Sample>: j2k_core::traits::ImageDecode<'a> -pub trait j2k_core::ImageDecodeSubmit<'a>: j2k_core::traits::ImageDecode<'a> -pub trait j2k_core::RowSink -pub trait j2k_core::TileBatchDecode: j2k_core::traits::ImageCodec -pub trait j2k_core::TileBatchDecodeDevice: j2k_core::traits::ImageCodec -pub trait j2k_core::TileBatchDecodeManyDevice: j2k_core::traits::ImageCodec -pub trait j2k_core::TileBatchDecodeSubmit: j2k_core::traits::ImageCodec -pub trait j2k_core::context::CodecContext: core::default::Default + core::marker::Send -pub trait j2k_core::error::CodecError: core::error::Error + core::marker::Send + core::marker::Sync + 'static -pub trait j2k_core::row_sink::RowSink -pub trait j2k_core::sample::Sample: core::marker::Copy + core::default::Default + core::marker::Send + core::marker::Sync + 'static -pub trait j2k_core::scratch::ScratchPool: core::marker::Send -pub trait j2k_core::traits::DeviceSubmission -pub trait j2k_core::traits::DeviceSubmitSession -pub trait j2k_core::traits::DeviceSurface -pub trait j2k_core::traits::ImageCodec -pub trait j2k_core::traits::ImageDecode<'a>: j2k_core::traits::ImageCodec + core::marker::Sized + 'a -pub trait j2k_core::traits::ImageDecodeDevice<'a>: j2k_core::traits::ImageDecode<'a> -pub trait j2k_core::traits::ImageDecodeRows<'a, S: j2k_core::sample::Sample>: j2k_core::traits::ImageDecode<'a> -pub trait j2k_core::traits::ImageDecodeSubmit<'a>: j2k_core::traits::ImageDecode<'a> -pub trait j2k_core::traits::TileBatchDecode: j2k_core::traits::ImageCodec -pub trait j2k_core::traits::TileBatchDecodeDevice: j2k_core::traits::ImageCodec -pub trait j2k_core::traits::TileBatchDecodeManyDevice: j2k_core::traits::ImageCodec -pub trait j2k_core::traits::TileBatchDecodeSubmit: j2k_core::traits::ImageCodec -pub trait j2k_core::traits::TileDecompress -pub type j2k_core::ImageCodec::Error: j2k_core::error::CodecError -pub type j2k_core::ImageCodec::Pool: j2k_core::scratch::ScratchPool -pub type j2k_core::ImageDecodeDevice::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::ImageDecodeSubmit::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::ImageDecodeSubmit::SubmittedSurface: j2k_core::traits::DeviceSubmission -pub type j2k_core::IndexedBatchResult = (usize, core::result::Result) -pub type j2k_core::TileBatchDecode::Context: j2k_core::context::CodecContext -pub type j2k_core::TileBatchDecodeDevice::Context: j2k_core::context::CodecContext -pub type j2k_core::TileBatchDecodeDevice::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::TileBatchDecodeManyDevice::Context: j2k_core::context::CodecContext -pub type j2k_core::TileBatchDecodeManyDevice::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::TileBatchDecodeSubmit::Context: j2k_core::context::CodecContext -pub type j2k_core::TileBatchDecodeSubmit::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::TileBatchDecodeSubmit::SubmittedSurface: j2k_core::traits::DeviceSubmission -pub type j2k_core::TileDecompress::Error: j2k_core::error::CodecError -pub type j2k_core::TileDecompress::Pool: j2k_core::scratch::ScratchPool -pub type j2k_core::batch::IndexedBatchResult = (usize, core::result::Result) -pub type j2k_core::row_sink::RowSink::Error: core::error::Error + core::marker::Send + core::marker::Sync + 'static -pub type j2k_core::traits::DeviceSubmission::Error -pub type j2k_core::traits::DeviceSubmission::Output -pub type j2k_core::traits::ImageCodec::Error: j2k_core::error::CodecError -pub type j2k_core::traits::ImageCodec::Pool: j2k_core::scratch::ScratchPool -pub type j2k_core::traits::ImageCodec::Warning: core::fmt::Debug + core::fmt::Display + core::marker::Send + core::marker::Sync + 'static -pub type j2k_core::traits::ImageDecode::View: 'a -pub type j2k_core::traits::ImageDecodeDevice::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::traits::ImageDecodeSubmit::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::traits::ImageDecodeSubmit::Session: core::default::Default + core::marker::Send -pub type j2k_core::traits::ImageDecodeSubmit::SubmittedSurface: j2k_core::traits::DeviceSubmission -pub type j2k_core::traits::ReadySubmission::Error = E -pub type j2k_core::traits::ReadySubmission::Output = T -pub type j2k_core::traits::TileBatchDecode::Context: j2k_core::context::CodecContext -pub type j2k_core::traits::TileBatchDecodeDevice::Context: j2k_core::context::CodecContext -pub type j2k_core::traits::TileBatchDecodeDevice::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::traits::TileBatchDecodeManyDevice::Context: j2k_core::context::CodecContext -pub type j2k_core::traits::TileBatchDecodeManyDevice::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::traits::TileBatchDecodeSubmit::Context: j2k_core::context::CodecContext -pub type j2k_core::traits::TileBatchDecodeSubmit::DeviceSurface: j2k_core::traits::DeviceSurface -pub type j2k_core::traits::TileBatchDecodeSubmit::Session: core::default::Default + core::marker::Send -pub type j2k_core::traits::TileBatchDecodeSubmit::SubmittedSurface: j2k_core::traits::DeviceSubmission -pub type j2k_core::traits::TileDecompress::Error: j2k_core::error::CodecError -pub type j2k_core::traits::TileDecompress::Pool: j2k_core::scratch::ScratchPool -pub unsafe trait j2k_core::GpuAbi: core::marker::Copy + 'static -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_core::AdapterErrorKind -#[non_exhaustive] pub enum j2k_core::BatchDecodeError -#[non_exhaustive] pub enum j2k_core::BatchInfrastructureError -#[non_exhaustive] pub enum j2k_core::BufferError -impl j2k_core::BackendCapabilities -impl j2k_core::BackendRequest -impl j2k_core::CacheStats -impl j2k_core::CodedUnitLayout -impl j2k_core::CompressedTransferSyntax -impl j2k_core::CpuFeatures -impl j2k_core::Downscale -impl j2k_core::PassthroughRequirements -impl j2k_core::PixelFormat -impl j2k_core::Rect -impl j2k_core::Sample for u16 -impl j2k_core::Sample for u8 -impl j2k_core::TileBatchOptions -impl j2k_core::accelerator::SurfaceMetadata -impl<'a> j2k_core::PassthroughCandidate<'a> -impl j2k_core::DecoderContext -impl core::error::Error for j2k_core::BatchDecodeError -impl core::error::Error for j2k_core::TileBatchError -impl core::fmt::Display for j2k_core::BatchDecodeError -impl core::fmt::Display for j2k_core::TileBatchError -impl core::convert::From for j2k_core::BatchDecodeError -impl core::convert::From> for j2k_core::BatchDecodeError -impl j2k_core::BatchDecodeError -impl j2k_core::DecodeOutcome -pub const fn j2k_core::BackendCapabilities::first_available_accelerator(self) -> core::option::Option -pub const fn j2k_core::BackendCapabilities::supports(self, j2k_core::BackendRequest) -> bool -pub const fn j2k_core::BatchDecodeError::infrastructure_error(&self) -> core::option::Option<&j2k_core::BatchInfrastructureError> -pub const fn j2k_core::BatchDecodeError::tile_error(&self) -> core::option::Option<&j2k_core::TileBatchError> -pub const fn j2k_core::CacheStats::new(u64, u64) -> Self -pub const fn j2k_core::CacheStats::with_slots(u64, u64, u64, u64) -> Self -pub const fn j2k_core::CodedUnitLayout::unit_count(&self) -> u32 -pub const fn j2k_core::CompressedTransferSyntax::is_jpeg2000_family(self) -> bool -pub const fn j2k_core::CompressedTransferSyntax::is_lossless(self) -> bool -pub const fn j2k_core::Downscale::denominator(self) -> u32 -pub const fn j2k_core::Downscale::output_block_size(self) -> u32 -pub const fn j2k_core::PassthroughCandidate<'a>::bytes(&self) -> &'a [u8] -pub const fn j2k_core::PassthroughCandidate<'a>::info(&self) -> &j2k_core::Info -pub const fn j2k_core::PassthroughCandidate<'a>::new(&'a [u8], j2k_core::CompressedTransferSyntax, j2k_core::CompressedPayloadKind, j2k_core::Info) -> Self -pub const fn j2k_core::PassthroughCandidate<'a>::payload_kind(&self) -> j2k_core::CompressedPayloadKind -pub const fn j2k_core::PassthroughCandidate<'a>::transfer_syntax(&self) -> j2k_core::CompressedTransferSyntax -pub const fn j2k_core::PassthroughRequirements::new(j2k_core::CompressedTransferSyntax, j2k_core::CompressedPayloadKind) -> Self -pub const fn j2k_core::PassthroughRequirements::with_bit_depth(self, u8) -> Self -pub const fn j2k_core::PassthroughRequirements::with_colorspace(self, j2k_core::Colorspace) -> Self -pub const fn j2k_core::PassthroughRequirements::with_component_count(self, u16) -> Self -pub const fn j2k_core::PassthroughRequirements::with_components(self, u8) -> Self -pub const fn j2k_core::PassthroughRequirements::with_dimensions(self, (u32, u32)) -> Self -pub const fn j2k_core::PassthroughRequirements::with_tile_layout(self, j2k_core::TileLayout) -> Self -pub const fn j2k_core::PixelFormat::bytes_per_pixel(self) -> usize -pub const fn j2k_core::PixelFormat::bytes_per_sample(self) -> usize -pub const fn j2k_core::PixelFormat::channels(self) -> usize -pub const fn j2k_core::PixelFormat::layout(self) -> j2k_core::PixelLayout -pub const fn j2k_core::PixelFormat::sample(self) -> j2k_core::SampleType -pub const fn j2k_core::Rect::full((u32, u32)) -> Self -pub const fn j2k_core::TileBatchOptions::new(core::option::Option) -> Self -pub const fn j2k_core::accelerator::DeviceMemoryRange::new(j2k_core::BackendKind, u64, usize, usize) -> Self -pub const fn j2k_core::accelerator::SurfaceMetadata::byte_len(self) -> usize -pub const fn j2k_core::accelerator::SurfaceMetadata::new(j2k_core::BackendKind, j2k_core::accelerator::SurfaceResidency, (u32, u32), j2k_core::PixelFormat, usize) -> Self -pub const fn j2k_core::accelerator::SurfaceMetadata::with_byte_offset(self, usize) -> Self -pub const fn j2k_core::accelerator::SurfaceResidency::for_backend(j2k_core::BackendKind) -> Self -pub const j2k_core::BackendRequest::ACCELERATED: Self -pub const j2k_core::BackendRequest::CPU_ONLY: Self -pub const j2k_core::BackendRequest::STRICT_CUDA: Self -pub const j2k_core::BackendRequest::STRICT_METAL: Self -pub const j2k_core::Sample::TYPE: j2k_core::SampleType -pub const u16::TYPE: j2k_core::SampleType -pub const u8::TYPE: j2k_core::SampleType -pub fn j2k_core::AcceleratorSession::backend_kind(&self) -> j2k_core::BackendKind -pub fn j2k_core::AdapterErrorParts::adapter_error_kind(&self) -> j2k_core::AdapterErrorKind -pub fn j2k_core::AdapterErrorParts::source_codec_error(&self) -> core::option::Option<&dyn j2k_core::CodecError> -pub fn j2k_core::BackendCapabilities::compile_time_defaults() -> Self -pub fn j2k_core::BackendCapabilities::resolve(self, j2k_core::BackendRequest) -> core::option::Option -pub fn j2k_core::BatchDecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_core::BatchDecodeError::from(j2k_core::BatchInfrastructureError) -> Self -pub fn j2k_core::BatchDecodeError::from(j2k_core::TileBatchError) -> Self -pub fn j2k_core::BatchDecodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_core::CodecContext::cache_stats(&self) -> j2k_core::CacheStats -pub fn j2k_core::CpuFeatures::detect() -> Self -pub fn j2k_core::DecodeOutcome::new(j2k_core::Rect, alloc::vec::Vec) -> Self -pub fn j2k_core::DecoderContext::cache_stats(&self) -> j2k_core::CacheStats -pub fn j2k_core::DecoderContext::clear(&mut self) -pub fn j2k_core::DecoderContext::codec(&self) -> &C -pub fn j2k_core::DecoderContext::codec_mut(&mut self) -> &mut C -pub fn j2k_core::DecoderContext::into_inner(self) -> C -pub fn j2k_core::DecoderContext::new() -> Self -pub fn j2k_core::DeviceSurface::backend_kind(&self) -> j2k_core::BackendKind -pub fn j2k_core::DeviceSurface::pixel_format(&self) -> j2k_core::PixelFormat -pub fn j2k_core::ImageDecode::decode_into(&mut self, &mut [u8], usize, j2k_core::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Rect, j2k_core::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::ImageDecode::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_core::ImageDecodeDevice::decode_region_scaled_to_device(&mut self, j2k_core::PixelFormat, j2k_core::Rect, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeDevice::decode_region_to_device(&mut self, j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeDevice::decode_scaled_to_device(&mut self, j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeDevice::decode_to_device(&mut self, j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result<>::DeviceSurface, Self::Error> where Self: j2k_core::ImageDecodeSubmit<'a, DeviceSurface = >::DeviceSurface> -pub fn j2k_core::ImageDecodeRows::decode_rows>(&mut self, &mut R) -> core::result::Result, j2k_core::DecodeRowsError::Error>> -pub fn j2k_core::ImageDecodeSubmit::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::PixelFormat, j2k_core::Rect, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::ImageDecodeSubmit::submit_to_device(&mut self, &mut Self::Session, j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::PassthroughCandidate<'a>::copy_bytes_if_eligible(&self, &j2k_core::PassthroughRequirements) -> core::result::Result<&'a [u8], j2k_core::PassthroughRejectReason> -pub fn j2k_core::PassthroughCandidate<'a>::evaluate(&self, &j2k_core::PassthroughRequirements) -> j2k_core::PassthroughDecision<'a> -pub fn j2k_core::Rect::is_within(&self, (u32, u32)) -> bool -pub fn j2k_core::Rect::scaled_covering(&self, j2k_core::Downscale) -> Self -pub fn j2k_core::TileBatchDecode::decode_tile(&mut j2k_core::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region(&mut j2k_core::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region_scaled(&mut j2k_core::DecoderContext, &mut Self::Pool, j2k_core::PixelFormat, j2k_core::TileRegionScaledDecodeJob<'_, '_>) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_scaled(&mut j2k_core::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_scaled_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_scaled_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeManyDevice::decode_tiles_to_device(&mut j2k_core::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_scaled_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, j2k_core::TileRegionScaledDeviceDecodeRequest<'_>) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_scaled_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_core::TileBatchError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_core::accelerator::AcceleratorSession::backend_kind(&self) -> j2k_core::BackendKind -pub j2k_core::AdapterErrorKind::Buffer -pub j2k_core::AdapterErrorKind::Other -pub j2k_core::AdapterErrorKind::Unsupported -pub j2k_core::BackendCapabilities::cpu: j2k_core::CpuFeatures -pub j2k_core::BatchDecodeError::Infrastructure(j2k_core::BatchInfrastructureError) -pub j2k_core::BatchDecodeError::Tile(j2k_core::TileBatchError) -pub j2k_core::BatchInfrastructureError::AllocationTooLarge -pub j2k_core::BatchInfrastructureError::AllocationTooLarge::cap: usize -pub j2k_core::BatchInfrastructureError::AllocationTooLarge::requested: usize -pub j2k_core::BatchInfrastructureError::AllocationTooLarge::what: &'static str -pub j2k_core::BatchInfrastructureError::DuplicateResult -pub j2k_core::BatchInfrastructureError::DuplicateResult::index: usize -pub j2k_core::BatchInfrastructureError::EmptyBatchPlan -pub j2k_core::BatchInfrastructureError::HostAllocationFailed -pub j2k_core::BatchInfrastructureError::HostAllocationFailed::bytes: usize -pub j2k_core::BatchInfrastructureError::HostAllocationFailed::what: &'static str -pub j2k_core::BatchInfrastructureError::MissingResult -pub j2k_core::BatchInfrastructureError::MissingResult::index: usize -pub j2k_core::BatchInfrastructureError::ParallelWorkerPanicked -pub j2k_core::BatchInfrastructureError::ResultIndexOutOfBounds -pub j2k_core::BatchInfrastructureError::ResultIndexOutOfBounds::index: usize -pub j2k_core::BatchInfrastructureError::ResultIndexOutOfBounds::job_count: usize -pub j2k_core::BatchInfrastructureError::ResultKindMismatch -pub j2k_core::BatchInfrastructureError::ResultKindMismatch::index: usize -pub j2k_core::BatchInfrastructureError::SchedulerPoisoned -pub j2k_core::BatchInfrastructureError::WorkerPanicked -pub j2k_core::BatchInfrastructureError::WorkerPanicked::worker: usize -pub j2k_core::BatchInfrastructureError::WorkerSlotMissing -pub j2k_core::BatchInfrastructureError::WorkerSlotMissing::available: usize -pub j2k_core::BatchInfrastructureError::WorkerSlotMissing::worker: usize -pub j2k_core::BatchInfrastructureError::WorkerSpawnFailed -pub j2k_core::BatchInfrastructureError::WorkerSpawnFailed::worker: usize -pub j2k_core::BufferError::HostAllocationFailed -pub j2k_core::BufferError::HostAllocationFailed::bytes: usize -pub j2k_core::BufferError::HostAllocationFailed::what: &'static str -pub j2k_core::BufferError::SampleTypeMismatch::fmt: j2k_core::PixelFormat -pub j2k_core::BufferError::SampleTypeMismatch::sample_type: j2k_core::SampleType -pub j2k_core::DecodeOutcome::decoded: j2k_core::Rect -pub j2k_core::DeviceMemoryRange::backend: j2k_core::BackendKind -pub j2k_core::Info::coded_unit_layout: core::option::Option -pub j2k_core::Info::colorspace: j2k_core::Colorspace -pub j2k_core::Info::tile_layout: core::option::Option -pub j2k_core::PassthroughDecision::Transcode::reason: j2k_core::PassthroughRejectReason -pub j2k_core::PassthroughRejectReason::ColorspaceMismatch::destination: j2k_core::Colorspace -pub j2k_core::PassthroughRejectReason::ColorspaceMismatch::source: j2k_core::Colorspace -pub j2k_core::PassthroughRejectReason::PayloadKindMismatch::destination: j2k_core::CompressedPayloadKind -pub j2k_core::PassthroughRejectReason::PayloadKindMismatch::source: j2k_core::CompressedPayloadKind -pub j2k_core::PassthroughRejectReason::TileLayoutMismatch::destination: j2k_core::TileLayout -pub j2k_core::PassthroughRejectReason::TileLayoutMismatch::source: core::option::Option -pub j2k_core::PassthroughRejectReason::TransferSyntaxMismatch::destination: j2k_core::CompressedTransferSyntax -pub j2k_core::PassthroughRejectReason::TransferSyntaxMismatch::source: j2k_core::CompressedTransferSyntax -pub j2k_core::PassthroughRequirements::colorspace: core::option::Option -pub j2k_core::PassthroughRequirements::payload_kind: j2k_core::CompressedPayloadKind -pub j2k_core::PassthroughRequirements::tile_layout: core::option::Option -pub j2k_core::PassthroughRequirements::transfer_syntax: j2k_core::CompressedTransferSyntax -pub j2k_core::SurfaceMetadata::backend: j2k_core::BackendKind -pub j2k_core::SurfaceMetadata::byte_offset: usize -pub j2k_core::SurfaceMetadata::dimensions: (u32, u32) -pub j2k_core::SurfaceMetadata::pitch_bytes: usize -pub j2k_core::SurfaceMetadata::pixel_format: j2k_core::PixelFormat -pub j2k_core::SurfaceMetadata::residency: j2k_core::accelerator::SurfaceResidency -pub j2k_core::SurfaceResidency::Device(j2k_core::BackendKind) -pub j2k_core::SurfaceResidency::Shared(j2k_core::BackendKind) -pub j2k_core::TileRegionDecodeJob::roi: j2k_core::Rect -pub j2k_core::TileRegionScaledDecodeJob::roi: j2k_core::Rect -pub j2k_core::TileRegionScaledDecodeJob::scale: j2k_core::Downscale -pub j2k_core::TileRegionScaledDeviceDecodeRequest::backend: j2k_core::BackendRequest -pub j2k_core::TileRegionScaledDeviceDecodeRequest::fmt: j2k_core::PixelFormat -pub j2k_core::TileRegionScaledDeviceDecodeRequest::input: &'i [u8] -pub j2k_core::TileRegionScaledDeviceDecodeRequest::roi: j2k_core::Rect -pub j2k_core::TileRegionScaledDeviceDecodeRequest::scale: j2k_core::Downscale -pub j2k_core::TileScaledDecodeJob::scale: j2k_core::Downscale -pub j2k_core::accelerator::DeviceMemoryRange::backend: j2k_core::BackendKind -pub j2k_core::accelerator::SurfaceMetadata::backend: j2k_core::BackendKind -pub j2k_core::accelerator::SurfaceMetadata::byte_offset: usize -pub j2k_core::accelerator::SurfaceMetadata::dimensions: (u32, u32) -pub j2k_core::accelerator::SurfaceMetadata::pitch_bytes: usize -pub j2k_core::accelerator::SurfaceMetadata::pixel_format: j2k_core::PixelFormat -pub j2k_core::accelerator::SurfaceMetadata::residency: j2k_core::accelerator::SurfaceResidency -pub j2k_core::accelerator::SurfaceResidency::Device(j2k_core::BackendKind) -pub j2k_core::accelerator::SurfaceResidency::Shared(j2k_core::BackendKind) -pub struct j2k_core::DecoderContext -pub struct j2k_core::SurfaceMetadata -pub struct j2k_core::TileRegionScaledDeviceDecodeRequest<'i> -pub struct j2k_core::accelerator::SurfaceMetadata -pub trait j2k_core::AdapterErrorParts -pub trait j2k_core::ImageDecode<'a>: j2k_core::ImageCodec + core::marker::Sized + 'a -pub trait j2k_core::ImageDecodeDevice<'a>: j2k_core::ImageDecode<'a> -pub trait j2k_core::ImageDecodeRows<'a, S: j2k_core::Sample>: j2k_core::ImageDecode<'a> -pub trait j2k_core::ImageDecodeSubmit<'a>: j2k_core::ImageDecode<'a> -pub trait j2k_core::RowSink -pub trait j2k_core::TileBatchDecode: j2k_core::ImageCodec -pub trait j2k_core::TileBatchDecodeDevice: j2k_core::ImageCodec -pub trait j2k_core::TileBatchDecodeManyDevice: j2k_core::ImageCodec -pub trait j2k_core::TileBatchDecodeSubmit: j2k_core::ImageCodec -pub type j2k_core::ImageCodec::Error: j2k_core::CodecError -pub type j2k_core::ImageCodec::Pool: j2k_core::ScratchPool -pub type j2k_core::ImageDecodeDevice::DeviceSurface: j2k_core::DeviceSurface -pub type j2k_core::ImageDecodeSubmit::DeviceSurface: j2k_core::DeviceSurface -pub type j2k_core::ImageDecodeSubmit::SubmittedSurface: j2k_core::DeviceSubmission -pub type j2k_core::TileBatchDecode::Context: j2k_core::CodecContext -pub type j2k_core::TileBatchDecodeDevice::Context: j2k_core::CodecContext -pub type j2k_core::TileBatchDecodeDevice::DeviceSurface: j2k_core::DeviceSurface -pub type j2k_core::TileBatchDecodeManyDevice::Context: j2k_core::CodecContext -pub type j2k_core::TileBatchDecodeManyDevice::DeviceSurface: j2k_core::DeviceSurface -pub type j2k_core::TileBatchDecodeSubmit::Context: j2k_core::CodecContext -pub type j2k_core::TileBatchDecodeSubmit::DeviceSurface: j2k_core::DeviceSurface -pub type j2k_core::TileBatchDecodeSubmit::SubmittedSurface: j2k_core::DeviceSubmission -pub type j2k_core::TileDecompress::Error: j2k_core::CodecError -pub type j2k_core::TileDecompress::Pool: j2k_core::ScratchPool -``` - -### `j2k-jpeg` - -Baseline items: 1260. Candidate items: 586. Computed release type: `major`. Rustdoc-hidden candidate items: 550. Full hidden-inventory fingerprint: `fnv1a64:694878382ed6212c`. - -#### Removed or changed baseline API items - -```text -#[non_exhaustive] pub enum j2k_jpeg::error::JpegError -#[non_exhaustive] pub enum j2k_jpeg::error::Warning -#[non_exhaustive] pub struct j2k_jpeg::transcode::DctExtractOptions -#[repr(C)] pub struct j2k_jpeg::adapter::JpegEntropyCheckpointV1 -#[repr(C)] pub struct j2k_jpeg::adapter::JpegFast420PacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::JpegFast422PacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::JpegFast444PacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::JpegGrayPacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::JpegHuffmanTable -#[repr(C)] pub struct j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1 -#[repr(C)] pub struct j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1 -#[repr(C)] pub struct j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -impl core::convert::AsRef<[u8]> for j2k_jpeg::segment::PreparedJpeg<'_> -impl core::convert::From for j2k_jpeg::info::Rect -impl core::convert::From for j2k_core::types::DecodeOutcome -impl core::convert::From for j2k_jpeg::adapter::fast_packet::FastPacketError -impl core::convert::From for j2k_core::types::Rect -impl core::default::Default for j2k_jpeg::batch_session::JpegBatchSession -impl core::default::Default for j2k_jpeg::encoder::JpegEncodeOptions -impl core::default::Default for j2k_jpeg::info::DecodeOptions -impl core::default::Default for j2k_jpeg::segment::JpegTilePrepareOptions -impl core::default::Default for j2k_jpeg::transcode::DctExtractOptions -impl core::fmt::Display for j2k_jpeg::error::Warning -impl j2k_core::context::CodecContext for j2k_jpeg::context::DecoderContext -impl j2k_core::error::CodecError for j2k_jpeg::error::JpegError -impl j2k_core::scratch::ScratchPool for j2k_jpeg::ScratchPool -impl j2k_core::traits::ImageCodec for j2k_jpeg::JpegCodec -impl j2k_core::traits::ImageCodec for j2k_jpeg::decoder::Decoder<'_> -impl j2k_core::traits::TileBatchDecode for j2k_jpeg::JpegCodec -impl j2k_jpeg::batch_session::JpegBatchSession -impl j2k_jpeg::capabilities::JpegCapabilityReport -impl j2k_jpeg::capabilities::JpegDecodeRequest -impl j2k_jpeg::capabilities::JpegResolvedDecode -impl j2k_jpeg::context::DecoderContext -impl j2k_jpeg::decoder::Decoder<'_> -impl j2k_jpeg::error::JpegError -impl j2k_jpeg::info::DecodeOptions -impl j2k_jpeg::info::Info -impl j2k_jpeg::info::Rect -impl j2k_jpeg::info::SamplingFactors -impl j2k_jpeg::output_buffer::JpegOutputBuffer -impl j2k_jpeg::segment::PreparedJpeg<'_> -impl j2k_jpeg::transcode::DctExtractOptions -impl<'a> core::iter::traits::iterator::Iterator for j2k_jpeg::segment::JpegSegmentIter<'a> -impl<'a> j2k_core::traits::ImageDecode<'a> for j2k_jpeg::decoder::Decoder<'a> -impl<'a> j2k_core::traits::ImageDecodeRows<'a, u8> for j2k_jpeg::decoder::Decoder<'a> -impl<'a> j2k_jpeg::decoder::Decoder<'a> -impl<'a> j2k_jpeg::decoder::JpegView<'a> -pub const fn j2k_jpeg::capabilities::JpegDecodeRequest::capability(self) -> j2k_jpeg::capabilities::JpegCapabilityRequest -pub const fn j2k_jpeg::segment::is_sof_marker(u8) -> bool -pub const fn j2k_jpeg::transcode::DctExtractOptions::dequantized_only() -> Self -pub const j2k_jpeg::adapter::JPEG_BASELINE_ZIGZAG: [u8; 64] -pub enum j2k_jpeg::adapter::FastPacketError -pub enum j2k_jpeg::adapter::fast_packet::FastPacketError -pub enum j2k_jpeg::adapter::fast_packet::TableKind -pub enum j2k_jpeg::capabilities::JpegDecodeOp -pub enum j2k_jpeg::capabilities::JpegResolvedDecodePath -pub enum j2k_jpeg::encoder::JpegBackend -pub enum j2k_jpeg::encoder::JpegEncodeError -pub enum j2k_jpeg::encoder::JpegSamples<'a> -pub enum j2k_jpeg::encoder::JpegSubsampling -pub enum j2k_jpeg::error::BuilderConflictReason -pub enum j2k_jpeg::error::HuffmanFailure -pub enum j2k_jpeg::error::MarkerKind -pub enum j2k_jpeg::error::TableKind -pub enum j2k_jpeg::error::UnsupportedReason -pub enum j2k_jpeg::info::ColorSpace -pub enum j2k_jpeg::info::ColorTransform -pub enum j2k_jpeg::info::SamplingFactorsError -pub enum j2k_jpeg::info::SofKind -pub enum j2k_jpeg::segment::DuplicateTablePolicy -pub enum j2k_jpeg::segment::PreparedJpeg<'a> -pub enum j2k_jpeg::transcode::JpegDctCodingMode -pub fn j2k_core::types::DecodeOutcome::from(j2k_jpeg::decoder::DecodeOutcome) -> Self -pub fn j2k_core::types::Rect::from(j2k_jpeg::info::Rect) -> Self -pub fn j2k_jpeg::ComponentRowWriter::write_gray_row(&mut self, u32, &[u8]) -> core::result::Result<(), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::ComponentRowWriter::write_rgb_row(&mut self, u32, &[u8], &[u8], &[u8]) -> core::result::Result<(), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::ComponentRowWriter::write_ycbcr_row(&mut self, u32, &[u8], &[u8], &[u8]) -> core::result::Result<(), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::JpegCodec::decode_tile(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::JpegCodec::decode_tile_region(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::JpegCodec::decode_tile_region_scaled(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::JpegCodec::decode_tile_scaled(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::ScratchPool::bytes_allocated(&self) -> usize -pub fn j2k_jpeg::ScratchPool::reset(&mut self) -pub fn j2k_jpeg::adapter::assemble_jpeg_baseline_frame(&[u8], u32, u32, &j2k_jpeg::adapter::JpegBaselineEncodeTables, j2k_jpeg::encoder::JpegEncodeOptions, j2k_jpeg::encoder::JpegBackend) -> core::result::Result -pub fn j2k_jpeg::adapter::baseline_encode_tables(j2k_jpeg::encoder::JpegEncodeOptions) -> core::result::Result -pub fn j2k_jpeg::adapter::build_device_plan<'a>(&'a j2k_jpeg::decoder::Decoder<'a>, u32) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::adapter::build_fast420_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::build_fast420_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::build_fast422_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::build_fast422_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::build_fast444_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::build_fast444_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::build_gray_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::build_gray_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::decoder_bytes<'a>(&'a j2k_jpeg::decoder::Decoder<'a>) -> &'a [u8] -pub fn j2k_jpeg::adapter::fast_packet::FastPacketError::from(j2k_jpeg::error::JpegError) -> Self -pub fn j2k_jpeg::adapter::fast_packet::build_fast420_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_fast420_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_fast422_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_fast422_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_fast444_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_fast444_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_gray_packet(&[u8]) -> core::result::Result -pub fn j2k_jpeg::adapter::fast_packet::build_gray_packet_for_decoder(&j2k_jpeg::decoder::Decoder<'_>) -> core::result::Result -pub fn j2k_jpeg::adapter::jpeg_baseline_entropy_capacity_bytes(u32, u32, j2k_jpeg::adapter::JpegBaselineSampling, core::option::Option) -> core::result::Result -pub fn j2k_jpeg::adapter::jpeg_baseline_sampling_for(j2k_jpeg::encoder::JpegSubsampling) -> j2k_jpeg::adapter::JpegBaselineSampling -pub fn j2k_jpeg::adapter::summarize_device_batch(&j2k_jpeg::decoder::Decoder<'_>, u32) -> j2k_jpeg::adapter::DeviceBatchSummary -pub fn j2k_jpeg::adapter::validate_jpeg_baseline_dimensions(u32, u32) -> core::result::Result<(), j2k_jpeg::encoder::JpegEncodeError> -pub fn j2k_jpeg::adapter::validate_jpeg_baseline_restart_interval(core::option::Option) -> core::result::Result<(), j2k_jpeg::encoder::JpegEncodeError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_prepared_jpeg_tiles_rgb8(&mut self, &mut [j2k_jpeg::decoder::PreparedJpegTileJob<'_, '_>]) -> alloc::vec::Vec> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_tiles_into(&mut self, &mut [j2k_jpeg::decoder::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_tiles_into_with_options(&mut self, &mut [j2k_jpeg::decoder::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_tiles_region_scaled_into(&mut self, &mut [j2k_jpeg::decoder::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_tiles_region_scaled_into_with_options(&mut self, &mut [j2k_jpeg::decoder::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_tiles_scaled_into(&mut self, &mut [j2k_jpeg::decoder::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::decode_tiles_scaled_into_with_options(&mut self, &mut [j2k_jpeg::decoder::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::batch_session::JpegBatchSession::default() -> Self -pub fn j2k_jpeg::batch_session::JpegBatchSession::new(j2k_core::batch::TileBatchOptions) -> Self -pub fn j2k_jpeg::batch_session::JpegBatchSession::options(&self) -> j2k_core::batch::TileBatchOptions -pub fn j2k_jpeg::batch_session::JpegBatchSession::reset(&mut self) -pub fn j2k_jpeg::batch_session::JpegBatchSession::retained_worker_slots(&self) -> usize -pub fn j2k_jpeg::batch_session::JpegBatchSession::set_options(&mut self, j2k_core::batch::TileBatchOptions) -pub fn j2k_jpeg::batch_session::JpegBatchSession::worker_count(&self) -> usize -pub fn j2k_jpeg::capabilities::JpegCapabilityReport::for_decoder(&j2k_jpeg::decoder::Decoder<'_>, j2k_jpeg::capabilities::JpegCapabilityRequest) -> Self -pub fn j2k_jpeg::capabilities::JpegCapabilityReport::inspect(&[u8], j2k_jpeg::capabilities::JpegCapabilityRequest) -> core::result::Result -pub fn j2k_jpeg::capabilities::JpegCapabilityReport::metal_resident_rgb8_batch_output(&self) -> j2k_jpeg::capabilities::JpegBackendEligibility -pub fn j2k_jpeg::capabilities::JpegCapabilityReport::resolve_path(&self, j2k_core::backend::BackendRequest) -> j2k_jpeg::capabilities::JpegResolvedDecodePath -pub fn j2k_jpeg::capabilities::JpegResolvedDecode::from_capabilities(j2k_jpeg::capabilities::JpegCapabilityReport, j2k_jpeg::capabilities::JpegDecodeRequest) -> Self -pub fn j2k_jpeg::capabilities::JpegResolvedDecode::inspect(&[u8], j2k_jpeg::capabilities::JpegDecodeRequest) -> core::result::Result -pub fn j2k_jpeg::context::DecoderContext::cache_stats(&self) -> j2k_core::context::CacheStats -pub fn j2k_jpeg::context::DecoderContext::clear(&mut self) -pub fn j2k_jpeg::context::DecoderContext::new() -> Self -pub fn j2k_jpeg::decode_prepared_jpeg_tiles_rgb8(&mut [j2k_jpeg::decoder::PreparedJpegTileJob<'_, '_>]) -> alloc::vec::Vec> -pub fn j2k_jpeg::decode_tile_into(&[u8], &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decode_tile_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decode_tile_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decode_tile_region_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect) -> core::result::Result -pub fn j2k_jpeg::decode_tile_region_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decode_tile_region_scaled_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decode_tile_region_scaled_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decode_tile_scaled_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decode_tile_scaled_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decode_tiles_into(&mut [j2k_jpeg::decoder::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decode_tiles_into_with_options(&mut [j2k_jpeg::decoder::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decode_tiles_region_scaled_into(&mut [j2k_jpeg::decoder::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decode_tiles_region_scaled_into_with_options(&mut [j2k_jpeg::decoder::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decode_tiles_scaled_into(&mut [j2k_jpeg::decoder::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decode_tiles_scaled_into_with_options(&mut [j2k_jpeg::decoder::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decoder::ComponentRowWriter::write_gray_row(&mut self, u32, &[u8]) -> core::result::Result<(), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::ComponentRowWriter::write_rgb_row(&mut self, u32, &[u8], &[u8], &[u8]) -> core::result::Result<(), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::ComponentRowWriter::write_ycbcr_row(&mut self, u32, &[u8], &[u8], &[u8]) -> core::result::Result<(), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'_>::decode_tile(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut S) -> core::result::Result where S: j2k_core::row_sink::RowSink -pub fn j2k_jpeg::decoder::Decoder<'a>::decode(&self, j2k_core::pixel::PixelFormat) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_component_rows_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut W) -> core::result::Result where W: j2k_jpeg::decoder::ComponentRowWriter -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region(&self, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_component_rows_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut W, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result where W: j2k_jpeg::decoder::ComponentRowWriter -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_rgba8_into_with_alpha(&self, &mut [u8], usize, j2k_jpeg::info::Rect, u8) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_rgba8_into_with_alpha_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_jpeg::info::Rect, u8) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_scaled(&self, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_scaled_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_scaled_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_scaled_with_scratch(&self, &mut j2k_jpeg::ScratchPool, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_region_with_scratch(&self, &mut j2k_jpeg::ScratchPool, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_rgba8_into_with_alpha(&self, &mut [u8], usize, u8) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_rgba8_into_with_alpha_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, u8) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_rows>(&mut self, &mut R) -> core::result::Result, j2k_core::traits::DecodeRowsError::Error>> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_rows(&self, &mut S) -> core::result::Result where S: j2k_core::row_sink::RowSink -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_rows_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut S) -> core::result::Result where S: j2k_core::row_sink::RowSink -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_scaled(&self, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_scaled_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_scaled_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_scaled_with_scratch(&self, &mut j2k_jpeg::ScratchPool, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::decode_with_scratch(&self, &mut j2k_jpeg::ScratchPool, j2k_core::pixel::PixelFormat) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::decoder::DecodeOutcome), j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::Decoder<'a>::from_view(Self::View) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::from_view(j2k_jpeg::decoder::JpegView<'a>) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::from_view_in_context(j2k_jpeg::decoder::JpegView<'a>, &mut j2k_jpeg::context::DecoderContext) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::info(&self) -> &j2k_jpeg::info::Info -pub fn j2k_jpeg::decoder::Decoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::inspect_with_options(&'a [u8], j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::new(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::new_with_options(&'a [u8], j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::decoder::Decoder<'a>::passthrough_candidate(&self) -> core::option::Option> -pub fn j2k_jpeg::decoder::Decoder<'a>::restart_index(&self) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::JpegView<'a>::bytes(&self) -> &'a [u8] -pub fn j2k_jpeg::decoder::JpegView<'a>::info(&self) -> &j2k_jpeg::info::Info -pub fn j2k_jpeg::decoder::JpegView<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::decoder::JpegView<'a>::parse_with_options(&'a [u8], j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::JpegView<'a>::passthrough_candidate(&self) -> core::option::Option> -pub fn j2k_jpeg::decoder::JpegView<'a>::restart_index(&self) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::decoder::decode_prepared_jpeg_tiles_rgb8(&mut [j2k_jpeg::decoder::PreparedJpegTileJob<'_, '_>]) -> alloc::vec::Vec> -pub fn j2k_jpeg::decoder::decode_tile_into(&[u8], &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_region_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_region_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_region_scaled_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_region_scaled_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::info::Rect, j2k_core::scale::Downscale, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_scaled_into_in_context(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tile_scaled_into_in_context_with_options(&[u8], &mut j2k_jpeg::context::DecoderContext, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_jpeg::info::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::decoder::decode_tiles_into(&mut [j2k_jpeg::decoder::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decoder::decode_tiles_into_with_options(&mut [j2k_jpeg::decoder::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decoder::decode_tiles_region_scaled_into(&mut [j2k_jpeg::decoder::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decoder::decode_tiles_region_scaled_into_with_options(&mut [j2k_jpeg::decoder::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decoder::decode_tiles_scaled_into(&mut [j2k_jpeg::decoder::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::decoder::decode_tiles_scaled_into_with_options(&mut [j2k_jpeg::decoder::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::info::DecodeOptions, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::decoder::TileBatchError> -pub fn j2k_jpeg::encode_jpeg_baseline(j2k_jpeg::encoder::JpegSamples<'_>, j2k_jpeg::encoder::JpegEncodeOptions) -> core::result::Result -pub fn j2k_jpeg::encoder::JpegEncodeOptions::default() -> Self -pub fn j2k_jpeg::encoder::encode_jpeg_baseline(j2k_jpeg::encoder::JpegSamples<'_>, j2k_jpeg::encoder::JpegEncodeOptions) -> core::result::Result -pub fn j2k_jpeg::error::JpegError::is_api_misuse(&self) -> bool -pub fn j2k_jpeg::error::JpegError::is_buffer_error(&self) -> bool -pub fn j2k_jpeg::error::JpegError::is_not_implemented(&self) -> bool -pub fn j2k_jpeg::error::JpegError::is_truncated(&self) -> bool -pub fn j2k_jpeg::error::JpegError::is_unsupported(&self) -> bool -pub fn j2k_jpeg::error::JpegError::offset(&self) -> core::option::Option -pub fn j2k_jpeg::error::Warning::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_jpeg::find_scan_ranges(&[u8]) -> core::result::Result -pub fn j2k_jpeg::info::DecodeOptions::color_transform(&self) -> j2k_jpeg::info::ColorTransform -pub fn j2k_jpeg::info::DecodeOptions::default() -> Self -pub fn j2k_jpeg::info::DecodeOptions::set_color_transform(&mut self, j2k_jpeg::info::ColorTransform) -pub fn j2k_jpeg::info::DecodeOptions::with_color_transform(self, j2k_jpeg::info::ColorTransform) -> Self -pub fn j2k_jpeg::info::Info::to_core_info(&self) -> j2k_core::types::Info -pub fn j2k_jpeg::info::Rect::from(j2k_core::types::Rect) -> Self -pub fn j2k_jpeg::info::Rect::full((u32, u32)) -> Self -pub fn j2k_jpeg::info::Rect::is_within(&self, (u32, u32)) -> bool -pub fn j2k_jpeg::info::SamplingFactors::component(&self, usize) -> core::option::Option<(u8, u8)> -pub fn j2k_jpeg::info::SamplingFactors::components(&self) -> &[(u8, u8)] -pub fn j2k_jpeg::info::SamplingFactors::from_components(&[(u8, u8)]) -> core::result::Result -pub fn j2k_jpeg::info::SamplingFactors::is_empty(&self) -> bool -pub fn j2k_jpeg::info::SamplingFactors::len(&self) -> usize -pub fn j2k_jpeg::iter_segments(&[u8]) -> j2k_jpeg::segment::JpegSegmentIter<'_> -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::as_mut_slice(&mut self) -> &mut [u8] -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::as_slice(&self) -> &[u8] -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::capacity(&self) -> usize -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::dimensions(&self) -> (u32, u32) -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::is_empty(&self) -> bool -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::len(&self) -> usize -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::new((u32, u32), j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::new_with_max_bytes((u32, u32), j2k_core::pixel::PixelFormat, usize) -> core::result::Result -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::resize(&mut self, (u32, u32), j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::resize_with_max_bytes(&mut self, (u32, u32), j2k_core::pixel::PixelFormat, usize) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::resize_with_stride(&mut self, (u32, u32), usize, j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::resize_with_stride_with_max_bytes(&mut self, (u32, u32), usize, j2k_core::pixel::PixelFormat, usize) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::stride(&self) -> usize -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::with_stride((u32, u32), usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::output_buffer::JpegOutputBuffer::with_stride_with_max_bytes((u32, u32), usize, j2k_core::pixel::PixelFormat, usize) -> core::result::Result -pub fn j2k_jpeg::parse_dri(&[u8]) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::parse_sof_info(u8, &[u8]) -> core::result::Result -pub fn j2k_jpeg::prepare_tiff_jpeg_tile<'a>(&'a [u8], core::option::Option<&'a [u8]>, j2k_jpeg::segment::JpegTilePrepareOptions) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::rewrite_sof_dimensions(&[u8], (u16, u16)) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::segment::JpegSegmentIter<'a>::next(&mut self) -> core::option::Option -pub fn j2k_jpeg::segment::JpegTilePrepareOptions::default() -> Self -pub fn j2k_jpeg::segment::PreparedJpeg<'_>::as_bytes(&self) -> &[u8] -pub fn j2k_jpeg::segment::PreparedJpeg<'_>::as_ref(&self) -> &[u8] -pub fn j2k_jpeg::segment::find_scan_ranges(&[u8]) -> core::result::Result -pub fn j2k_jpeg::segment::iter_segments(&[u8]) -> j2k_jpeg::segment::JpegSegmentIter<'_> -pub fn j2k_jpeg::segment::parse_dri(&[u8]) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::segment::parse_sof_info(u8, &[u8]) -> core::result::Result -pub fn j2k_jpeg::segment::prepare_tiff_jpeg_tile<'a>(&'a [u8], core::option::Option<&'a [u8]>, j2k_jpeg::segment::JpegTilePrepareOptions) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::segment::rewrite_sof_dimensions(&[u8], (u16, u16)) -> core::result::Result, j2k_jpeg::error::JpegError> -pub fn j2k_jpeg::transcode::DctExtractOptions::default() -> Self -pub fn j2k_jpeg::transcode::encode_baseline_dct_image(&j2k_jpeg::transcode::JpegDctImage) -> core::result::Result, j2k_jpeg::encoder::JpegEncodeError> -pub fn j2k_jpeg::transcode::extract_dct_blocks(&[u8], j2k_jpeg::transcode::DctExtractOptions) -> core::result::Result -pub fn j2k_jpeg::transcode::idct_islow_block(&[i16; 64]) -> [u8; 64] -pub j2k_jpeg::DecodeOutcome::decoded: j2k_jpeg::info::Rect -pub j2k_jpeg::DecodeOutcome::warnings: alloc::vec::Vec -pub j2k_jpeg::DecodedTile::decoded: j2k_jpeg::info::Rect -pub j2k_jpeg::DecodedTile::warnings: alloc::vec::Vec -pub j2k_jpeg::EncodedJpeg::backend: j2k_jpeg::encoder::JpegBackend -pub j2k_jpeg::Info::color_space: j2k_jpeg::info::ColorSpace -pub j2k_jpeg::Info::mcu_geometry: j2k_jpeg::info::McuGeometry -pub j2k_jpeg::Info::sampling: j2k_jpeg::info::SamplingFactors -pub j2k_jpeg::Info::sof_kind: j2k_jpeg::info::SofKind -pub j2k_jpeg::JpegCapabilityReport::cpu: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg::JpegCapabilityReport::device: j2k_jpeg::adapter::DeviceBatchSummary -pub j2k_jpeg::JpegCapabilityReport::info: j2k_jpeg::info::Info -pub j2k_jpeg::JpegCapabilityReport::metal_fast: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg::JpegCapabilityReport::owned_cuda: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg::JpegCapabilityReport::request: j2k_jpeg::capabilities::JpegCapabilityRequest -pub j2k_jpeg::JpegCapabilityRequest::op: j2k_jpeg::capabilities::JpegDecodeOp -pub j2k_jpeg::JpegDecodeOp::Region(j2k_jpeg::info::Rect) -pub j2k_jpeg::JpegDecodeOp::RegionScaled::roi: j2k_jpeg::info::Rect -pub j2k_jpeg::JpegDecodeRequest::op: j2k_jpeg::capabilities::JpegDecodeOp -pub j2k_jpeg::JpegEncodeError::IncompatibleSubsampling::subsampling: j2k_jpeg::encoder::JpegSubsampling -pub j2k_jpeg::JpegEncodeError::Internal(alloc::string::String) -pub j2k_jpeg::JpegEncodeError::UnsupportedBackend::backend: j2k_jpeg::encoder::JpegBackend -pub j2k_jpeg::JpegEncodeOptions::backend: j2k_jpeg::encoder::JpegBackend -pub j2k_jpeg::JpegEncodeOptions::subsampling: j2k_jpeg::encoder::JpegSubsampling -pub j2k_jpeg::JpegError::BuilderConflict::reason: j2k_jpeg::error::BuilderConflictReason -pub j2k_jpeg::JpegError::ConflictingDuplicateTable::table: j2k_jpeg::error::TableKind -pub j2k_jpeg::JpegError::DownscaleUnsupported::sof: j2k_jpeg::info::SofKind -pub j2k_jpeg::JpegError::DuplicateMarker::marker: j2k_jpeg::error::MarkerKind -pub j2k_jpeg::JpegError::HuffmanDecode::reason: j2k_jpeg::error::HuffmanFailure -pub j2k_jpeg::JpegError::InvalidSequentialScanCount::sof: j2k_jpeg::info::SofKind -pub j2k_jpeg::JpegError::MissingMarker::marker: j2k_jpeg::error::MarkerKind -pub j2k_jpeg::JpegError::NotImplemented::sof: j2k_jpeg::info::SofKind -pub j2k_jpeg::JpegError::RectOutOfBounds::rect: j2k_jpeg::info::Rect -pub j2k_jpeg::JpegError::UnexpectedMarker::expected: j2k_jpeg::error::MarkerKind -pub j2k_jpeg::JpegError::UnsupportedColorSpace::color_space: j2k_jpeg::info::ColorSpace -pub j2k_jpeg::JpegError::UnsupportedSof::reason: j2k_jpeg::error::UnsupportedReason -pub j2k_jpeg::JpegResolvedDecode::capabilities: j2k_jpeg::capabilities::JpegCapabilityReport -pub j2k_jpeg::JpegResolvedDecode::output_rect: j2k_jpeg::info::Rect -pub j2k_jpeg::JpegResolvedDecode::path: j2k_jpeg::capabilities::JpegResolvedDecodePath -pub j2k_jpeg::JpegResolvedDecode::request: j2k_jpeg::capabilities::JpegDecodeRequest -pub j2k_jpeg::JpegSofInfo::sampling: j2k_jpeg::info::SamplingFactors -pub j2k_jpeg::JpegSofInfo::sof_kind: j2k_jpeg::info::SofKind -pub j2k_jpeg::JpegTilePrepareOptions::duplicate_table_policy: j2k_jpeg::segment::DuplicateTablePolicy -pub j2k_jpeg::PreparedJpegTileJob::input: j2k_jpeg::segment::PreparedJpeg<'i> -pub j2k_jpeg::PreparedJpegTileJob::options: j2k_jpeg::info::DecodeOptions -pub j2k_jpeg::RestartIndex::segments: alloc::vec::Vec -pub j2k_jpeg::Warning::TableCacheMismatch::which: j2k_jpeg::error::TableKind -pub j2k_jpeg::adapter::DeviceBatchSummary::checkpoint_count: usize -pub j2k_jpeg::adapter::DeviceBatchSummary::matches_fast_420: bool -pub j2k_jpeg::adapter::DeviceBatchSummary::matches_fast_422: bool -pub j2k_jpeg::adapter::DeviceBatchSummary::matches_fast_444: bool -pub j2k_jpeg::adapter::DeviceBatchSummary::restart_interval: core::option::Option -pub j2k_jpeg::adapter::DeviceCheckpoint::bit_accumulator: u64 -pub j2k_jpeg::adapter::DeviceCheckpoint::bits_buffered: u8 -pub j2k_jpeg::adapter::DeviceCheckpoint::expected_rst: u8 -pub j2k_jpeg::adapter::DeviceCheckpoint::mcu_index: u32 -pub j2k_jpeg::adapter::DeviceCheckpoint::prev_dc: [i32; 4] -pub j2k_jpeg::adapter::DeviceCheckpoint::scan_offset: usize -pub j2k_jpeg::adapter::DeviceComponentPlan::h: u8 -pub j2k_jpeg::adapter::DeviceComponentPlan::output_index: usize -pub j2k_jpeg::adapter::DeviceComponentPlan::v: u8 -pub j2k_jpeg::adapter::DeviceDecodePlan::checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::DeviceDecodePlan::color_space: j2k_jpeg::info::ColorSpace -pub j2k_jpeg::adapter::DeviceDecodePlan::components: alloc::vec::Vec -pub j2k_jpeg::adapter::DeviceDecodePlan::dimensions: (u32, u32) -pub j2k_jpeg::adapter::DeviceDecodePlan::matches_fast_420: bool -pub j2k_jpeg::adapter::DeviceDecodePlan::matches_fast_422: bool -pub j2k_jpeg::adapter::DeviceDecodePlan::matches_fast_444: bool -pub j2k_jpeg::adapter::DeviceDecodePlan::restart_interval: core::option::Option -pub j2k_jpeg::adapter::DeviceDecodePlan::scan_bytes: alloc::borrow::Cow<'a, [u8]> -pub j2k_jpeg::adapter::DeviceDecodePlan::warnings: alloc::vec::Vec -pub j2k_jpeg::adapter::FastPacketError::Decode(j2k_jpeg::error::JpegError) -pub j2k_jpeg::adapter::FastPacketError::EntropyMarkerUnsupported -pub j2k_jpeg::adapter::FastPacketError::EntropyMarkerUnsupported::marker: u8 -pub j2k_jpeg::adapter::FastPacketError::MissingHuffmanTable -pub j2k_jpeg::adapter::FastPacketError::MissingHuffmanTable::kind: j2k_jpeg::adapter::fast_packet::TableKind -pub j2k_jpeg::adapter::FastPacketError::MissingHuffmanTable::slot: u8 -pub j2k_jpeg::adapter::FastPacketError::MissingQuantTable -pub j2k_jpeg::adapter::FastPacketError::MissingQuantTable::slot: u8 -pub j2k_jpeg::adapter::FastPacketError::MissingScan -pub j2k_jpeg::adapter::FastPacketError::TruncatedEntropy -pub j2k_jpeg::adapter::FastPacketError::UnsupportedColorSpace(j2k_jpeg::info::ColorSpace) -pub j2k_jpeg::adapter::FastPacketError::UnsupportedComponentOrder -pub j2k_jpeg::adapter::FastPacketError::UnsupportedSampling -pub j2k_jpeg::adapter::FastPacketError::UnsupportedSof(j2k_jpeg::info::SofKind) -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::huff_ac_chroma: j2k_jpeg::adapter::JpegBaselineHuffmanTable -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::huff_ac_luma: j2k_jpeg::adapter::JpegBaselineHuffmanTable -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::huff_dc_chroma: j2k_jpeg::adapter::JpegBaselineHuffmanTable -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::huff_dc_luma: j2k_jpeg::adapter::JpegBaselineHuffmanTable -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::q_chroma: [u8; 64] -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::q_luma: [u8; 64] -pub j2k_jpeg::adapter::JpegBaselineEncodeTables::sampling: j2k_jpeg::adapter::JpegBaselineSampling -pub j2k_jpeg::adapter::JpegBaselineHuffmanTable::codes: [u16; 256] -pub j2k_jpeg::adapter::JpegBaselineHuffmanTable::lens: [u8; 256] -pub j2k_jpeg::adapter::JpegBaselineSampling::components: u8 -pub j2k_jpeg::adapter::JpegBaselineSampling::h: [u8; 3] -pub j2k_jpeg::adapter::JpegBaselineSampling::max_h: u8 -pub j2k_jpeg::adapter::JpegBaselineSampling::max_v: u8 -pub j2k_jpeg::adapter::JpegBaselineSampling::v: [u8; 3] -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::bit_acc: u64 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::bit_count: u32 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::cb_prev_dc: i32 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::cr_prev_dc: i32 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::entropy_pos: u32 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::mcu_index: u32 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::reserved: u32 -pub j2k_jpeg::adapter::JpegEntropyCheckpointV1::y_prev_dc: i32 -pub j2k_jpeg::adapter::JpegFast420PacketV1::cb_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast420PacketV1::cb_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast420PacketV1::cb_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast420PacketV1::cr_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast420PacketV1::cr_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast420PacketV1::cr_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast420PacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::JpegFast420PacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast420PacketV1::entropy_checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast420PacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::JpegFast420PacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::JpegFast420PacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::JpegFast420PacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast420PacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast420PacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast420PacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast422PacketV1::cb_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast422PacketV1::cb_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast422PacketV1::cb_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast422PacketV1::cr_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast422PacketV1::cr_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast422PacketV1::cr_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast422PacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::JpegFast422PacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast422PacketV1::entropy_checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast422PacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::JpegFast422PacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::JpegFast422PacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::JpegFast422PacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast422PacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast422PacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast422PacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast444PacketV1::cb_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast444PacketV1::cb_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast444PacketV1::cb_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast444PacketV1::cr_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast444PacketV1::cr_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast444PacketV1::cr_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegFast444PacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::JpegFast444PacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast444PacketV1::entropy_checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast444PacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::JpegFast444PacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::JpegFast444PacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::JpegFast444PacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegFast444PacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast444PacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegFast444PacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegGrayPacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::JpegGrayPacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegGrayPacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::JpegGrayPacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::JpegGrayPacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::JpegGrayPacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::JpegGrayPacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegGrayPacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::JpegGrayPacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::JpegHuffmanTable::bits: [u8; 16] -pub j2k_jpeg::adapter::JpegHuffmanTable::values: [u8; 256] -pub j2k_jpeg::adapter::JpegHuffmanTable::values_len: u16 -pub j2k_jpeg::adapter::fast_packet::FastPacketError::Decode(j2k_jpeg::error::JpegError) -pub j2k_jpeg::adapter::fast_packet::FastPacketError::EntropyMarkerUnsupported -pub j2k_jpeg::adapter::fast_packet::FastPacketError::EntropyMarkerUnsupported::marker: u8 -pub j2k_jpeg::adapter::fast_packet::FastPacketError::MissingHuffmanTable -pub j2k_jpeg::adapter::fast_packet::FastPacketError::MissingHuffmanTable::kind: j2k_jpeg::adapter::fast_packet::TableKind -pub j2k_jpeg::adapter::fast_packet::FastPacketError::MissingHuffmanTable::slot: u8 -pub j2k_jpeg::adapter::fast_packet::FastPacketError::MissingQuantTable -pub j2k_jpeg::adapter::fast_packet::FastPacketError::MissingQuantTable::slot: u8 -pub j2k_jpeg::adapter::fast_packet::FastPacketError::MissingScan -pub j2k_jpeg::adapter::fast_packet::FastPacketError::TruncatedEntropy -pub j2k_jpeg::adapter::fast_packet::FastPacketError::UnsupportedColorSpace(j2k_jpeg::info::ColorSpace) -pub j2k_jpeg::adapter::fast_packet::FastPacketError::UnsupportedComponentOrder -pub j2k_jpeg::adapter::fast_packet::FastPacketError::UnsupportedSampling -pub j2k_jpeg::adapter::fast_packet::FastPacketError::UnsupportedSof(j2k_jpeg::info::SofKind) -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::bit_acc: u64 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::bit_count: u32 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::cb_prev_dc: i32 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::cr_prev_dc: i32 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::entropy_pos: u32 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::mcu_index: u32 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::reserved: u32 -pub j2k_jpeg::adapter::fast_packet::JpegEntropyCheckpointV1::y_prev_dc: i32 -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::cb_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::cb_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::cb_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::cr_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::cr_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::cr_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::entropy_checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast420PacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::cb_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::cb_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::cb_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::cr_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::cr_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::cr_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::entropy_checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast422PacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::cb_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::cb_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::cb_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::cr_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::cr_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::cr_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::entropy_checkpoints: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegFast444PacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::dimensions: (u32, u32) -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::entropy_bytes: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::mcu_rows: u32 -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::mcus_per_row: u32 -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::restart_interval_mcus: u32 -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::restart_offsets: alloc::vec::Vec -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::y_ac_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::y_dc_table: j2k_jpeg::adapter::fast_packet::JpegHuffmanTable -pub j2k_jpeg::adapter::fast_packet::JpegGrayPacketV1::y_quant: [u16; 64] -pub j2k_jpeg::adapter::fast_packet::JpegHuffmanTable::bits: [u8; 16] -pub j2k_jpeg::adapter::fast_packet::JpegHuffmanTable::values: [u8; 256] -pub j2k_jpeg::adapter::fast_packet::JpegHuffmanTable::values_len: u16 -pub j2k_jpeg::adapter::fast_packet::TableKind::Ac -pub j2k_jpeg::adapter::fast_packet::TableKind::Dc -pub j2k_jpeg::capabilities::JpegBackendEligibility::eligible: bool -pub j2k_jpeg::capabilities::JpegBackendEligibility::reason: core::option::Option<&'static str> -pub j2k_jpeg::capabilities::JpegCapabilityReport::cpu: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg::capabilities::JpegCapabilityReport::device: j2k_jpeg::adapter::DeviceBatchSummary -pub j2k_jpeg::capabilities::JpegCapabilityReport::info: j2k_jpeg::info::Info -pub j2k_jpeg::capabilities::JpegCapabilityReport::metal_fast: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg::capabilities::JpegCapabilityReport::owned_cuda: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg::capabilities::JpegCapabilityReport::request: j2k_jpeg::capabilities::JpegCapabilityRequest -pub j2k_jpeg::capabilities::JpegCapabilityRequest::fmt: j2k_core::pixel::PixelFormat -pub j2k_jpeg::capabilities::JpegCapabilityRequest::op: j2k_jpeg::capabilities::JpegDecodeOp -pub j2k_jpeg::capabilities::JpegDecodeOp::Full -pub j2k_jpeg::capabilities::JpegDecodeOp::Region(j2k_jpeg::info::Rect) -pub j2k_jpeg::capabilities::JpegDecodeOp::RegionScaled -pub j2k_jpeg::capabilities::JpegDecodeOp::RegionScaled::roi: j2k_jpeg::info::Rect -pub j2k_jpeg::capabilities::JpegDecodeOp::RegionScaled::scale: j2k_core::scale::Downscale -pub j2k_jpeg::capabilities::JpegDecodeOp::Scaled(j2k_core::scale::Downscale) -pub j2k_jpeg::capabilities::JpegDecodeRequest::backend: j2k_core::backend::BackendRequest -pub j2k_jpeg::capabilities::JpegDecodeRequest::fmt: j2k_core::pixel::PixelFormat -pub j2k_jpeg::capabilities::JpegDecodeRequest::op: j2k_jpeg::capabilities::JpegDecodeOp -pub j2k_jpeg::capabilities::JpegResolvedDecode::capabilities: j2k_jpeg::capabilities::JpegCapabilityReport -pub j2k_jpeg::capabilities::JpegResolvedDecode::output_rect: j2k_jpeg::info::Rect -pub j2k_jpeg::capabilities::JpegResolvedDecode::path: j2k_jpeg::capabilities::JpegResolvedDecodePath -pub j2k_jpeg::capabilities::JpegResolvedDecode::request: j2k_jpeg::capabilities::JpegDecodeRequest -pub j2k_jpeg::capabilities::JpegResolvedDecodePath::CpuHost -pub j2k_jpeg::capabilities::JpegResolvedDecodePath::MetalFast -pub j2k_jpeg::capabilities::JpegResolvedDecodePath::OwnedCudaRgb8 -pub j2k_jpeg::capabilities::JpegResolvedDecodePath::Rejected -pub j2k_jpeg::capabilities::JpegResolvedDecodePath::Rejected::backend: j2k_core::backend::BackendRequest -pub j2k_jpeg::capabilities::JpegResolvedDecodePath::Rejected::reason: &'static str -pub j2k_jpeg::decoder::DecodeOutcome::decoded: j2k_jpeg::info::Rect -pub j2k_jpeg::decoder::DecodeOutcome::warnings: alloc::vec::Vec -pub j2k_jpeg::decoder::DecodedTile::decoded: j2k_jpeg::info::Rect -pub j2k_jpeg::decoder::DecodedTile::dimensions: (u32, u32) -pub j2k_jpeg::decoder::DecodedTile::warnings: alloc::vec::Vec -pub j2k_jpeg::decoder::PreparedJpegTileJob::input: j2k_jpeg::segment::PreparedJpeg<'i> -pub j2k_jpeg::decoder::PreparedJpegTileJob::options: j2k_jpeg::info::DecodeOptions -pub j2k_jpeg::decoder::PreparedJpegTileJob::out: &'o mut [u8] -pub j2k_jpeg::decoder::PreparedJpegTileJob::stride: usize -pub j2k_jpeg::encoder::EncodedJpeg::backend: j2k_jpeg::encoder::JpegBackend -pub j2k_jpeg::encoder::EncodedJpeg::data: alloc::vec::Vec -pub j2k_jpeg::encoder::JpegBackend::Auto -pub j2k_jpeg::encoder::JpegBackend::Cpu -pub j2k_jpeg::encoder::JpegBackend::Metal -pub j2k_jpeg::encoder::JpegEncodeError::DimensionsTooLarge -pub j2k_jpeg::encoder::JpegEncodeError::DimensionsTooLarge::height: u32 -pub j2k_jpeg::encoder::JpegEncodeError::DimensionsTooLarge::width: u32 -pub j2k_jpeg::encoder::JpegEncodeError::EmptyDimensions -pub j2k_jpeg::encoder::JpegEncodeError::IncompatibleSubsampling -pub j2k_jpeg::encoder::JpegEncodeError::IncompatibleSubsampling::samples: &'static str -pub j2k_jpeg::encoder::JpegEncodeError::IncompatibleSubsampling::subsampling: j2k_jpeg::encoder::JpegSubsampling -pub j2k_jpeg::encoder::JpegEncodeError::Internal(alloc::string::String) -pub j2k_jpeg::encoder::JpegEncodeError::InvalidRestartInterval -pub j2k_jpeg::encoder::JpegEncodeError::MissingHuffmanCode -pub j2k_jpeg::encoder::JpegEncodeError::MissingHuffmanCode::symbol: u8 -pub j2k_jpeg::encoder::JpegEncodeError::SampleLength -pub j2k_jpeg::encoder::JpegEncodeError::SampleLength::actual: usize -pub j2k_jpeg::encoder::JpegEncodeError::SampleLength::expected: usize -pub j2k_jpeg::encoder::JpegEncodeError::SegmentTooLarge -pub j2k_jpeg::encoder::JpegEncodeError::SegmentTooLarge::name: &'static str -pub j2k_jpeg::encoder::JpegEncodeError::UnsupportedBackend -pub j2k_jpeg::encoder::JpegEncodeError::UnsupportedBackend::backend: j2k_jpeg::encoder::JpegBackend -pub j2k_jpeg::encoder::JpegEncodeOptions::backend: j2k_jpeg::encoder::JpegBackend -pub j2k_jpeg::encoder::JpegEncodeOptions::quality: u8 -pub j2k_jpeg::encoder::JpegEncodeOptions::restart_interval: core::option::Option -pub j2k_jpeg::encoder::JpegEncodeOptions::subsampling: j2k_jpeg::encoder::JpegSubsampling -pub j2k_jpeg::encoder::JpegSamples::Gray8 -pub j2k_jpeg::encoder::JpegSamples::Gray8::data: &'a [u8] -pub j2k_jpeg::encoder::JpegSamples::Gray8::height: u32 -pub j2k_jpeg::encoder::JpegSamples::Gray8::width: u32 -pub j2k_jpeg::encoder::JpegSamples::Rgb8 -pub j2k_jpeg::encoder::JpegSamples::Rgb8::data: &'a [u8] -pub j2k_jpeg::encoder::JpegSamples::Rgb8::height: u32 -pub j2k_jpeg::encoder::JpegSamples::Rgb8::width: u32 -pub j2k_jpeg::encoder::JpegSubsampling::Gray -pub j2k_jpeg::encoder::JpegSubsampling::Ybr420 -pub j2k_jpeg::encoder::JpegSubsampling::Ybr422 -pub j2k_jpeg::encoder::JpegSubsampling::Ybr444 -pub j2k_jpeg::error::BuilderConflictReason::InputAndScanFragments -pub j2k_jpeg::error::BuilderConflictReason::NoInput -pub j2k_jpeg::error::BuilderConflictReason::ScanFragmentsEmpty -pub j2k_jpeg::error::HuffmanFailure::CodeOverflow -pub j2k_jpeg::error::HuffmanFailure::InvalidSymbol -pub j2k_jpeg::error::HuffmanFailure::TableExhausted -pub j2k_jpeg::error::JpegError::BuilderConflict -pub j2k_jpeg::error::JpegError::BuilderConflict::reason: j2k_jpeg::error::BuilderConflictReason -pub j2k_jpeg::error::JpegError::CoefficientOverflow -pub j2k_jpeg::error::JpegError::CoefficientOverflow::component: u8 -pub j2k_jpeg::error::JpegError::CoefficientOverflow::mcu: u32 -pub j2k_jpeg::error::JpegError::ConflictingDri -pub j2k_jpeg::error::JpegError::ConflictingDri::existing: u16 -pub j2k_jpeg::error::JpegError::ConflictingDri::new: u16 -pub j2k_jpeg::error::JpegError::ConflictingDri::offset: usize -pub j2k_jpeg::error::JpegError::ConflictingDuplicateTable -pub j2k_jpeg::error::JpegError::ConflictingDuplicateTable::id: u8 -pub j2k_jpeg::error::JpegError::ConflictingDuplicateTable::offset: usize -pub j2k_jpeg::error::JpegError::ConflictingDuplicateTable::table: j2k_jpeg::error::TableKind -pub j2k_jpeg::error::JpegError::ConflictingExpectedDimensions -pub j2k_jpeg::error::JpegError::ConflictingExpectedDimensions::actual: (u16, u16) -pub j2k_jpeg::error::JpegError::ConflictingExpectedDimensions::expected: (u16, u16) -pub j2k_jpeg::error::JpegError::ConflictingExpectedDimensions::offset: usize -pub j2k_jpeg::error::JpegError::DimensionOverflow -pub j2k_jpeg::error::JpegError::DimensionOverflow::height: u32 -pub j2k_jpeg::error::JpegError::DimensionOverflow::width: u32 -pub j2k_jpeg::error::JpegError::DownscaleUnsupported -pub j2k_jpeg::error::JpegError::DownscaleUnsupported::sof: j2k_jpeg::info::SofKind -pub j2k_jpeg::error::JpegError::DuplicateMarker -pub j2k_jpeg::error::JpegError::DuplicateMarker::marker: j2k_jpeg::error::MarkerKind -pub j2k_jpeg::error::JpegError::DuplicateMarker::offset: usize -pub j2k_jpeg::error::JpegError::DuplicateScanComponent -pub j2k_jpeg::error::JpegError::DuplicateScanComponent::component: u8 -pub j2k_jpeg::error::JpegError::DuplicateScanComponent::offset: usize -pub j2k_jpeg::error::JpegError::ExpectedDimensionsRequired -pub j2k_jpeg::error::JpegError::ExpectedDimensionsRequired::offset: usize -pub j2k_jpeg::error::JpegError::HuffmanDecode -pub j2k_jpeg::error::JpegError::HuffmanDecode::mcu: u32 -pub j2k_jpeg::error::JpegError::HuffmanDecode::reason: j2k_jpeg::error::HuffmanFailure -pub j2k_jpeg::error::JpegError::InvalidJpegAssembly -pub j2k_jpeg::error::JpegError::InvalidJpegAssembly::offset: usize -pub j2k_jpeg::error::JpegError::InvalidJpegAssembly::reason: &'static str -pub j2k_jpeg::error::JpegError::InvalidMarker -pub j2k_jpeg::error::JpegError::InvalidMarker::marker: u8 -pub j2k_jpeg::error::JpegError::InvalidMarker::offset: usize -pub j2k_jpeg::error::JpegError::InvalidSampling -pub j2k_jpeg::error::JpegError::InvalidSampling::component: u8 -pub j2k_jpeg::error::JpegError::InvalidSampling::h: u8 -pub j2k_jpeg::error::JpegError::InvalidSampling::v: u8 -pub j2k_jpeg::error::JpegError::InvalidScanParameters -pub j2k_jpeg::error::JpegError::InvalidScanParameters::ah: u8 -pub j2k_jpeg::error::JpegError::InvalidScanParameters::al: u8 -pub j2k_jpeg::error::JpegError::InvalidScanParameters::offset: usize -pub j2k_jpeg::error::JpegError::InvalidScanParameters::se: u8 -pub j2k_jpeg::error::JpegError::InvalidScanParameters::ss: u8 -pub j2k_jpeg::error::JpegError::InvalidSegmentLength -pub j2k_jpeg::error::JpegError::InvalidSegmentLength::length: u16 -pub j2k_jpeg::error::JpegError::InvalidSegmentLength::marker: u8 -pub j2k_jpeg::error::JpegError::InvalidSegmentLength::offset: usize -pub j2k_jpeg::error::JpegError::InvalidSequentialComponentSet -pub j2k_jpeg::error::JpegError::InvalidSequentialComponentSet::expected: u8 -pub j2k_jpeg::error::JpegError::InvalidSequentialComponentSet::found: u8 -pub j2k_jpeg::error::JpegError::InvalidSequentialComponentSet::offset: usize -pub j2k_jpeg::error::JpegError::InvalidSequentialScanCount -pub j2k_jpeg::error::JpegError::InvalidSequentialScanCount::count: u16 -pub j2k_jpeg::error::JpegError::InvalidSequentialScanCount::sof: j2k_jpeg::info::SofKind -pub j2k_jpeg::error::JpegError::InvalidStride -pub j2k_jpeg::error::JpegError::InvalidStride::row: usize -pub j2k_jpeg::error::JpegError::InvalidStride::stride: usize -pub j2k_jpeg::error::JpegError::MemoryCapExceeded -pub j2k_jpeg::error::JpegError::MemoryCapExceeded::cap: usize -pub j2k_jpeg::error::JpegError::MemoryCapExceeded::requested: usize -pub j2k_jpeg::error::JpegError::MissingHuffmanTable -pub j2k_jpeg::error::JpegError::MissingHuffmanTable::class: u8 -pub j2k_jpeg::error::JpegError::MissingHuffmanTable::component: u8 -pub j2k_jpeg::error::JpegError::MissingHuffmanTable::id: u8 -pub j2k_jpeg::error::JpegError::MissingMarker -pub j2k_jpeg::error::JpegError::MissingMarker::marker: j2k_jpeg::error::MarkerKind -pub j2k_jpeg::error::JpegError::MissingQuantTable -pub j2k_jpeg::error::JpegError::MissingQuantTable::component: u8 -pub j2k_jpeg::error::JpegError::MissingQuantTable::table_id: u8 -pub j2k_jpeg::error::JpegError::NotImplemented -pub j2k_jpeg::error::JpegError::NotImplemented::sof: j2k_jpeg::info::SofKind -pub j2k_jpeg::error::JpegError::OutputBufferTooSmall -pub j2k_jpeg::error::JpegError::OutputBufferTooSmall::provided: usize -pub j2k_jpeg::error::JpegError::OutputBufferTooSmall::required: usize -pub j2k_jpeg::error::JpegError::RectOutOfBounds -pub j2k_jpeg::error::JpegError::RectOutOfBounds::height: u32 -pub j2k_jpeg::error::JpegError::RectOutOfBounds::rect: j2k_jpeg::info::Rect -pub j2k_jpeg::error::JpegError::RectOutOfBounds::width: u32 -pub j2k_jpeg::error::JpegError::RestartMismatch -pub j2k_jpeg::error::JpegError::RestartMismatch::expected: u8 -pub j2k_jpeg::error::JpegError::RestartMismatch::found: u8 -pub j2k_jpeg::error::JpegError::RestartMismatch::offset: usize -pub j2k_jpeg::error::JpegError::RowSinkAborted -pub j2k_jpeg::error::JpegError::ScanFragmentsOverlap -pub j2k_jpeg::error::JpegError::ScanFragmentsOverlap::mcu: u32 -pub j2k_jpeg::error::JpegError::Truncated -pub j2k_jpeg::error::JpegError::Truncated::expected: usize -pub j2k_jpeg::error::JpegError::Truncated::offset: usize -pub j2k_jpeg::error::JpegError::UnexpectedEoi -pub j2k_jpeg::error::JpegError::UnexpectedEoi::mcu_at: u32 -pub j2k_jpeg::error::JpegError::UnexpectedEoi::mcu_total: u32 -pub j2k_jpeg::error::JpegError::UnexpectedMarker -pub j2k_jpeg::error::JpegError::UnexpectedMarker::expected: j2k_jpeg::error::MarkerKind -pub j2k_jpeg::error::JpegError::UnexpectedMarker::found: u8 -pub j2k_jpeg::error::JpegError::UnexpectedMarker::offset: usize -pub j2k_jpeg::error::JpegError::UnknownScanComponent -pub j2k_jpeg::error::JpegError::UnknownScanComponent::component: u8 -pub j2k_jpeg::error::JpegError::UnknownScanComponent::offset: usize -pub j2k_jpeg::error::JpegError::UnsupportedBitDepth -pub j2k_jpeg::error::JpegError::UnsupportedBitDepth::depth: u8 -pub j2k_jpeg::error::JpegError::UnsupportedColorSpace -pub j2k_jpeg::error::JpegError::UnsupportedColorSpace::color_space: j2k_jpeg::info::ColorSpace -pub j2k_jpeg::error::JpegError::UnsupportedComponentCount -pub j2k_jpeg::error::JpegError::UnsupportedComponentCount::count: u8 -pub j2k_jpeg::error::JpegError::UnsupportedPredictor -pub j2k_jpeg::error::JpegError::UnsupportedPredictor::predictor: u8 -pub j2k_jpeg::error::JpegError::UnsupportedSof -pub j2k_jpeg::error::JpegError::UnsupportedSof::marker: u8 -pub j2k_jpeg::error::JpegError::UnsupportedSof::reason: j2k_jpeg::error::UnsupportedReason -pub j2k_jpeg::error::JpegError::ZeroDimension -pub j2k_jpeg::error::JpegError::ZeroDimension::height: u16 -pub j2k_jpeg::error::JpegError::ZeroDimension::width: u16 -pub j2k_jpeg::error::MarkerKind::App14 -pub j2k_jpeg::error::MarkerKind::Dht -pub j2k_jpeg::error::MarkerKind::Dqt -pub j2k_jpeg::error::MarkerKind::Dri -pub j2k_jpeg::error::MarkerKind::Eoi -pub j2k_jpeg::error::MarkerKind::Other(u8) -pub j2k_jpeg::error::MarkerKind::Sof -pub j2k_jpeg::error::MarkerKind::Soi -pub j2k_jpeg::error::MarkerKind::Sos -pub j2k_jpeg::error::TableKind::HuffmanAc -pub j2k_jpeg::error::TableKind::HuffmanDc -pub j2k_jpeg::error::TableKind::Quant -pub j2k_jpeg::error::UnsupportedReason::ArithmeticAndHierarchical -pub j2k_jpeg::error::UnsupportedReason::ArithmeticCoding -pub j2k_jpeg::error::UnsupportedReason::DifferentialBaseline -pub j2k_jpeg::error::UnsupportedReason::Hierarchical -pub j2k_jpeg::error::Warning::AdobeApp14Ambiguous -pub j2k_jpeg::error::Warning::AdobeApp14Ambiguous::raw_transform: u8 -pub j2k_jpeg::error::Warning::IccProfileIgnored -pub j2k_jpeg::error::Warning::IccProfileIgnored::size: usize -pub j2k_jpeg::error::Warning::MissingEoi -pub j2k_jpeg::error::Warning::NonstandardTables -pub j2k_jpeg::error::Warning::PrecisionClamped -pub j2k_jpeg::error::Warning::PrecisionClamped::from_bits: u8 -pub j2k_jpeg::error::Warning::PrecisionClamped::to_bits: u8 -pub j2k_jpeg::error::Warning::RestartRecovered -pub j2k_jpeg::error::Warning::RestartRecovered::offset: usize -pub j2k_jpeg::error::Warning::SofDimensionsPatched -pub j2k_jpeg::error::Warning::SofDimensionsPatched::from: (u16, u16) -pub j2k_jpeg::error::Warning::SofDimensionsPatched::to: (u16, u16) -pub j2k_jpeg::error::Warning::TableCacheMismatch -pub j2k_jpeg::error::Warning::TableCacheMismatch::id: u8 -pub j2k_jpeg::error::Warning::TableCacheMismatch::which: j2k_jpeg::error::TableKind -pub j2k_jpeg::error::Warning::UnknownAppMarker -pub j2k_jpeg::error::Warning::UnknownAppMarker::marker: u8 -pub j2k_jpeg::error::Warning::UnknownAppMarker::size: usize -pub j2k_jpeg::error::Warning::UnknownColorProfile -pub j2k_jpeg::info::ColorSpace::Cmyk -pub j2k_jpeg::info::ColorSpace::Grayscale -pub j2k_jpeg::info::ColorSpace::Rgb -pub j2k_jpeg::info::ColorSpace::YCbCr -pub j2k_jpeg::info::ColorSpace::Ycck -pub j2k_jpeg::info::ColorTransform::Auto -pub j2k_jpeg::info::ColorTransform::ForceRgb -pub j2k_jpeg::info::ColorTransform::ForceYCbCr -pub j2k_jpeg::info::Info::bit_depth: u8 -pub j2k_jpeg::info::Info::color_space: j2k_jpeg::info::ColorSpace -pub j2k_jpeg::info::Info::dimensions: (u32, u32) -pub j2k_jpeg::info::Info::mcu_geometry: j2k_jpeg::info::McuGeometry -pub j2k_jpeg::info::Info::restart_interval: core::option::Option -pub j2k_jpeg::info::Info::sampling: j2k_jpeg::info::SamplingFactors -pub j2k_jpeg::info::Info::scan_count: u16 -pub j2k_jpeg::info::Info::sof_kind: j2k_jpeg::info::SofKind -pub j2k_jpeg::info::McuGeometry::columns: u32 -pub j2k_jpeg::info::McuGeometry::count: u32 -pub j2k_jpeg::info::McuGeometry::height: u32 -pub j2k_jpeg::info::McuGeometry::rows: u32 -pub j2k_jpeg::info::McuGeometry::width: u32 -pub j2k_jpeg::info::Rect::h: u32 -pub j2k_jpeg::info::Rect::w: u32 -pub j2k_jpeg::info::Rect::x: u32 -pub j2k_jpeg::info::Rect::y: u32 -pub j2k_jpeg::info::RestartIndex::interval_mcus: u32 -pub j2k_jpeg::info::RestartIndex::scan_data_offset: usize -pub j2k_jpeg::info::RestartIndex::segments: alloc::vec::Vec -pub j2k_jpeg::info::RestartSegment::entropy_offset: usize -pub j2k_jpeg::info::RestartSegment::marker: core::option::Option -pub j2k_jpeg::info::RestartSegment::marker_offset: core::option::Option -pub j2k_jpeg::info::RestartSegment::start_mcu: u32 -pub j2k_jpeg::info::SamplingFactors::max_h: u8 -pub j2k_jpeg::info::SamplingFactors::max_v: u8 -pub j2k_jpeg::info::SamplingFactorsError::Empty -pub j2k_jpeg::info::SamplingFactorsError::InvalidSampling -pub j2k_jpeg::info::SamplingFactorsError::InvalidSampling::component: usize -pub j2k_jpeg::info::SamplingFactorsError::InvalidSampling::h: u8 -pub j2k_jpeg::info::SamplingFactorsError::InvalidSampling::v: u8 -pub j2k_jpeg::info::SamplingFactorsError::TooManyComponents -pub j2k_jpeg::info::SamplingFactorsError::TooManyComponents::count: usize -pub j2k_jpeg::info::SofKind::Baseline8 -pub j2k_jpeg::info::SofKind::Extended12 -pub j2k_jpeg::info::SofKind::Extended8 -pub j2k_jpeg::info::SofKind::Lossless -pub j2k_jpeg::info::SofKind::Progressive12 -pub j2k_jpeg::info::SofKind::Progressive8 -pub j2k_jpeg::segment::DuplicateTablePolicy::AllowIdentical -pub j2k_jpeg::segment::DuplicateTablePolicy::RejectConflicting -pub j2k_jpeg::segment::JpegScanRanges::entropy_range: core::ops::range::Range -pub j2k_jpeg::segment::JpegScanRanges::eoi_marker_offset: core::option::Option -pub j2k_jpeg::segment::JpegScanRanges::sos_marker_offset: usize -pub j2k_jpeg::segment::JpegScanRanges::sos_payload_range: core::ops::range::Range -pub j2k_jpeg::segment::JpegSegment::marker: u8 -pub j2k_jpeg::segment::JpegSegment::marker_offset: usize -pub j2k_jpeg::segment::JpegSegment::payload: &'a [u8] -pub j2k_jpeg::segment::JpegSegment::payload_offset: usize -pub j2k_jpeg::segment::JpegSofInfo::bit_depth: u8 -pub j2k_jpeg::segment::JpegSofInfo::component_ids: alloc::vec::Vec -pub j2k_jpeg::segment::JpegSofInfo::dimensions: (u16, u16) -pub j2k_jpeg::segment::JpegSofInfo::marker: u8 -pub j2k_jpeg::segment::JpegSofInfo::quant_table_ids: alloc::vec::Vec -pub j2k_jpeg::segment::JpegSofInfo::sampling: j2k_jpeg::info::SamplingFactors -pub j2k_jpeg::segment::JpegSofInfo::sof_kind: j2k_jpeg::info::SofKind -pub j2k_jpeg::segment::JpegTilePrepareOptions::duplicate_table_policy: j2k_jpeg::segment::DuplicateTablePolicy -pub j2k_jpeg::segment::JpegTilePrepareOptions::expected_dimensions: core::option::Option<(u16, u16)> -pub j2k_jpeg::segment::JpegTilePrepareOptions::repair_zero_sof_dimensions: bool -pub j2k_jpeg::segment::JpegTilePrepareOptions::validate_restart_markers: bool -pub j2k_jpeg::segment::PreparedJpeg::Borrowed(&'a [u8]) -pub j2k_jpeg::segment::PreparedJpeg::Owned(alloc::vec::Vec) -pub j2k_jpeg::transcode::DctExtractOptions::retain_quantized_blocks: bool -pub j2k_jpeg::transcode::JpegDctCodingMode::BaselineSequential -pub j2k_jpeg::transcode::JpegDctCodingMode::Progressive -pub j2k_jpeg::transcode::JpegDctComponent::block_cols: u32 -pub j2k_jpeg::transcode::JpegDctComponent::block_rows: u32 -pub j2k_jpeg::transcode::JpegDctComponent::component_index: usize -pub j2k_jpeg::transcode::JpegDctComponent::dequantized_blocks: alloc::vec::Vec<[i16; 64]> -pub j2k_jpeg::transcode::JpegDctComponent::h_samp: u8 -pub j2k_jpeg::transcode::JpegDctComponent::height: u32 -pub j2k_jpeg::transcode::JpegDctComponent::quant_table: [u16; 64] -pub j2k_jpeg::transcode::JpegDctComponent::quantized_blocks: alloc::vec::Vec<[i16; 64]> -pub j2k_jpeg::transcode::JpegDctComponent::v_samp: u8 -pub j2k_jpeg::transcode::JpegDctComponent::width: u32 -pub j2k_jpeg::transcode::JpegDctImage::coding_mode: j2k_jpeg::transcode::JpegDctCodingMode -pub j2k_jpeg::transcode::JpegDctImage::color_space: j2k_jpeg::info::ColorSpace -pub j2k_jpeg::transcode::JpegDctImage::components: alloc::vec::Vec -pub j2k_jpeg::transcode::JpegDctImage::height: u32 -pub j2k_jpeg::transcode::JpegDctImage::restart_index: core::option::Option -pub j2k_jpeg::transcode::JpegDctImage::scan_count: u16 -pub j2k_jpeg::transcode::JpegDctImage::width: u32 -pub mod j2k_jpeg::adapter -pub mod j2k_jpeg::adapter::fast_packet -pub mod j2k_jpeg::batch_session -pub mod j2k_jpeg::capabilities -pub mod j2k_jpeg::context -pub mod j2k_jpeg::decoder -pub mod j2k_jpeg::encoder -pub mod j2k_jpeg::error -pub mod j2k_jpeg::info -pub mod j2k_jpeg::output_buffer -pub mod j2k_jpeg::segment -pub mod j2k_jpeg::transcode -pub struct j2k_jpeg::adapter::DeviceBatchSummary -pub struct j2k_jpeg::adapter::DeviceCheckpoint -pub struct j2k_jpeg::adapter::DeviceComponentPlan -pub struct j2k_jpeg::adapter::DeviceDecodePlan<'a> -pub struct j2k_jpeg::adapter::JpegBaselineEncodeTables -pub struct j2k_jpeg::adapter::JpegBaselineHuffmanTable -pub struct j2k_jpeg::adapter::JpegBaselineSampling -pub struct j2k_jpeg::batch_session::JpegBatchSession -pub struct j2k_jpeg::capabilities::JpegBackendEligibility -pub struct j2k_jpeg::capabilities::JpegCapabilityReport -pub struct j2k_jpeg::capabilities::JpegCapabilityRequest -pub struct j2k_jpeg::capabilities::JpegDecodeRequest -pub struct j2k_jpeg::capabilities::JpegResolvedDecode -pub struct j2k_jpeg::context::DecoderContext -pub struct j2k_jpeg::decoder::DecodeOutcome -pub struct j2k_jpeg::decoder::DecodedTile -pub struct j2k_jpeg::decoder::Decoder<'a> -pub struct j2k_jpeg::decoder::JpegView<'a> -pub struct j2k_jpeg::decoder::PreparedJpegTileJob<'i, 'o> -pub struct j2k_jpeg::encoder::EncodedJpeg -pub struct j2k_jpeg::encoder::JpegEncodeOptions -pub struct j2k_jpeg::info::DecodeOptions -pub struct j2k_jpeg::info::Info -pub struct j2k_jpeg::info::McuGeometry -pub struct j2k_jpeg::info::Rect -pub struct j2k_jpeg::info::RestartIndex -pub struct j2k_jpeg::info::RestartSegment -pub struct j2k_jpeg::info::SamplingFactors -pub struct j2k_jpeg::output_buffer::JpegOutputBuffer -pub struct j2k_jpeg::segment::JpegScanRanges -pub struct j2k_jpeg::segment::JpegSegment<'a> -pub struct j2k_jpeg::segment::JpegSegmentIter<'a> -pub struct j2k_jpeg::segment::JpegSofInfo -pub struct j2k_jpeg::segment::JpegTilePrepareOptions -pub struct j2k_jpeg::transcode::JpegDctComponent -pub struct j2k_jpeg::transcode::JpegDctImage -pub trait j2k_jpeg::decoder::ComponentRowWriter -pub type j2k_jpeg::JpegCodec::Context = j2k_jpeg::context::DecoderContext -pub type j2k_jpeg::JpegCodec::Error = j2k_jpeg::error::JpegError -pub type j2k_jpeg::JpegCodec::Pool = j2k_jpeg::ScratchPool -pub type j2k_jpeg::JpegCodec::Warning = j2k_jpeg::error::Warning -pub type j2k_jpeg::TileBatchError = j2k_core::batch::TileBatchError -pub type j2k_jpeg::decoder::Decoder<'_>::Error = j2k_jpeg::error::JpegError -pub type j2k_jpeg::decoder::Decoder<'_>::Pool = j2k_jpeg::ScratchPool -pub type j2k_jpeg::decoder::Decoder<'_>::Warning = j2k_jpeg::error::Warning -pub type j2k_jpeg::decoder::Decoder<'a>::View = j2k_jpeg::decoder::JpegView<'a> -pub type j2k_jpeg::decoder::TileBatchError = j2k_core::batch::TileBatchError -pub type j2k_jpeg::decoder::TileDecodeJob<'i, 'o> = j2k_core::batch::TileDecodeJob<'i, 'o> -pub type j2k_jpeg::decoder::TileRegionScaledDecodeJob<'i, 'o> = j2k_core::batch::TileRegionScaledDecodeJob<'i, 'o> -pub type j2k_jpeg::decoder::TileScaledDecodeJob<'i, 'o> = j2k_core::batch::TileScaledDecodeJob<'i, 'o> -pub type j2k_jpeg::segment::JpegSegmentIter<'a>::Item = core::result::Result, j2k_jpeg::error::JpegError> -pub use j2k_jpeg::decoder::TileBatchOptions -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_jpeg::ProgressiveScanStateError -#[non_exhaustive] pub enum j2k_jpeg::ProgressiveScanTerminationError -impl core::convert::AsRef<[u8]> for j2k_jpeg::PreparedJpeg<'_> -impl core::convert::From for j2k_jpeg::Rect -impl core::convert::From for j2k_core::types::DecodeOutcome -impl core::convert::From for j2k_core::types::Rect -impl core::default::Default for j2k_jpeg::DecodeOptions -impl core::default::Default for j2k_jpeg::JpegBatchSession -impl core::default::Default for j2k_jpeg::JpegEncodeOptions -impl core::default::Default for j2k_jpeg::JpegTilePrepareOptions -impl core::fmt::Display for j2k_jpeg::ProgressiveScanStateError -impl core::fmt::Display for j2k_jpeg::ProgressiveScanTerminationError -impl core::fmt::Display for j2k_jpeg::Warning -impl j2k_jpeg::DecodeOptions -impl j2k_jpeg::DecodeRequest -impl j2k_jpeg::Decoder<'_> -impl j2k_jpeg::DecoderContext -impl j2k_jpeg::Info -impl j2k_jpeg::JpegBatchSession -impl j2k_jpeg::JpegCapabilityReport -impl j2k_jpeg::JpegDecodeRequest -impl j2k_jpeg::JpegError -impl j2k_jpeg::JpegOutputBuffer -impl j2k_jpeg::JpegResolvedDecode -impl j2k_jpeg::PreparedJpeg<'_> -impl j2k_jpeg::Rect -impl j2k_jpeg::SamplingFactors -impl<'a> core::iter::traits::iterator::Iterator for j2k_jpeg::JpegSegmentIter<'a> -impl<'a> j2k_jpeg::Decoder<'a> -impl<'a> j2k_jpeg::JpegView<'a> -pub const fn j2k_jpeg::DecodeRequest::full(j2k_core::pixel::PixelFormat) -> Self -pub const fn j2k_jpeg::DecodeRequest::region(j2k_core::pixel::PixelFormat, j2k_jpeg::Rect) -> Self -pub const fn j2k_jpeg::DecodeRequest::region_scaled(j2k_core::pixel::PixelFormat, j2k_jpeg::Rect, j2k_core::scale::Downscale) -> Self -pub const fn j2k_jpeg::DecodeRequest::scaled(j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> Self -pub const fn j2k_jpeg::JpegDecodeRequest::capability(self) -> j2k_jpeg::JpegCapabilityRequest -pub fn j2k_core::types::DecodeOutcome::from(j2k_jpeg::DecodeOutcome) -> Self -pub fn j2k_core::types::Rect::from(j2k_jpeg::Rect) -> Self -pub fn j2k_jpeg::ComponentRowWriter::write_gray_row(&mut self, u32, &[u8]) -> core::result::Result<(), j2k_jpeg::JpegError> -pub fn j2k_jpeg::ComponentRowWriter::write_rgb_row(&mut self, u32, &[u8], &[u8], &[u8]) -> core::result::Result<(), j2k_jpeg::JpegError> -pub fn j2k_jpeg::ComponentRowWriter::write_ycbcr_row(&mut self, u32, &[u8], &[u8], &[u8]) -> core::result::Result<(), j2k_jpeg::JpegError> -pub fn j2k_jpeg::DecodeOptions::color_transform(&self) -> j2k_jpeg::ColorTransform -pub fn j2k_jpeg::DecodeOptions::default() -> Self -pub fn j2k_jpeg::DecodeOptions::set_color_transform(&mut self, j2k_jpeg::ColorTransform) -pub fn j2k_jpeg::DecodeOptions::with_color_transform(self, j2k_jpeg::ColorTransform) -> Self -pub fn j2k_jpeg::Decoder<'_>::decode_component_rows_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut W) -> core::result::Result where W: j2k_jpeg::ComponentRowWriter -pub fn j2k_jpeg::Decoder<'_>::decode_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::Decoder<'_>::decode_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::Decoder<'_>::decode_region_component_rows_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut W, j2k_jpeg::Rect, j2k_core::scale::Downscale) -> core::result::Result where W: j2k_jpeg::ComponentRowWriter -pub fn j2k_jpeg::Decoder<'_>::decode_region_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::Rect) -> core::result::Result -pub fn j2k_jpeg::Decoder<'_>::decode_region_scaled_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::Decoder<'_>::decode_region_scaled_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_jpeg::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::Decoder<'_>::decode_request(&self, j2k_jpeg::DecodeRequest) -> core::result::Result<(alloc::vec::Vec, j2k_jpeg::DecodeOutcome), j2k_jpeg::JpegError> -pub fn j2k_jpeg::Decoder<'_>::decode_rows(&self, &mut S) -> core::result::Result where S: j2k_core::row_sink::RowSink -pub fn j2k_jpeg::Decoder<'_>::decode_rows_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut S) -> core::result::Result where S: j2k_core::row_sink::RowSink -pub fn j2k_jpeg::Decoder<'_>::decode_scaled_into(&self, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::Decoder<'_>::decode_scaled_into_with_scratch(&self, &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_jpeg::Decoder<'a>::from_view(j2k_jpeg::JpegView<'a>) -> core::result::Result -pub fn j2k_jpeg::Decoder<'a>::from_view_in_context(j2k_jpeg::JpegView<'a>, &mut j2k_jpeg::DecoderContext) -> core::result::Result -pub fn j2k_jpeg::Decoder<'a>::info(&self) -> &j2k_jpeg::Info -pub fn j2k_jpeg::Decoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::Decoder<'a>::new(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::DecoderContext::new() -> Self -pub fn j2k_jpeg::Info::to_core_info(&self) -> j2k_core::types::Info -pub fn j2k_jpeg::JpegBatchSession::decode_prepared_jpeg_tiles_rgb8(&mut self, &mut [j2k_jpeg::PreparedJpegTileJob<'_, '_>]) -> core::result::Result>, j2k_core::batch::BatchInfrastructureError> -pub fn j2k_jpeg::JpegBatchSession::decode_tiles_into(&mut self, &mut [j2k_jpeg::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::JpegBatchSession::decode_tiles_into_with_options(&mut self, &mut [j2k_jpeg::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::DecodeOptions) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::JpegBatchSession::decode_tiles_region_scaled_into(&mut self, &mut [j2k_jpeg::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::JpegBatchSession::decode_tiles_region_scaled_into_with_options(&mut self, &mut [j2k_jpeg::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::DecodeOptions) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::JpegBatchSession::decode_tiles_scaled_into(&mut self, &mut [j2k_jpeg::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::JpegBatchSession::decode_tiles_scaled_into_with_options(&mut self, &mut [j2k_jpeg::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_jpeg::DecodeOptions) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::JpegBatchSession::default() -> Self -pub fn j2k_jpeg::JpegBatchSession::new(j2k_core::batch::TileBatchOptions) -> Self -pub fn j2k_jpeg::JpegBatchSession::options(&self) -> j2k_core::batch::TileBatchOptions -pub fn j2k_jpeg::JpegBatchSession::reset(&mut self) -pub fn j2k_jpeg::JpegBatchSession::set_options(&mut self, j2k_core::batch::TileBatchOptions) -pub fn j2k_jpeg::JpegCapabilityReport::for_decoder(&j2k_jpeg::Decoder<'_>, j2k_jpeg::JpegCapabilityRequest) -> Self -pub fn j2k_jpeg::JpegCapabilityReport::inspect(&[u8], j2k_jpeg::JpegCapabilityRequest) -> core::result::Result -pub fn j2k_jpeg::JpegCapabilityReport::metal_resident_rgb8_batch_output(&self) -> j2k_jpeg::JpegBackendEligibility -pub fn j2k_jpeg::JpegCapabilityReport::resolve_path(&self, j2k_core::backend::BackendRequest) -> j2k_jpeg::JpegResolvedDecodePath -pub fn j2k_jpeg::JpegEncodeOptions::default() -> Self -pub fn j2k_jpeg::JpegError::is_api_misuse(&self) -> bool -pub fn j2k_jpeg::JpegError::is_not_implemented(&self) -> bool -pub fn j2k_jpeg::JpegError::is_truncated(&self) -> bool -pub fn j2k_jpeg::JpegError::is_unsupported(&self) -> bool -pub fn j2k_jpeg::JpegError::offset(&self) -> core::option::Option -pub fn j2k_jpeg::JpegOutputBuffer::as_mut_slice(&mut self) -> &mut [u8] -pub fn j2k_jpeg::JpegOutputBuffer::as_slice(&self) -> &[u8] -pub fn j2k_jpeg::JpegOutputBuffer::capacity(&self) -> usize -pub fn j2k_jpeg::JpegOutputBuffer::dimensions(&self) -> (u32, u32) -pub fn j2k_jpeg::JpegOutputBuffer::is_empty(&self) -> bool -pub fn j2k_jpeg::JpegOutputBuffer::len(&self) -> usize -pub fn j2k_jpeg::JpegOutputBuffer::new((u32, u32), j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::JpegOutputBuffer::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_jpeg::JpegOutputBuffer::resize(&mut self, (u32, u32), j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_jpeg::JpegOutputBuffer::resize_with_stride(&mut self, (u32, u32), usize, j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_core::error::BufferError> -pub fn j2k_jpeg::JpegOutputBuffer::stride(&self) -> usize -pub fn j2k_jpeg::JpegOutputBuffer::with_stride((u32, u32), usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::JpegResolvedDecode::from_capabilities(j2k_jpeg::JpegCapabilityReport, j2k_jpeg::JpegDecodeRequest) -> Self -pub fn j2k_jpeg::JpegResolvedDecode::inspect(&[u8], j2k_jpeg::JpegDecodeRequest) -> core::result::Result -pub fn j2k_jpeg::JpegSegmentIter<'a>::next(&mut self) -> core::option::Option -pub fn j2k_jpeg::JpegTilePrepareOptions::default() -> Self -pub fn j2k_jpeg::JpegView<'a>::bytes(&self) -> &'a [u8] -pub fn j2k_jpeg::JpegView<'a>::info(&self) -> &j2k_jpeg::Info -pub fn j2k_jpeg::JpegView<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg::JpegView<'a>::parse_with_options(&'a [u8], j2k_jpeg::DecodeOptions) -> core::result::Result -pub fn j2k_jpeg::JpegView<'a>::passthrough_candidate(&self) -> core::option::Option> -pub fn j2k_jpeg::JpegView<'a>::restart_index(&self) -> core::result::Result, j2k_jpeg::JpegError> -pub fn j2k_jpeg::PreparedJpeg<'_>::as_bytes(&self) -> &[u8] -pub fn j2k_jpeg::PreparedJpeg<'_>::as_ref(&self) -> &[u8] -pub fn j2k_jpeg::PreparedJpeg<'_>::try_clone(&self) -> core::result::Result -pub fn j2k_jpeg::ProgressiveScanStateError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_jpeg::ProgressiveScanTerminationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_jpeg::Rect::from(j2k_core::types::Rect) -> Self -pub fn j2k_jpeg::Rect::full((u32, u32)) -> Self -pub fn j2k_jpeg::Rect::is_within(&self, (u32, u32)) -> bool -pub fn j2k_jpeg::SamplingFactors::component(&self, usize) -> core::option::Option<(u8, u8)> -pub fn j2k_jpeg::SamplingFactors::components(&self) -> &[(u8, u8)] -pub fn j2k_jpeg::SamplingFactors::from_components(&[(u8, u8)]) -> core::result::Result -pub fn j2k_jpeg::SamplingFactors::is_empty(&self) -> bool -pub fn j2k_jpeg::SamplingFactors::len(&self) -> usize -pub fn j2k_jpeg::Warning::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_jpeg::decode_prepared_jpeg_tiles_rgb8(&mut [j2k_jpeg::PreparedJpegTileJob<'_, '_>]) -> core::result::Result>, j2k_jpeg::PreparedTileBatchError> -pub fn j2k_jpeg::decode_tile_into(&[u8], &mut j2k_jpeg::ScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_jpeg::decode_tiles_into(&mut [j2k_jpeg::TileDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::decode_tiles_region_scaled_into(&mut [j2k_jpeg::TileRegionScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::decode_tiles_scaled_into(&mut [j2k_jpeg::TileScaledDecodeJob<'_, '_>], j2k_core::pixel::PixelFormat, j2k_core::batch::TileBatchOptions) -> core::result::Result, j2k_jpeg::TileBatchError> -pub fn j2k_jpeg::encode_jpeg_baseline(j2k_jpeg::JpegSamples<'_>, j2k_jpeg::JpegEncodeOptions) -> core::result::Result -pub fn j2k_jpeg::find_scan_ranges(&[u8]) -> core::result::Result -pub fn j2k_jpeg::iter_segments(&[u8]) -> j2k_jpeg::JpegSegmentIter<'_> -pub fn j2k_jpeg::parse_dri(&[u8]) -> core::result::Result, j2k_jpeg::JpegError> -pub fn j2k_jpeg::parse_sof_info(u8, &[u8]) -> core::result::Result -pub fn j2k_jpeg::prepare_tiff_jpeg_tile<'a>(&'a [u8], core::option::Option<&'a [u8]>, j2k_jpeg::JpegTilePrepareOptions) -> core::result::Result, j2k_jpeg::JpegError> -pub fn j2k_jpeg::rewrite_sof_dimensions(&[u8], (u16, u16)) -> core::result::Result, j2k_jpeg::JpegError> -pub j2k_jpeg::DecodeOutcome::decoded: j2k_jpeg::Rect -pub j2k_jpeg::DecodeOutcome::warnings: alloc::vec::Vec -pub j2k_jpeg::DecodeRequest::fmt: j2k_core::pixel::PixelFormat -pub j2k_jpeg::DecodeRequest::region: core::option::Option -pub j2k_jpeg::DecodeRequest::scale: j2k_core::scale::Downscale -pub j2k_jpeg::DecodedTile::decoded: j2k_jpeg::Rect -pub j2k_jpeg::DecodedTile::warnings: alloc::vec::Vec -pub j2k_jpeg::EncodedJpeg::backend: j2k_jpeg::JpegBackend -pub j2k_jpeg::Info::color_space: j2k_jpeg::ColorSpace -pub j2k_jpeg::Info::mcu_geometry: j2k_jpeg::McuGeometry -pub j2k_jpeg::Info::sampling: j2k_jpeg::SamplingFactors -pub j2k_jpeg::Info::sof_kind: j2k_jpeg::SofKind -pub j2k_jpeg::JpegBackend::Cuda -pub j2k_jpeg::JpegCapabilityReport::cpu: j2k_jpeg::JpegBackendEligibility -pub j2k_jpeg::JpegCapabilityReport::device: crate::DeviceBatchSummary -pub j2k_jpeg::JpegCapabilityReport::info: j2k_jpeg::Info -pub j2k_jpeg::JpegCapabilityReport::metal_fast: j2k_jpeg::JpegBackendEligibility -pub j2k_jpeg::JpegCapabilityReport::owned_cuda: j2k_jpeg::JpegBackendEligibility -pub j2k_jpeg::JpegCapabilityReport::request: j2k_jpeg::JpegCapabilityRequest -pub j2k_jpeg::JpegCapabilityRequest::op: j2k_jpeg::JpegDecodeOp -pub j2k_jpeg::JpegDecodeOp::Region(j2k_jpeg::Rect) -pub j2k_jpeg::JpegDecodeOp::RegionScaled::roi: j2k_jpeg::Rect -pub j2k_jpeg::JpegDecodeRequest::op: j2k_jpeg::JpegDecodeOp -pub j2k_jpeg::JpegEncodeError::HostAllocationFailed -pub j2k_jpeg::JpegEncodeError::HostAllocationFailed::bytes: usize -pub j2k_jpeg::JpegEncodeError::IncompatibleSubsampling::subsampling: j2k_jpeg::JpegSubsampling -pub j2k_jpeg::JpegEncodeError::InternalInvariant -pub j2k_jpeg::JpegEncodeError::InternalInvariant::reason: &'static str -pub j2k_jpeg::JpegEncodeError::InvalidDctImage -pub j2k_jpeg::JpegEncodeError::InvalidDctImage::reason: j2k_jpeg::dct_contract::JpegDctImageError -pub j2k_jpeg::JpegEncodeError::MemoryCapExceeded -pub j2k_jpeg::JpegEncodeError::MemoryCapExceeded::cap: usize -pub j2k_jpeg::JpegEncodeError::MemoryCapExceeded::requested: usize -pub j2k_jpeg::JpegEncodeError::UnsupportedBackend::backend: j2k_jpeg::JpegBackend -pub j2k_jpeg::JpegEncodeOptions::backend: j2k_jpeg::JpegBackend -pub j2k_jpeg::JpegEncodeOptions::subsampling: j2k_jpeg::JpegSubsampling -pub j2k_jpeg::JpegError::BuilderConflict::reason: j2k_jpeg::BuilderConflictReason -pub j2k_jpeg::JpegError::ConflictingDuplicateTable::table: j2k_jpeg::TableKind -pub j2k_jpeg::JpegError::DownscaleUnsupported::sof: j2k_jpeg::SofKind -pub j2k_jpeg::JpegError::DuplicateMarker::marker: j2k_jpeg::MarkerKind -pub j2k_jpeg::JpegError::HostAllocationFailed -pub j2k_jpeg::JpegError::HostAllocationFailed::bytes: usize -pub j2k_jpeg::JpegError::HuffmanDecode::reason: j2k_jpeg::HuffmanFailure -pub j2k_jpeg::JpegError::InternalInvariant -pub j2k_jpeg::JpegError::InternalInvariant::reason: &'static str -pub j2k_jpeg::JpegError::InvalidProgressiveScanState -pub j2k_jpeg::JpegError::InvalidProgressiveScanState::coefficient: u8 -pub j2k_jpeg::JpegError::InvalidProgressiveScanState::component: u8 -pub j2k_jpeg::JpegError::InvalidProgressiveScanState::marker: u8 -pub j2k_jpeg::JpegError::InvalidProgressiveScanState::offset: usize -pub j2k_jpeg::JpegError::InvalidProgressiveScanState::state: j2k_jpeg::ProgressiveScanStateError -pub j2k_jpeg::JpegError::InvalidProgressiveScanTermination -pub j2k_jpeg::JpegError::InvalidProgressiveScanTermination::offset: usize -pub j2k_jpeg::JpegError::InvalidProgressiveScanTermination::scan_offset: usize -pub j2k_jpeg::JpegError::InvalidProgressiveScanTermination::state: j2k_jpeg::ProgressiveScanTerminationError -pub j2k_jpeg::JpegError::InvalidQuantizationValue -pub j2k_jpeg::JpegError::InvalidQuantizationValue::coefficient: u8 -pub j2k_jpeg::JpegError::InvalidQuantizationValue::offset: usize -pub j2k_jpeg::JpegError::InvalidQuantizationValue::table: u8 -pub j2k_jpeg::JpegError::InvalidSequentialScanCount::sof: j2k_jpeg::SofKind -pub j2k_jpeg::JpegError::MissingMarker::marker: j2k_jpeg::MarkerKind -pub j2k_jpeg::JpegError::NotImplemented::sof: j2k_jpeg::SofKind -pub j2k_jpeg::JpegError::ProgressiveQuantTableChanged -pub j2k_jpeg::JpegError::ProgressiveQuantTableChanged::component: u8 -pub j2k_jpeg::JpegError::ProgressiveQuantTableChanged::offset: usize -pub j2k_jpeg::JpegError::ProgressiveQuantTableChanged::table_id: u8 -pub j2k_jpeg::JpegError::RectOutOfBounds::rect: j2k_jpeg::Rect -pub j2k_jpeg::JpegError::UnexpectedMarker::expected: j2k_jpeg::MarkerKind -pub j2k_jpeg::JpegError::UnsupportedColorSpace::color_space: j2k_jpeg::ColorSpace -pub j2k_jpeg::JpegError::UnsupportedSof::reason: j2k_jpeg::UnsupportedReason -pub j2k_jpeg::JpegResolvedDecode::capabilities: j2k_jpeg::JpegCapabilityReport -pub j2k_jpeg::JpegResolvedDecode::output_rect: j2k_jpeg::Rect -pub j2k_jpeg::JpegResolvedDecode::path: j2k_jpeg::JpegResolvedDecodePath -pub j2k_jpeg::JpegResolvedDecode::request: j2k_jpeg::JpegDecodeRequest -pub j2k_jpeg::JpegSofInfo::sampling: j2k_jpeg::SamplingFactors -pub j2k_jpeg::JpegSofInfo::sof_kind: j2k_jpeg::SofKind -pub j2k_jpeg::JpegTilePrepareOptions::duplicate_table_policy: j2k_jpeg::DuplicateTablePolicy -pub j2k_jpeg::PreparedJpegTileJob::input: j2k_jpeg::PreparedJpeg<'i> -pub j2k_jpeg::PreparedJpegTileJob::options: j2k_jpeg::DecodeOptions -pub j2k_jpeg::ProgressiveScanStateError::DuplicateInitial -pub j2k_jpeg::ProgressiveScanStateError::DuplicateInitial::al: u8 -pub j2k_jpeg::ProgressiveScanStateError::DuplicateInitial::previous_al: u8 -pub j2k_jpeg::ProgressiveScanStateError::MissingInitialDc -pub j2k_jpeg::ProgressiveScanStateError::RefinementBeforeInitial -pub j2k_jpeg::ProgressiveScanStateError::RefinementBeforeInitial::ah: u8 -pub j2k_jpeg::ProgressiveScanStateError::RefinementBeforeInitial::al: u8 -pub j2k_jpeg::ProgressiveScanStateError::RefinementMismatch -pub j2k_jpeg::ProgressiveScanStateError::RefinementMismatch::ah: u8 -pub j2k_jpeg::ProgressiveScanStateError::RefinementMismatch::al: u8 -pub j2k_jpeg::ProgressiveScanStateError::RefinementMismatch::previous_al: u8 -pub j2k_jpeg::ProgressiveScanTerminationError::ExcessEntropy -pub j2k_jpeg::ProgressiveScanTerminationError::ExcessEntropy::unread_bits: u8 -pub j2k_jpeg::ProgressiveScanTerminationError::ExcessEntropy::unread_bytes: usize -pub j2k_jpeg::ProgressiveScanTerminationError::InvalidPadding -pub j2k_jpeg::ProgressiveScanTerminationError::InvalidPadding::unread_bits: u8 -pub j2k_jpeg::ProgressiveScanTerminationError::ResidualEobRun -pub j2k_jpeg::ProgressiveScanTerminationError::ResidualEobRun::remaining: u32 -pub j2k_jpeg::ProgressiveScanTerminationError::TerminalMismatch -pub j2k_jpeg::ProgressiveScanTerminationError::TerminalMismatch::expected_marker: core::option::Option -pub j2k_jpeg::ProgressiveScanTerminationError::TerminalMismatch::expected_offset: usize -pub j2k_jpeg::ProgressiveScanTerminationError::TerminalMismatch::found_marker: core::option::Option -pub j2k_jpeg::ProgressiveScanTerminationError::TerminalMismatch::found_offset: core::option::Option -pub j2k_jpeg::RestartIndex::segments: alloc::vec::Vec -pub j2k_jpeg::TileDecodeOutput::fmt: j2k_core::pixel::PixelFormat -pub j2k_jpeg::TileDecodeOutput::out: &'o mut [u8] -pub j2k_jpeg::TileDecodeOutput::stride: usize -pub j2k_jpeg::Warning::TableCacheMismatch::which: j2k_jpeg::TableKind -pub struct j2k_jpeg::DecodeRequest -pub struct j2k_jpeg::TileDecodeOutput<'o> -pub type j2k_jpeg::JpegSegmentIter<'a>::Item = core::result::Result, j2k_jpeg::JpegError> -pub type j2k_jpeg::PreparedTileBatchError = j2k_core::batch::BatchInfrastructureError -pub type j2k_jpeg::TileBatchError = j2k_core::batch::BatchDecodeError -pub use j2k_jpeg::BatchDecodeError -pub use j2k_jpeg::BatchInfrastructureError -pub use j2k_jpeg::DeviceBatchSummary -``` - -### `j2k-tilecodec` - -Baseline items: 61. Candidate items: 31. Computed release type: `major`. Rustdoc-hidden candidate items: 32. Full hidden-inventory fingerprint: `fnv1a64:eb677842559d9b0e`. - -#### Removed or changed baseline API items - -```text -impl j2k_core::scratch::ScratchPool for j2k_tilecodec::DeflatePool -impl j2k_core::scratch::ScratchPool for j2k_tilecodec::LzwPool -impl j2k_core::scratch::ScratchPool for j2k_tilecodec::NoPool -impl j2k_core::scratch::ScratchPool for j2k_tilecodec::ZstdPool -impl j2k_core::traits::TileDecompress for j2k_tilecodec::DeflateCodec -impl j2k_core::traits::TileDecompress for j2k_tilecodec::LzwCodec -impl j2k_core::traits::TileDecompress for j2k_tilecodec::UncompressedCodec -impl j2k_core::traits::TileDecompress for j2k_tilecodec::ZstdCodec -pub enum j2k_tilecodec::TileCodecError -pub fn j2k_tilecodec::DeflateCodec::decompress_into(&mut Self::Pool, &[u8], &mut [u8]) -> core::result::Result -pub fn j2k_tilecodec::DeflateCodec::expected_size(&[u8]) -> core::result::Result, Self::Error> -pub fn j2k_tilecodec::DeflatePool::bytes_allocated(&self) -> usize -pub fn j2k_tilecodec::DeflatePool::reset(&mut self) -pub fn j2k_tilecodec::LzwCodec::decompress_into(&mut Self::Pool, &[u8], &mut [u8]) -> core::result::Result -pub fn j2k_tilecodec::LzwCodec::expected_size(&[u8]) -> core::result::Result, Self::Error> -pub fn j2k_tilecodec::LzwPool::bytes_allocated(&self) -> usize -pub fn j2k_tilecodec::LzwPool::reset(&mut self) -pub fn j2k_tilecodec::NoPool::bytes_allocated(&self) -> usize -pub fn j2k_tilecodec::NoPool::reset(&mut self) -pub fn j2k_tilecodec::UncompressedCodec::decompress_into(&mut Self::Pool, &[u8], &mut [u8]) -> core::result::Result -pub fn j2k_tilecodec::UncompressedCodec::expected_size(&[u8]) -> core::result::Result, Self::Error> -pub fn j2k_tilecodec::ZstdCodec::decompress_into(&mut Self::Pool, &[u8], &mut [u8]) -> core::result::Result -pub fn j2k_tilecodec::ZstdCodec::expected_size(&[u8]) -> core::result::Result, Self::Error> -pub fn j2k_tilecodec::ZstdPool::bytes_allocated(&self) -> usize -pub fn j2k_tilecodec::ZstdPool::reset(&mut self) -pub j2k_tilecodec::TileCodecError::Backend(alloc::string::String) -pub j2k_tilecodec::TileCodecError::Malformed::message: alloc::string::String -pub type j2k_tilecodec::DeflateCodec::Error = j2k_tilecodec::TileCodecError -pub type j2k_tilecodec::DeflateCodec::Pool = j2k_tilecodec::DeflatePool -pub type j2k_tilecodec::LzwCodec::Error = j2k_tilecodec::TileCodecError -pub type j2k_tilecodec::LzwCodec::Pool = j2k_tilecodec::LzwPool -pub type j2k_tilecodec::UncompressedCodec::Error = j2k_tilecodec::TileCodecError -pub type j2k_tilecodec::UncompressedCodec::Pool = j2k_tilecodec::NoPool -pub type j2k_tilecodec::ZstdCodec::Error = j2k_tilecodec::TileCodecError -pub type j2k_tilecodec::ZstdCodec::Pool = j2k_tilecodec::ZstdPool -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_tilecodec::TileCodecError -pub j2k_tilecodec::TileCodecError::Io -pub j2k_tilecodec::TileCodecError::Io::context: &'static str -pub j2k_tilecodec::TileCodecError::Io::source: std::io::error::Error -pub j2k_tilecodec::TileCodecError::Malformed::source: std::io::error::Error -``` - -### `j2k-jpeg-metal` - -Baseline items: 235. Candidate items: 170. Computed release type: `major`. Rustdoc-hidden candidate items: 83. Full hidden-inventory fingerprint: `fnv1a64:79227f0534bdbee0`. - -#### Removed or changed baseline API items - -```text -impl j2k_core::accelerator::AcceleratorSession for j2k_jpeg_metal::MetalBackendSession -impl j2k_core::error::CodecError for j2k_jpeg_metal::Error -impl j2k_core::traits::DeviceSurface for j2k_jpeg_metal::Surface -impl j2k_core::traits::ImageCodec for j2k_jpeg_metal::Codec -impl j2k_core::traits::ImageCodec for j2k_jpeg_metal::Decoder<'_> -impl j2k_core::traits::TileBatchDecodeDevice for j2k_jpeg_metal::Codec -impl j2k_core::traits::TileBatchDecodeManyDevice for j2k_jpeg_metal::Codec -impl j2k_core::traits::TileBatchDecodeSubmit for j2k_jpeg_metal::Codec -impl j2k_jpeg_metal::JpegMetalResidentBatchReport -impl<'a> j2k_core::traits::ImageDecode<'a> for j2k_jpeg_metal::Decoder<'a> -impl<'a> j2k_core::traits::ImageDecodeDevice<'a> for j2k_jpeg_metal::Decoder<'a> -impl<'a> j2k_core::traits::ImageDecodeSubmit<'a> for j2k_jpeg_metal::Decoder<'a> -pub enum j2k_jpeg_metal::SurfaceResidency -pub enum j2k_jpeg_metal::viewport::ViewportResidentOutputStrategy -pub enum j2k_jpeg_metal::viewport::ViewportSurfaceStrategy -pub fn j2k_jpeg_metal::Codec::decode_tiles_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_metal::Codec::inspect_rgb8_decoder_batch_metal_output(&[&j2k_jpeg_metal::Decoder<'_>], j2k_jpeg::capabilities::JpegDecodeOp) -> j2k_jpeg_metal::JpegMetalResidentBatchReport -pub fn j2k_jpeg_metal::Codec::submit_tile_region_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Codec::submit_tile_region_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut j2k_jpeg_metal::MetalSession, &mut j2k_jpeg::internal::scratch::ScratchPool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result<::SubmittedSurface, j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::Codec::submit_tile_region_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Codec::submit_tile_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Codec::submit_tile_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_metal::Decoder<'a>::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_metal::Decoder<'a>::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_metal::Decoder<'a>::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_metal::Decoder<'a>::decode_region_scaled_to_device(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_metal::Decoder<'a>::from_view(Self::View) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::from_view(j2k_jpeg::decoder::JpegView<'a>) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::submit_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Error::is_buffer_error(&self) -> bool -pub fn j2k_jpeg_metal::Error::is_not_implemented(&self) -> bool -pub fn j2k_jpeg_metal::Error::is_truncated(&self) -> bool -pub fn j2k_jpeg_metal::Error::is_unsupported(&self) -> bool -pub fn j2k_jpeg_metal::JpegMetalResidentBatchReport::required_tile_capacity(&self) -> usize -pub fn j2k_jpeg_metal::JpegTileBatch::push_shared_tile(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_shared_tile_region(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_shared_tile_region_scaled(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_shared_tile_scaled(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_tile(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_tile_region(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_tile_region_scaled(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_tile_scaled(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::MetalBackendSession::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_jpeg_metal::MetalBatchOutputBuffer::buffer(&self) -> &metal::buffer::BufferRef -pub fn j2k_jpeg_metal::MetalBatchOutputBuffer::ensure_rgb8_batch_report(&mut self, &j2k_jpeg_metal::MetalBackendSession, &j2k_jpeg_metal::JpegMetalResidentBatchReport) -> core::result::Result<(), j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::MetalBatchTextureOutput::ensure_rgba8_batch_report(&mut self, &j2k_jpeg_metal::MetalBackendSession, &j2k_jpeg_metal::JpegMetalResidentBatchReport) -> core::result::Result<(), j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::MetalBatchTextureOutput::texture(&self, usize) -> core::option::Option<&metal::texture::TextureRef> -pub fn j2k_jpeg_metal::MetalTextureTile::texture(&self) -> &metal::texture::TextureRef -pub fn j2k_jpeg_metal::Surface::as_bytes(&self) -> &[u8] -pub fn j2k_jpeg_metal::Surface::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_jpeg_metal::Surface::byte_len(&self) -> usize -pub fn j2k_jpeg_metal::Surface::dimensions(&self) -> (u32, u32) -pub fn j2k_jpeg_metal::Surface::memory_range(&self) -> core::option::Option -pub fn j2k_jpeg_metal::Surface::metal_buffer(&self) -> core::option::Option<(&metal::buffer::Buffer, usize)> -pub fn j2k_jpeg_metal::Surface::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_jpeg_metal::Surface::residency(&self) -> j2k_jpeg_metal::SurfaceResidency -pub fn j2k_jpeg_metal::encode_jpeg_baseline_batch_from_metal_buffers(&[j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'_>], j2k_jpeg::encoder::JpegEncodeOptions, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result, j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::encode_jpeg_baseline_from_metal_buffer(j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'_>, j2k_jpeg::encoder::JpegEncodeOptions, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::choose_resizable_metal_viewport_strategy(&j2k_jpeg::decoder::Decoder<'_>, &j2k_jpeg_metal::viewport::ViewportWorkload) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::choose_viewport_surface_strategy(&j2k_jpeg_metal::viewport::ViewportWorkload, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::compose_viewport_cpu(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, (u32, u32), &[j2k_jpeg_metal::viewport::ViewportTile]) -> core::result::Result, j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::viewport::compose_viewport_cpu_to_surface(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, j2k_core::scale::Downscale, (u32, u32), &[j2k_jpeg_metal::viewport::ViewportTile]) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::compose_viewport_hybrid(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, j2k_core::scale::Downscale, (u32, u32), &[j2k_jpeg_metal::viewport::ViewportTile]) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::compose_viewport_to_resizable_metal_buffer_with_session(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchOutputBuffer, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::compose_viewport_to_resizable_metal_textures_with_session(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchTextureOutput, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_region_cpu(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, j2k_core::pixel::PixelFormat, &j2k_jpeg_metal::viewport::ViewportWorkload) -> core::result::Result, j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::viewport::decode_viewport_region_cpu_to_surface(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_region_hybrid(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_region_to_resizable_metal_buffer_with_session(&[u8], &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchOutputBuffer, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_region_to_resizable_metal_textures_with_session(&[u8], &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchTextureOutput, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_to_resizable_metal_buffer_with_decoder_session(&j2k_jpeg_metal::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchOutputBuffer, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_to_resizable_metal_buffer_with_session(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchOutputBuffer, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_to_resizable_metal_textures_with_decoder_session(&j2k_jpeg_metal::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchTextureOutput, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_to_resizable_metal_textures_with_session(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, &mut j2k_jpeg_metal::MetalBatchTextureOutput, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::decode_viewport_to_surface(&j2k_jpeg::decoder::Decoder<'_>, &mut j2k_jpeg::internal::scratch::ScratchPool, &j2k_jpeg_metal::viewport::ViewportWorkload, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::viewport::is_contiguous_viewport_workload(&j2k_jpeg_metal::viewport::ViewportWorkload) -> bool -pub fn j2k_jpeg_metal::viewport::suggest_viewport_workload((u32, u32)) -> core::option::Option -pub fn j2k_jpeg_metal::viewport::viewport_source_bounds(&j2k_jpeg_metal::viewport::ViewportWorkload) -> j2k_core::types::Rect -pub j2k_jpeg_metal::Error::Encode(j2k_jpeg::encoder::JpegEncodeError) -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::buffer: &'a metal::buffer::Buffer -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::byte_offset: usize -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::format: j2k_core::pixel::PixelFormat -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::height: u32 -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::output_height: u32 -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::output_width: u32 -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::pitch_bytes: usize -pub j2k_jpeg_metal::JpegBaselineMetalEncodeTile::width: u32 -pub j2k_jpeg_metal::JpegMetalResidentBatchReport::eligibility: j2k_jpeg::capabilities::JpegBackendEligibility -pub j2k_jpeg_metal::JpegMetalResidentBatchReport::op: j2k_jpeg::capabilities::JpegDecodeOp -pub j2k_jpeg_metal::JpegMetalResidentBatchReport::output_dimensions: core::option::Option<(u32, u32)> -pub j2k_jpeg_metal::JpegMetalResidentBatchReport::tile_count: usize -pub j2k_jpeg_metal::SurfaceResidency::CpuStagedMetalUpload -pub j2k_jpeg_metal::SurfaceResidency::Host -pub j2k_jpeg_metal::SurfaceResidency::MetalResidentDecode -pub j2k_jpeg_metal::viewport::ViewportResidentOutputStrategy::Composite -pub j2k_jpeg_metal::viewport::ViewportResidentOutputStrategy::DirectContiguous -pub j2k_jpeg_metal::viewport::ViewportSurfaceStrategy::CpuComposite -pub j2k_jpeg_metal::viewport::ViewportSurfaceStrategy::CpuContiguous -pub j2k_jpeg_metal::viewport::ViewportSurfaceStrategy::HybridComposite -pub j2k_jpeg_metal::viewport::ViewportSurfaceStrategy::HybridContiguous -pub j2k_jpeg_metal::viewport::ViewportTile::dest: j2k_core::types::Rect -pub j2k_jpeg_metal::viewport::ViewportTile::source_roi: j2k_core::types::Rect -pub j2k_jpeg_metal::viewport::ViewportWorkload::scale: j2k_core::scale::Downscale -pub j2k_jpeg_metal::viewport::ViewportWorkload::tiles: alloc::vec::Vec -pub j2k_jpeg_metal::viewport::ViewportWorkload::viewport_dims: (u32, u32) -pub mod j2k_jpeg_metal::viewport -pub struct j2k_jpeg_metal::JpegMetalResidentBatchReport -pub struct j2k_jpeg_metal::viewport::ViewportTile -pub struct j2k_jpeg_metal::viewport::ViewportWorkload -pub type j2k_jpeg_metal::Codec::Context = j2k_jpeg::context::DecoderContext -pub type j2k_jpeg_metal::Codec::DeviceSurface = j2k_jpeg_metal::Surface -pub type j2k_jpeg_metal::Codec::Error = j2k_jpeg_metal::Error -pub type j2k_jpeg_metal::Codec::Pool = j2k_jpeg::internal::scratch::ScratchPool -pub type j2k_jpeg_metal::Codec::Session = j2k_jpeg_metal::MetalSession -pub type j2k_jpeg_metal::Codec::SubmittedSurface = j2k_jpeg_metal::batch::MetalSubmission -pub type j2k_jpeg_metal::Codec::Warning = j2k_jpeg::error::Warning -pub type j2k_jpeg_metal::Decoder<'_>::Error = j2k_jpeg_metal::Error -pub type j2k_jpeg_metal::Decoder<'_>::Pool = j2k_jpeg::internal::scratch::ScratchPool -pub type j2k_jpeg_metal::Decoder<'_>::Warning = j2k_jpeg::error::Warning -pub type j2k_jpeg_metal::Decoder<'a>::DeviceSurface = j2k_jpeg_metal::Surface -pub type j2k_jpeg_metal::Decoder<'a>::Session = j2k_jpeg_metal::MetalSession -pub type j2k_jpeg_metal::Decoder<'a>::SubmittedSurface = j2k_jpeg_metal::batch::MetalSubmission -pub type j2k_jpeg_metal::Decoder<'a>::View = j2k_jpeg::decoder::JpegView<'a> -``` - -#### Added candidate API items - -```text -impl core::clone::Clone for j2k_jpeg_metal::MetalTextureTile -impl j2k_jpeg_metal::MetalDecodeRequest -impl<'a> j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a> -pub const fn j2k_jpeg_metal::MetalDecodeRequest::full(j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> Self -pub const fn j2k_jpeg_metal::MetalDecodeRequest::region(j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> Self -pub const fn j2k_jpeg_metal::MetalDecodeRequest::region_scaled(j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> Self -pub const fn j2k_jpeg_metal::MetalDecodeRequest::scaled(j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> Self -pub enum j2k_jpeg_metal::MetalDecodeOp -pub enum j2k_jpeg_metal::ViewportSurfaceStrategy -pub fn j2k_jpeg_metal::Decoder<'a>::decode_request_to_device(&mut self, j2k_jpeg_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_jpeg_metal::Decoder<'a>::from_view(j2k_jpeg::decoder::view::JpegView<'a>) -> core::result::Result -pub fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::byte_offset(&self) -> usize -pub fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::dimensions(&self) -> (u32, u32) -pub fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::from_resident(&'a j2k_metal_support::resident::ResidentMetalImage, (u32, u32)) -> Self -pub fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::output_dimensions(&self) -> (u32, u32) -pub fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::pitch_bytes(&self) -> usize -pub fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_jpeg_metal::JpegTileBatch::push_shared_tile_request(&mut self, alloc::sync::Arc<[u8]>, j2k_jpeg_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_jpeg_metal::JpegTileBatch::push_tile_request(&mut self, &[u8], j2k_jpeg_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_jpeg_metal::MetalTextureTile::clone(&self) -> Self -pub fn j2k_jpeg_metal::Surface::as_bytes(&self) -> core::result::Result, j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::Surface::into_resident_metal_image(self) -> core::option::Option -pub fn j2k_jpeg_metal::Surface::resident_metal_image(&self) -> core::option::Option<&j2k_metal_support::resident::ResidentMetalImage> -pub fn j2k_jpeg_metal::choose_viewport_surface_strategy(&j2k_jpeg_metal::ViewportWorkload, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_metal::encode_jpeg_baseline_batch_from_metal_buffers(&[j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'_>], j2k_jpeg::baseline_encode_contract::JpegEncodeOptions, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result, j2k_jpeg_metal::Error> -pub fn j2k_jpeg_metal::encode_jpeg_baseline_from_metal_buffer(j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'_>, j2k_jpeg::baseline_encode_contract::JpegEncodeOptions, &j2k_jpeg_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_jpeg_metal::is_contiguous_viewport_workload(&j2k_jpeg_metal::ViewportWorkload) -> bool -pub fn j2k_jpeg_metal::suggest_viewport_workload((u32, u32)) -> core::option::Option -pub fn j2k_jpeg_metal::viewport_source_bounds(&j2k_jpeg_metal::ViewportWorkload) -> j2k_core::types::Rect -pub j2k_jpeg_metal::Error::BatchInfrastructure(j2k_core::batch::BatchInfrastructureError) -pub j2k_jpeg_metal::Error::Encode(j2k_jpeg::baseline_encode_contract::JpegEncodeError) -pub j2k_jpeg_metal::Error::FastPacket -pub j2k_jpeg_metal::Error::FastPacket::source: j2k_jpeg::adapter::fast_packet::error::FastPacketError -pub j2k_jpeg_metal::Error::JpegPlanCache(j2k_jpeg::adapter::fast_packet::cache::JpegPlanCacheError) -pub j2k_jpeg_metal::Error::MetalSupport -pub j2k_jpeg_metal::Error::MetalSupport::message: alloc::string::String -pub j2k_jpeg_metal::Error::MetalSupport::source: j2k_metal_support::error::MetalSupportError -pub j2k_jpeg_metal::MetalDecodeOp::Full -pub j2k_jpeg_metal::MetalDecodeOp::Region(j2k_core::types::Rect) -pub j2k_jpeg_metal::MetalDecodeOp::RegionScaled -pub j2k_jpeg_metal::MetalDecodeOp::RegionScaled::roi: j2k_core::types::Rect -pub j2k_jpeg_metal::MetalDecodeOp::RegionScaled::scale: j2k_core::scale::Downscale -pub j2k_jpeg_metal::MetalDecodeOp::Scaled(j2k_core::scale::Downscale) -pub j2k_jpeg_metal::MetalDecodeRequest::backend: j2k_core::backend::BackendRequest -pub j2k_jpeg_metal::MetalDecodeRequest::fmt: j2k_core::pixel::PixelFormat -pub j2k_jpeg_metal::MetalDecodeRequest::op: j2k_jpeg_metal::MetalDecodeOp -pub j2k_jpeg_metal::ViewportSurfaceStrategy::CpuComposite -pub j2k_jpeg_metal::ViewportSurfaceStrategy::CpuContiguous -pub j2k_jpeg_metal::ViewportSurfaceStrategy::HybridComposite -pub j2k_jpeg_metal::ViewportSurfaceStrategy::HybridContiguous -pub j2k_jpeg_metal::ViewportTile::dest: j2k_core::types::Rect -pub j2k_jpeg_metal::ViewportTile::source_roi: j2k_core::types::Rect -pub j2k_jpeg_metal::ViewportWorkload::scale: j2k_core::scale::Downscale -pub j2k_jpeg_metal::ViewportWorkload::tiles: alloc::vec::Vec -pub j2k_jpeg_metal::ViewportWorkload::viewport_dims: (u32, u32) -pub struct j2k_jpeg_metal::MetalDecodeRequest -pub struct j2k_jpeg_metal::ViewportTile -pub struct j2k_jpeg_metal::ViewportWorkload -pub unsafe fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::buffer(&self) -> &metal::buffer::BufferRef -pub unsafe fn j2k_jpeg_metal::JpegBaselineMetalEncodeTile<'a>::new(&'a metal::buffer::Buffer, usize, (u32, u32), usize, (u32, u32), j2k_core::pixel::PixelFormat) -> Self -pub unsafe fn j2k_jpeg_metal::MetalBatchOutputBuffer::buffer(&self) -> &metal::buffer::BufferRef -pub unsafe fn j2k_jpeg_metal::MetalBatchTextureOutput::texture(&self, usize) -> core::option::Option<&metal::texture::TextureRef> -pub unsafe fn j2k_jpeg_metal::MetalTextureTile::texture(&self) -> &metal::texture::TextureRef -pub unsafe fn j2k_jpeg_metal::Surface::metal_buffer(&self) -> core::option::Option<(&metal::buffer::Buffer, usize)> -pub use j2k_jpeg_metal::SurfaceResidency -``` - -### `j2k-metal` - -Baseline items: 399. Candidate items: 181. Computed release type: `major`. Rustdoc-hidden candidate items: 287. Full hidden-inventory fingerprint: `fnv1a64:79d7834b64cda3b0`. - -#### Removed or changed baseline API items - -```text -impl j2k::adapter::encode_stage::J2kEncodeStageAccelerator for j2k_metal::MetalEncodeStageAccelerator -impl j2k_core::accelerator::AcceleratorSession for j2k_metal::MetalBackendSession -impl j2k_core::error::CodecError for j2k_metal::Error -impl j2k_core::traits::DeviceSubmission for j2k_metal::SubmittedJ2kLosslessMetalBufferEncodeBatch -impl j2k_core::traits::DeviceSubmission for j2k_metal::SubmittedJ2kLosslessMetalEncodeBatch -impl j2k_core::traits::DeviceSurface for j2k_metal::Surface -impl j2k_core::traits::ImageCodec for j2k_metal::Codec -impl j2k_core::traits::ImageCodec for j2k_metal::J2kDecoder<'_> -impl j2k_core::traits::TileBatchDecodeDevice for j2k_metal::Codec -impl j2k_core::traits::TileBatchDecodeManyDevice for j2k_metal::Codec -impl j2k_core::traits::TileBatchDecodeSubmit for j2k_metal::Codec -impl j2k_metal::MetalLosslessEncodeStageStats -impl<'a> j2k_core::traits::ImageDecode<'a> for j2k_metal::J2kDecoder<'a> -impl<'a> j2k_core::traits::ImageDecodeDevice<'a> for j2k_metal::J2kDecoder<'a> -impl<'a> j2k_core::traits::ImageDecodeSubmit<'a> for j2k_metal::J2kDecoder<'a> -pub enum j2k_metal::SurfaceResidency -pub fn j2k_metal::Codec::decode_tiles_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_metal::Codec::submit_tile_region_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::Codec::submit_tile_region_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::Codec::submit_tile_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::Codec::submit_tile_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::Error::is_buffer_error(&self) -> bool -pub fn j2k_metal::Error::is_not_implemented(&self) -> bool -pub fn j2k_metal::Error::is_truncated(&self) -> bool -pub fn j2k_metal::Error::is_unsupported(&self) -> bool -pub fn j2k_metal::J2kDecoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_metal::J2kDecoder<'a>::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_metal::J2kDecoder<'a>::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_metal::J2kDecoder<'a>::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_metal::J2kDecoder<'a>::decode_region_scaled_to_cpu_staged_metal_surface_with_session(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_region_scaled_to_device_with_session(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_region_scaled_to_host_surface(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_region_to_cpu_staged_metal_surface_with_session(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_region_to_device_with_session(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_region_to_host_surface(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_metal::J2kDecoder<'a>::decode_scaled_to_cpu_staged_metal_surface_with_session(&mut self, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_scaled_to_device_with_session(&mut self, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_scaled_to_host_surface(&mut self, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_to_cpu_staged_metal_surface_with_session(&mut self, j2k_core::pixel::PixelFormat, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_to_device_with_session(&mut self, j2k_core::pixel::PixelFormat, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_to_host_surface(&mut self, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::from_view(Self::View) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::submit_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalBackendSession::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_metal::MetalEncodeStageAccelerator::deinterleave_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::deinterleave_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> core::result::Result>>, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> core::result::Result -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> core::result::Result -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::encode_tier1_code_blocks(&mut self, &[j2k_types::J2kTier1CodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_dwt53_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_dwt53_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_dwt97_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_dwt97_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_ict_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_ict_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_rct_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::forward_rct_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::ht_code_block_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::ht_code_block_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::packetization_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::packetization_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::prefer_parallel_cpu_code_block_fallback(&self) -> bool -pub fn j2k_metal::MetalEncodeStageAccelerator::quantize_subband_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::quantize_subband_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::tier1_code_block_attempts(&self) -> usize -pub fn j2k_metal::MetalEncodeStageAccelerator::tier1_code_block_dispatches(&self) -> usize -pub fn j2k_metal::MetalEncodedJ2k::codestream_bytes(&self) -> core::result::Result<&[u8], j2k_metal::Error> -pub fn j2k_metal::MetalEncodedJ2k::to_encoded_j2k(&self) -> core::result::Result -pub fn j2k_metal::MetalLosslessEncodeStageStats::add_assign(&mut self, Self) -pub fn j2k_metal::MetalLosslessEncodeStageStats::has_timings(&self) -> bool -pub fn j2k_metal::MetalTileBatch::push_shared_tile(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_shared_tile_region(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_shared_tile_region_scaled(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_shared_tile_scaled(&mut self, alloc::sync::Arc<[u8]>, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_tile(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_tile_region(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_tile_region_scaled(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_tile_scaled(&mut self, &[u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_metal::SubmittedJ2kLosslessMetalBufferEncodeBatch::wait(self) -> core::result::Result -pub fn j2k_metal::SubmittedJ2kLosslessMetalEncodeBatch::wait(self) -> core::result::Result -pub fn j2k_metal::Surface::as_bytes(&self) -> &[u8] -pub fn j2k_metal::Surface::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_metal::Surface::byte_len(&self) -> usize -pub fn j2k_metal::Surface::dimensions(&self) -> (u32, u32) -pub fn j2k_metal::Surface::memory_range(&self) -> core::option::Option -pub fn j2k_metal::Surface::metal_buffer(&self) -> core::option::Option<(&metal::buffer::Buffer, usize)> -pub fn j2k_metal::Surface::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_metal::Surface::residency(&self) -> j2k_metal::SurfaceResidency -pub fn j2k_metal::encode_lossless_batch_with_report(j2k_metal::MetalLosslessEncodeBatchRequest<'_, '_>, &j2k::encode::J2kLosslessEncodeOptions, &j2k_metal::MetalBackendSession) -> core::result::Result, j2k_metal::Error> -pub fn j2k_metal::submit_lossless_batch(j2k_metal::MetalLosslessEncodeBatchRequest<'_, '_>, &j2k::encode::J2kLosslessEncodeOptions, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::submit_lossless_batch_to_metal(j2k_metal::MetalLosslessEncodeBatchRequest<'_, '_>, &j2k::encode::J2kLosslessEncodeOptions, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::validate_lossless_roundtrip_on_metal(j2k::encode::J2kLosslessSamples<'_>, &[u8]) -> core::result::Result<(), j2k_metal::Error> -pub fn j2k_metal::validate_lossless_roundtrip_on_metal_with_session(j2k::encode::J2kLosslessSamples<'_>, &[u8], &j2k_metal::MetalBackendSession) -> core::result::Result<(), j2k_metal::Error> -pub j2k_metal::MetalEncodedJ2k::bit_depth: u8 -pub j2k_metal::MetalEncodedJ2k::byte_len: usize -pub j2k_metal::MetalEncodedJ2k::byte_offset: usize -pub j2k_metal::MetalEncodedJ2k::capacity: usize -pub j2k_metal::MetalEncodedJ2k::codestream_buffer: metal::buffer::Buffer -pub j2k_metal::MetalEncodedJ2k::components: u8 -pub j2k_metal::MetalEncodedJ2k::height: u32 -pub j2k_metal::MetalEncodedJ2k::signed: bool -pub j2k_metal::MetalEncodedJ2k::width: u32 -pub j2k_metal::MetalLosslessBufferEncodeBatchOutcome::outcomes: alloc::vec::Vec -pub j2k_metal::MetalLosslessBufferEncodeBatchOutcome::stats: j2k_metal::MetalLosslessEncodeBatchStats -pub j2k_metal::MetalLosslessBufferEncodeOutcome::encode_duration: core::time::Duration -pub j2k_metal::MetalLosslessBufferEncodeOutcome::encoded: j2k_metal::MetalEncodedJ2k -pub j2k_metal::MetalLosslessBufferEncodeOutcome::gpu_duration: core::option::Option -pub j2k_metal::MetalLosslessBufferEncodeOutcome::input_copy_duration: core::time::Duration -pub j2k_metal::MetalLosslessBufferEncodeOutcome::input_copy_used: bool -pub j2k_metal::MetalLosslessBufferEncodeOutcome::resident: j2k_metal::MetalLosslessEncodeResidency -pub j2k_metal::MetalLosslessBufferEncodeOutcome::validation_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeBatchStats::configured_inflight_tiles: core::option::Option -pub j2k_metal::MetalLosslessEncodeBatchStats::configured_memory_budget_bytes: core::option::Option -pub j2k_metal::MetalLosslessEncodeBatchStats::effective_inflight_tiles: usize -pub j2k_metal::MetalLosslessEncodeBatchStats::effective_memory_budget_bytes: usize -pub j2k_metal::MetalLosslessEncodeBatchStats::encode_wall_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeBatchStats::estimated_peak_bytes_per_tile: usize -pub j2k_metal::MetalLosslessEncodeBatchStats::max_observed_inflight_tiles: usize -pub j2k_metal::MetalLosslessEncodeBatchStats::stage_stats: j2k_metal::MetalLosslessEncodeStageStats -pub j2k_metal::MetalLosslessEncodeOutcome::encode_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeOutcome::encoded: j2k::encode::EncodedJ2k -pub j2k_metal::MetalLosslessEncodeOutcome::gpu_duration: core::option::Option -pub j2k_metal::MetalLosslessEncodeOutcome::host_readback_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeOutcome::input_copy_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeOutcome::input_copy_used: bool -pub j2k_metal::MetalLosslessEncodeOutcome::resident: j2k_metal::MetalLosslessEncodeResidency -pub j2k_metal::MetalLosslessEncodeOutcome::validation_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::chunk_count: usize -pub j2k_metal::MetalLosslessEncodeStageStats::classic_block_encode_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_block_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_command_buffer_commit_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_packet_buffer_setup_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_packet_plan_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_arithmetic_pack_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_density_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_pass_plan_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_raw_pack_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_setup_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_split_token_emit_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_symbol_plan_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_token_emit_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_token_pack_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::classic_tier1_token_pack_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::code_block_count: usize -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_assembly_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_assembly_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_payload_copy_active_thread_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_payload_copy_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_payload_copy_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_payload_copy_launched_thread_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::codestream_wait_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_copy_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_deinterleave_rct_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_dwt53_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_dwt53_horizontal_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_dwt53_vertical_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_extract_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_extract_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_prep_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::coefficient_prep_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::deinterleave_rct_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::dwt53_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::gpu_elapsed_wall_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::host_readback_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::ht_block_encode_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::ht_block_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::ht_buffer_allocation_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::ht_command_encode_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::ht_table_build_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::max_packet_output_capacity: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_packet_output_used_bytes: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_packet_payload_copy_bytes_per_tile: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_packet_payload_copy_jobs_per_tile: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_packet_payload_copy_jobs_used_per_tile: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_coding_passes_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_full_scan_coeff_visits_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_missing_bitplanes_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_output_capacity: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_output_used_bytes: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_pass_plan_mq_symbols_per_pass: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_pass_plan_raw_bits_per_pass: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_segment_capacity_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_segments_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_symbol_plan_mq_symbols_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_symbol_plan_packed_token_bytes_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_symbol_plan_raw_bits_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_token_emit_segments_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_token_emit_token_bytes_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::max_tier1_token_pack_output_bytes_per_block: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_block_prep_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::packet_block_prep_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::packet_output_capacity_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_output_used_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_active_stripe_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_job_capacity_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_job_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_large_job_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_launched_stripe_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_medium_job_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packet_payload_copy_small_job_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::packetization_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::packetization_gpu_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::plan_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::prepare_submit_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::result_codestream_collect_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::result_harvest_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::result_private_recycle_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::result_shared_recycle_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::result_status_copy_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::sync_wait_duration: core::time::Duration -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_cleanup_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_magref_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_magref_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_scan_coeff_visit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_sigprop_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_sigprop_new_significant_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_arithmetic_sigprop_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_cleanup_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_cleanup_new_significant_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_cleanup_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_cleanup_rlc_stripe_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_cleanup_rlc_zero_stripe_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_cleanup_scan_coeff_visit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_coding_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_full_scan_coeff_visit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_magref_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_magref_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_magref_scan_coeff_visit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_missing_bitplane_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_nonzero_block_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_output_capacity_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_output_used_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_pass_plan_mq_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_pass_plan_nonempty_mq_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_pass_plan_nonempty_raw_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_pass_plan_raw_bit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_magref_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_magref_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_scan_coeff_visit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_sigprop_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_sigprop_new_significant_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_raw_sigprop_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_segment_capacity_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_segment_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_sigprop_active_candidate_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_sigprop_new_significant_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_sigprop_pass_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_sigprop_scan_coeff_visit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_cleanup_mq_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_cleanup_sign_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_magref_mq_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_mq_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_mq_symbol_hash_xor: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_packed_token_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_raw_bit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_raw_bit_hash_xor: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_raw_magref_bit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_raw_sigprop_bit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_sigprop_mq_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_symbol_plan_sigprop_sign_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_emit_mq_symbol_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_emit_mq_symbol_hash_xor: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_emit_raw_bit_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_emit_raw_bit_hash_xor: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_emit_segment_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_emit_token_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_token_pack_output_bytes_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tier1_zero_block_count_total: usize -pub j2k_metal::MetalLosslessEncodeStageStats::tile_count: usize -pub j2k_metal::MetalLosslessEncodeTile::buffer: &'a metal::buffer::Buffer -pub j2k_metal::MetalLosslessEncodeTile::byte_offset: usize -pub j2k_metal::MetalLosslessEncodeTile::format: j2k_core::pixel::PixelFormat -pub j2k_metal::MetalLosslessEncodeTile::height: u32 -pub j2k_metal::MetalLosslessEncodeTile::output_height: u32 -pub j2k_metal::MetalLosslessEncodeTile::output_width: u32 -pub j2k_metal::MetalLosslessEncodeTile::pitch_bytes: usize -pub j2k_metal::MetalLosslessEncodeTile::width: u32 -pub j2k_metal::SurfaceResidency::CpuStagedMetalUpload -pub j2k_metal::SurfaceResidency::Host -pub j2k_metal::SurfaceResidency::MetalResidentDecode -pub struct j2k_metal::MetalLosslessBufferEncodeBatchOutcome -pub struct j2k_metal::MetalLosslessBufferEncodeOutcome -pub struct j2k_metal::MetalLosslessEncodeBatchStats -pub struct j2k_metal::MetalLosslessEncodeOutcome -pub struct j2k_metal::MetalLosslessEncodeStageStats -pub type j2k_metal::Codec::Context = j2k::context::J2kContext -pub type j2k_metal::Codec::DeviceSurface = j2k_metal::Surface -pub type j2k_metal::Codec::Error = j2k_metal::Error -pub type j2k_metal::Codec::Pool = j2k::scratch::J2kScratchPool -pub type j2k_metal::Codec::Session = j2k_metal::MetalSession -pub type j2k_metal::Codec::SubmittedSurface = j2k_metal::batch::MetalSubmission -pub type j2k_metal::Codec::Warning = core::convert::Infallible -pub type j2k_metal::J2kDecoder<'_>::Error = j2k_metal::Error -pub type j2k_metal::J2kDecoder<'_>::Pool = j2k::scratch::J2kScratchPool -pub type j2k_metal::J2kDecoder<'_>::Warning = core::convert::Infallible -pub type j2k_metal::J2kDecoder<'a>::DeviceSurface = j2k_metal::Surface -pub type j2k_metal::J2kDecoder<'a>::Session = j2k_metal::MetalSession -pub type j2k_metal::J2kDecoder<'a>::SubmittedSurface = j2k_core::traits::ReadySubmission -pub type j2k_metal::J2kDecoder<'a>::View = j2k::view::J2kView<'a> -pub type j2k_metal::SubmittedJ2kLosslessMetalBufferEncodeBatch::Error = j2k_metal::Error -pub type j2k_metal::SubmittedJ2kLosslessMetalBufferEncodeBatch::Output = j2k_metal::MetalLosslessBufferEncodeBatchOutcome -pub type j2k_metal::SubmittedJ2kLosslessMetalEncodeBatch::Error = j2k_metal::Error -pub type j2k_metal::SubmittedJ2kLosslessMetalEncodeBatch::Output = alloc::vec::Vec -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_metal::MetalDirectFallbackReason -#[non_exhaustive] pub enum j2k_metal::MetalKernelRetryClass -#[non_exhaustive] pub struct j2k_metal::MetalBufferPoolDiagnostics -#[non_exhaustive] pub struct j2k_metal::MetalBufferPoolsDiagnostics -impl core::error::Error for j2k_metal::NativeBackendError -impl core::fmt::Display for j2k_metal::NativeBackendError -impl j2k_metal::MetalDecodeRequest -impl<'a> j2k_metal::MetalLosslessEncodeTile<'a> -pub const fn j2k_metal::MetalDecodeRequest::full(j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> Self -pub const fn j2k_metal::MetalDecodeRequest::region(j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> Self -pub const fn j2k_metal::MetalDecodeRequest::region_scaled(j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> Self -pub const fn j2k_metal::MetalDecodeRequest::scaled(j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> Self -pub enum j2k_metal::MetalDecodeOp -pub fn j2k_metal::J2kDecoder<'a>::decode_request_to_cpu_staged_metal_surface_with_session(&mut self, j2k_metal::MetalDecodeRequest, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_request_to_device(&mut self, j2k_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_request_to_device_with_session(&mut self, j2k_metal::MetalDecodeRequest, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::J2kDecoder<'a>::decode_request_to_host_surface(&mut self, j2k_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_metal::MetalBackendSession::buffer_pool_diagnostics(&self) -> core::result::Result -pub fn j2k_metal::MetalEncodedJ2k::bit_depth(&self) -> u8 -pub fn j2k_metal::MetalEncodedJ2k::byte_len(&self) -> usize -pub fn j2k_metal::MetalEncodedJ2k::byte_offset(&self) -> usize -pub fn j2k_metal::MetalEncodedJ2k::capacity(&self) -> usize -pub fn j2k_metal::MetalEncodedJ2k::codestream_allocation_len(&self) -> core::option::Option -pub fn j2k_metal::MetalEncodedJ2k::codestream_bytes(&self) -> core::result::Result, j2k_metal::Error> -pub fn j2k_metal::MetalEncodedJ2k::codestream_memory_range(&self) -> core::option::Option -pub fn j2k_metal::MetalEncodedJ2k::components(&self) -> u8 -pub fn j2k_metal::MetalEncodedJ2k::dimensions(&self) -> (u32, u32) -pub fn j2k_metal::MetalEncodedJ2k::height(&self) -> u32 -pub fn j2k_metal::MetalEncodedJ2k::is_signed(&self) -> bool -pub fn j2k_metal::MetalEncodedJ2k::to_encoded_j2k(&self) -> core::result::Result -pub fn j2k_metal::MetalEncodedJ2k::width(&self) -> u32 -pub fn j2k_metal::MetalLosslessEncodeTile<'a>::byte_offset(self) -> usize -pub fn j2k_metal::MetalLosslessEncodeTile<'a>::dimensions(self) -> (u32, u32) -pub fn j2k_metal::MetalLosslessEncodeTile<'a>::from_resident(&'a j2k_metal_support::resident::ResidentMetalImage, (u32, u32)) -> Self -pub fn j2k_metal::MetalLosslessEncodeTile<'a>::output_dimensions(self) -> (u32, u32) -pub fn j2k_metal::MetalLosslessEncodeTile<'a>::pitch_bytes(self) -> usize -pub fn j2k_metal::MetalLosslessEncodeTile<'a>::pixel_format(self) -> j2k_core::pixel::PixelFormat -pub fn j2k_metal::MetalTileBatch::push_shared_tile_request(&mut self, alloc::sync::Arc<[u8]>, j2k_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_metal::MetalTileBatch::push_tile_request(&mut self, &[u8], j2k_metal::MetalDecodeRequest) -> core::result::Result -pub fn j2k_metal::NativeBackendError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal::NativeBackendError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_metal::Surface::as_bytes(&self) -> core::result::Result, j2k_metal::Error> -pub fn j2k_metal::Surface::into_resident_metal_image(self) -> core::option::Option -pub fn j2k_metal::Surface::resident_metal_image(&self) -> core::option::Option<&j2k_metal_support::resident::ResidentMetalImage> -pub fn j2k_metal::submit_lossless_batch(j2k_metal::MetalLosslessEncodeBatchRequest<'_, '_>, &j2k::encode::contracts::J2kLosslessEncodeOptions, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::submit_lossless_batch_to_metal(j2k_metal::MetalLosslessEncodeBatchRequest<'_, '_>, &j2k::encode::contracts::J2kLosslessEncodeOptions, &j2k_metal::MetalBackendSession) -> core::result::Result -pub fn j2k_metal::validate_lossless_roundtrip_on_metal(j2k::encode::samples::J2kLosslessSamples<'_>, &[u8]) -> core::result::Result<(), j2k_metal::Error> -pub fn j2k_metal::validate_lossless_roundtrip_on_metal_with_session(j2k::encode::samples::J2kLosslessSamples<'_>, &[u8], &j2k_metal::MetalBackendSession) -> core::result::Result<(), j2k_metal::Error> -pub j2k_metal::Error::BatchInfrastructure(j2k_core::batch::BatchInfrastructureError) -pub j2k_metal::Error::MetalDirectFallback -pub j2k_metal::Error::MetalDirectFallback::message: alloc::string::String -pub j2k_metal::Error::MetalDirectFallback::reason: j2k_metal::MetalDirectFallbackReason -pub j2k_metal::Error::MetalKernelRetryable -pub j2k_metal::Error::MetalKernelRetryable::message: alloc::string::String -pub j2k_metal::Error::MetalKernelRetryable::retry_class: j2k_metal::MetalKernelRetryClass -pub j2k_metal::Error::MetalStateInvariant -pub j2k_metal::Error::MetalStateInvariant::reason: &'static str -pub j2k_metal::Error::MetalStateInvariant::state: &'static str -pub j2k_metal::Error::MetalSupport -pub j2k_metal::Error::MetalSupport::message: alloc::string::String -pub j2k_metal::Error::MetalSupport::source: j2k_metal_support::error::MetalSupportError -pub j2k_metal::Error::NativeDecode -pub j2k_metal::Error::NativeDecode::context: &'static str -pub j2k_metal::Error::NativeDecode::source: j2k_metal::NativeBackendError -pub j2k_metal::Error::NativeEncode -pub j2k_metal::Error::NativeEncode::operation: &'static str -pub j2k_metal::Error::NativeEncode::source: j2k_metal::NativeBackendError -pub j2k_metal::Error::PreparedPlanCacheAllocation -pub j2k_metal::Error::PreparedPlanCacheAllocation::context: &'static str -pub j2k_metal::Error::PreparedPlanCacheAllocation::source: alloc::collections::TryReserveError -pub j2k_metal::Error::PreparedPlanCacheInvariant -pub j2k_metal::Error::PreparedPlanCacheInvariant::context: &'static str -pub j2k_metal::Error::PreparedPlanCacheInvariant::reason: &'static str -pub j2k_metal::MetalBufferPoolDiagnostics::cached_buffers: usize -pub j2k_metal::MetalBufferPoolDiagnostics::cached_bytes: usize -pub j2k_metal::MetalBufferPoolDiagnostics::evictions: usize -pub j2k_metal::MetalBufferPoolDiagnostics::metadata_capacity: usize -pub j2k_metal::MetalBufferPoolDiagnostics::metadata_failures: usize -pub j2k_metal::MetalBufferPoolDiagnostics::peak_cached_buffers: usize -pub j2k_metal::MetalBufferPoolDiagnostics::peak_cached_bytes: usize -pub j2k_metal::MetalBufferPoolDiagnostics::rejections: usize -pub j2k_metal::MetalBufferPoolDiagnostics::size_mismatches: usize -pub j2k_metal::MetalBufferPoolsDiagnostics::private: j2k_metal::MetalBufferPoolDiagnostics -pub j2k_metal::MetalBufferPoolsDiagnostics::shared: j2k_metal::MetalBufferPoolDiagnostics -pub j2k_metal::MetalDecodeOp::Full -pub j2k_metal::MetalDecodeOp::Region(j2k_core::types::Rect) -pub j2k_metal::MetalDecodeOp::RegionScaled -pub j2k_metal::MetalDecodeOp::RegionScaled::roi: j2k_core::types::Rect -pub j2k_metal::MetalDecodeOp::RegionScaled::scale: j2k_core::scale::Downscale -pub j2k_metal::MetalDecodeOp::Scaled(j2k_core::scale::Downscale) -pub j2k_metal::MetalDecodeRequest::backend: j2k_core::backend::BackendRequest -pub j2k_metal::MetalDecodeRequest::fmt: j2k_core::pixel::PixelFormat -pub j2k_metal::MetalDecodeRequest::op: j2k_metal::MetalDecodeOp -pub j2k_metal::MetalDirectFallbackReason::UnsupportedPlan -pub j2k_metal::MetalDirectFallbackReason::UnsupportedRuntimeInput -pub j2k_metal::MetalKernelRetryClass::ResidentClassicBatch -pub j2k_metal::MetalKernelRetryClass::ResidentClassicOrHtBatch -pub j2k_metal::MetalKernelRetryClass::ResidentHtBatch -pub struct j2k_metal::MetalDecodeRequest -pub struct j2k_metal::NativeBackendError -pub unsafe fn j2k_metal::MetalEncodedJ2k::from_raw_parts(metal::buffer::Buffer, core::ops::range::Range, usize, (u32, u32), u8, u8, bool) -> core::result::Result -pub unsafe fn j2k_metal::MetalEncodedJ2k::into_codestream_buffer(self) -> metal::buffer::Buffer -pub unsafe fn j2k_metal::MetalLosslessEncodeTile<'a>::from_buffer(&'a metal::buffer::Buffer, usize, (u32, u32), usize, (u32, u32), j2k_core::pixel::PixelFormat) -> Self -pub unsafe fn j2k_metal::Surface::metal_buffer(&self) -> core::option::Option<(&metal::buffer::Buffer, usize)> -pub use j2k_metal::SurfaceResidency -``` - -### `j2k-jpeg-cuda` - -Baseline items: 109. Candidate items: 71. Computed release type: `major`. Rustdoc-hidden candidate items: 124. Full hidden-inventory fingerprint: `fnv1a64:b8ecbb08e772efc7`. - -#### Removed or changed baseline API items - -```text -impl j2k_core::accelerator::AcceleratorSession for j2k_jpeg_cuda::CudaSession -impl j2k_core::error::CodecError for j2k_jpeg_cuda::Error -impl j2k_core::traits::DeviceSubmitSession for j2k_jpeg_cuda::CudaSession -impl j2k_core::traits::DeviceSurface for j2k_jpeg_cuda::Surface -impl j2k_core::traits::ImageCodec for j2k_jpeg_cuda::Codec -impl j2k_core::traits::ImageCodec for j2k_jpeg_cuda::Decoder<'_> -impl j2k_core::traits::TileBatchDecodeDevice for j2k_jpeg_cuda::Codec -impl j2k_core::traits::TileBatchDecodeManyDevice for j2k_jpeg_cuda::Codec -impl j2k_core::traits::TileBatchDecodeSubmit for j2k_jpeg_cuda::Codec -impl j2k_jpeg_cuda::CudaSurfaceStats -impl<'a> j2k_core::traits::ImageDecode<'a> for j2k_jpeg_cuda::Decoder<'a> -impl<'a> j2k_core::traits::ImageDecodeDevice<'a> for j2k_jpeg_cuda::Decoder<'a> -impl<'a> j2k_core::traits::ImageDecodeSubmit<'a> for j2k_jpeg_cuda::Decoder<'a> -pub enum j2k_jpeg_cuda::CudaJpegDecodePath -pub enum j2k_jpeg_cuda::Error -pub fn j2k_jpeg_cuda::Codec::decode_tile_rgb8_into_cuda_buffer_with_session(&[u8], &j2k_cuda_runtime::memory::CudaDeviceBuffer, usize, &mut j2k_jpeg_cuda::CudaSession) -> core::result::Result -pub fn j2k_jpeg_cuda::Codec::decode_tiles_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_cuda::Codec::decode_tiles_to_device_with_session(&[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest, &mut j2k_jpeg_cuda::CudaSession) -> core::result::Result, j2k_jpeg_cuda::Error> -pub fn j2k_jpeg_cuda::Codec::diagnose_tile_rgb8_chunked_entropy_with_session(&[u8], j2k_cuda_runtime::jpeg::CudaJpegChunkedEntropyConfig, &mut j2k_jpeg_cuda::CudaSession) -> core::result::Result -pub fn j2k_jpeg_cuda::Codec::submit_tile_region_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Codec::submit_tile_region_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Codec::submit_tile_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Codec::submit_tile_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::CudaSession::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_jpeg_cuda::CudaSession::execution_stats(&self) -> j2k_core::accelerator::ExecutionStats -pub fn j2k_jpeg_cuda::CudaSession::owned_cuda_packet_cache_len(&self) -> usize -pub fn j2k_jpeg_cuda::CudaSession::record_submit(&mut self) -pub fn j2k_jpeg_cuda::CudaSession::recycle_owned_cuda_output_buffer(&mut self, j2k_cuda_runtime::memory::CudaDeviceBuffer) -> core::result::Result<(), j2k_jpeg_cuda::Error> -pub fn j2k_jpeg_cuda::CudaSession::retained_owned_cuda_output_buffers(&self) -> core::result::Result -pub fn j2k_jpeg_cuda::CudaSession::take_owned_cuda_output_buffer(&mut self, usize) -> core::result::Result -pub fn j2k_jpeg_cuda::CudaSurface<'_>::stats(&self) -> j2k_jpeg_cuda::CudaSurfaceStats -pub fn j2k_jpeg_cuda::CudaSurfaceStats::copy_kernel_dispatches(self) -> usize -pub fn j2k_jpeg_cuda::CudaSurfaceStats::decode_kernel_dispatches(self) -> usize -pub fn j2k_jpeg_cuda::CudaSurfaceStats::decode_path(self) -> j2k_jpeg_cuda::CudaJpegDecodePath -pub fn j2k_jpeg_cuda::CudaSurfaceStats::kernel_dispatches(self) -> usize -pub fn j2k_jpeg_cuda::CudaSurfaceStats::used_hardware_decode(self) -> bool -pub fn j2k_jpeg_cuda::CudaSurfaceStats::used_owned_cuda_decode(self) -> bool -pub fn j2k_jpeg_cuda::Decoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_cuda::Decoder<'a>::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_cuda::Decoder<'a>::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_cuda::Decoder<'a>::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_cuda::Decoder<'a>::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_jpeg_cuda::Decoder<'a>::from_view(Self::View) -> core::result::Result -pub fn j2k_jpeg_cuda::Decoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg_cuda::Decoder<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_jpeg_cuda::Decoder<'a>::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Decoder<'a>::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Decoder<'a>::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Decoder<'a>::submit_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_jpeg_cuda::Error::is_buffer_error(&self) -> bool -pub fn j2k_jpeg_cuda::Error::is_not_implemented(&self) -> bool -pub fn j2k_jpeg_cuda::Error::is_truncated(&self) -> bool -pub fn j2k_jpeg_cuda::Error::is_unsupported(&self) -> bool -pub fn j2k_jpeg_cuda::Surface::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_jpeg_cuda::Surface::byte_len(&self) -> usize -pub fn j2k_jpeg_cuda::Surface::dimensions(&self) -> (u32, u32) -pub fn j2k_jpeg_cuda::Surface::execution_stats(&self) -> j2k_core::accelerator::ExecutionStats -pub fn j2k_jpeg_cuda::Surface::memory_range(&self) -> core::option::Option -pub fn j2k_jpeg_cuda::Surface::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_jpeg_cuda::Surface::residency(&self) -> j2k_core::accelerator::SurfaceResidency -pub j2k_jpeg_cuda::CudaJpegDecodePath::None -pub j2k_jpeg_cuda::CudaJpegDecodePath::OwnedCuda -pub j2k_jpeg_cuda::Error::CudaRuntime::message: alloc::string::String -pub struct j2k_jpeg_cuda::CudaSurfaceStats -pub type j2k_jpeg_cuda::Codec::Context = j2k_jpeg::context::DecoderContext -pub type j2k_jpeg_cuda::Codec::DeviceSurface = j2k_jpeg_cuda::Surface -pub type j2k_jpeg_cuda::Codec::Error = j2k_jpeg_cuda::Error -pub type j2k_jpeg_cuda::Codec::Pool = j2k_jpeg::internal::scratch::ScratchPool -pub type j2k_jpeg_cuda::Codec::Session = j2k_jpeg_cuda::CudaSession -pub type j2k_jpeg_cuda::Codec::SubmittedSurface = j2k_core::traits::ReadySubmission -pub type j2k_jpeg_cuda::Codec::Warning = j2k_jpeg::error::Warning -pub type j2k_jpeg_cuda::Decoder<'_>::Error = j2k_jpeg_cuda::Error -pub type j2k_jpeg_cuda::Decoder<'_>::Pool = j2k_jpeg::internal::scratch::ScratchPool -pub type j2k_jpeg_cuda::Decoder<'_>::Warning = j2k_jpeg::error::Warning -pub type j2k_jpeg_cuda::Decoder<'a>::DeviceSurface = j2k_jpeg_cuda::Surface -pub type j2k_jpeg_cuda::Decoder<'a>::Session = j2k_jpeg_cuda::CudaSession -pub type j2k_jpeg_cuda::Decoder<'a>::SubmittedSurface = j2k_core::traits::ReadySubmission -pub type j2k_jpeg_cuda::Decoder<'a>::View = j2k_jpeg::decoder::JpegView<'a> -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_jpeg_cuda::Error -impl core::default::Default for j2k_jpeg_cuda::CudaSession -pub fn j2k_jpeg_cuda::Codec::decode_tiles_to_device_with_session(&[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest, &mut j2k_jpeg_cuda::CudaSession) -> core::result::Result, j2k_jpeg_cuda::Error> -pub fn j2k_jpeg_cuda::CudaSession::default() -> Self -pub fn j2k_jpeg_cuda::encode_jpeg_baseline_batch_from_cuda_buffers(&[j2k_jpeg_cuda::JpegBaselineCudaEncodeTile<'_>], j2k_jpeg::baseline_encode_contract::JpegEncodeOptions, &mut j2k_jpeg_cuda::CudaSession) -> core::result::Result, j2k_jpeg_cuda::Error> -pub fn j2k_jpeg_cuda::encode_jpeg_baseline_from_cuda_buffer(j2k_jpeg_cuda::JpegBaselineCudaEncodeTile<'_>, j2k_jpeg::baseline_encode_contract::JpegEncodeOptions, &mut j2k_jpeg_cuda::CudaSession) -> core::result::Result -pub j2k_jpeg_cuda::CudaJpegDecodeOutputTile::input: &'a [u8] -pub j2k_jpeg_cuda::CudaJpegDecodeOutputTile::output: &'a j2k_cuda_runtime::memory::CudaDeviceBuffer -pub j2k_jpeg_cuda::CudaJpegDecodeOutputTile::pitch_bytes: usize -pub j2k_jpeg_cuda::Error::BatchCapacityExceeded -pub j2k_jpeg_cuda::Error::BatchCapacityExceeded::capacity: usize -pub j2k_jpeg_cuda::Error::BatchCapacityExceeded::what: &'static str -pub j2k_jpeg_cuda::Error::CudaRuntime::source: j2k_cuda_runtime::error::CudaError -pub j2k_jpeg_cuda::Error::CudaSessionRuntimePoisoned -pub j2k_jpeg_cuda::Error::Encode(j2k_jpeg::baseline_encode_contract::JpegEncodeError) -pub j2k_jpeg_cuda::Error::FastPacket(j2k_jpeg::adapter::fast_packet::error::FastPacketError) -pub j2k_jpeg_cuda::Error::HostAllocationFailed -pub j2k_jpeg_cuda::Error::HostAllocationFailed::bytes: usize -pub j2k_jpeg_cuda::Error::HostAllocationFailed::what: &'static str -pub j2k_jpeg_cuda::Error::HostAllocationTooLarge -pub j2k_jpeg_cuda::Error::HostAllocationTooLarge::cap: usize -pub j2k_jpeg_cuda::Error::HostAllocationTooLarge::requested: usize -pub j2k_jpeg_cuda::Error::HostAllocationTooLarge::what: &'static str -pub j2k_jpeg_cuda::Error::InFlightHostLedgerPoisoned -pub j2k_jpeg_cuda::Error::JpegHostOperationPoisoned -pub j2k_jpeg_cuda::Error::JpegPlanCache(j2k_jpeg::adapter::fast_packet::cache::JpegPlanCacheError) -pub j2k_jpeg_cuda::Error::OperationAndHostAccountingFailed -pub j2k_jpeg_cuda::Error::OperationAndHostAccountingFailed::accounting: alloc::boxed::Box -pub j2k_jpeg_cuda::Error::OperationAndHostAccountingFailed::primary: alloc::boxed::Box -pub j2k_jpeg_cuda::Error::OwnedPacketCachePoisoned -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::buffer: &'a j2k_cuda_runtime::memory::CudaDeviceBuffer -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::byte_offset: usize -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::format: j2k_core::pixel::PixelFormat -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::height: u32 -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::output_height: u32 -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::output_width: u32 -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::pitch_bytes: usize -pub j2k_jpeg_cuda::JpegBaselineCudaEncodeTile::width: u32 -pub struct j2k_jpeg_cuda::CudaJpegDecodeOutputTile<'a> -pub struct j2k_jpeg_cuda::JpegBaselineCudaEncodeTile<'a> -``` - -### `j2k-cuda` - -Baseline items: 330. Candidate items: 123. Computed release type: `major`. Rustdoc-hidden candidate items: 171. Full hidden-inventory fingerprint: `fnv1a64:171da25cdbd064de`. - -#### Removed or changed baseline API items - -```text -#[non_exhaustive] pub enum j2k_cuda::SurfaceResidency -#[repr(C)] pub struct j2k_cuda::CudaHtj2kCodeBlock -#[repr(C)] pub struct j2k_cuda::CudaHtj2kIdwtStep -#[repr(C)] pub struct j2k_cuda::CudaHtj2kRect -#[repr(C)] pub struct j2k_cuda::CudaHtj2kStoreStep -#[repr(C)] pub struct j2k_cuda::CudaHtj2kSubband -#[repr(u32)] pub enum j2k_cuda::CudaHtj2kTransform -impl core::default::Default for j2k_cuda::CudaHtj2kEncodeProfileReport -impl j2k::adapter::encode_stage::J2kEncodeStageAccelerator for j2k_cuda::CudaEncodeStageAccelerator -impl j2k_core::accelerator::AcceleratorSession for j2k_cuda::CudaSession -impl j2k_core::error::CodecError for j2k_cuda::Error -impl j2k_core::traits::DeviceSubmission for j2k_cuda::SubmittedJ2kLosslessCudaEncode -impl j2k_core::traits::DeviceSubmission for j2k_cuda::SubmittedJ2kLosslessCudaEncodeBatch -impl j2k_core::traits::DeviceSubmitSession for j2k_cuda::CudaSession -impl j2k_core::traits::DeviceSurface for j2k_cuda::Surface -impl j2k_core::traits::ImageCodec for j2k_cuda::Codec -impl j2k_core::traits::ImageCodec for j2k_cuda::J2kDecoder<'_> -impl j2k_core::traits::TileBatchDecodeDevice for j2k_cuda::Codec -impl j2k_core::traits::TileBatchDecodeManyDevice for j2k_cuda::Codec -impl j2k_core::traits::TileBatchDecodeSubmit for j2k_cuda::Codec -impl j2k_cuda::CudaHtj2kDecodePlan -impl j2k_cuda::CudaHtj2kEncodeProfileReport -impl j2k_cuda::CudaHtj2kProfileReport -impl j2k_cuda::CudaSurfaceStats -impl<'a> j2k_core::traits::ImageDecode<'a> for j2k_cuda::J2kDecoder<'a> -impl<'a> j2k_core::traits::ImageDecodeDevice<'a> for j2k_cuda::J2kDecoder<'a> -impl<'a> j2k_core::traits::ImageDecodeSubmit<'a> for j2k_cuda::J2kDecoder<'a> -pub fn j2k_cuda::Codec::decode_tiles_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_cuda::Codec::submit_tile_region_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::Codec::submit_tile_region_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::Codec::submit_tile_scaled_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::Codec::submit_tile_to_device(&mut j2k_core::context::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::CudaEncodeStageAccelerator::deinterleave_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::deinterleave_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> core::result::Result>>, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> core::result::Result -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> core::result::Result -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_ht_subband(&mut self, j2k_types::J2kHtSubbandEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_dwt53_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_dwt53_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_dwt97_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_dwt97_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_ict_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_ict_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_rct_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::forward_rct_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::ht_code_block_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::ht_code_block_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::packetization_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::packetization_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::quantize_subband_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::quantize_subband_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::tier1_code_block_attempts(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::tier1_code_block_dispatches(&self) -> usize -pub fn j2k_cuda::CudaEncodeStageAccelerator::with_profile_collection(bool) -> Self -pub fn j2k_cuda::CudaHtj2kDecodePlan::bit_depth(&self) -> u8 -pub fn j2k_cuda::CudaHtj2kDecodePlan::code_blocks(&self) -> &[j2k_cuda::CudaHtj2kCodeBlock] -pub fn j2k_cuda::CudaHtj2kDecodePlan::dimensions(&self) -> (u32, u32) -pub fn j2k_cuda::CudaHtj2kDecodePlan::dispatch_count_hint(&self) -> usize -pub fn j2k_cuda::CudaHtj2kDecodePlan::idwt_steps(&self) -> &[j2k_cuda::CudaHtj2kIdwtStep] -pub fn j2k_cuda::CudaHtj2kDecodePlan::output_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_cuda::CudaHtj2kDecodePlan::output_origin(&self) -> (u32, u32) -pub fn j2k_cuda::CudaHtj2kDecodePlan::payload(&self) -> &[u8] -pub fn j2k_cuda::CudaHtj2kDecodePlan::store_steps(&self) -> &[j2k_cuda::CudaHtj2kStoreStep] -pub fn j2k_cuda::CudaHtj2kDecodePlan::subbands(&self) -> &[j2k_cuda::CudaHtj2kSubband] -pub fn j2k_cuda::CudaHtj2kDecodePlan::transform(&self) -> j2k_cuda::CudaHtj2kTransform -pub fn j2k_cuda::CudaHtj2kEncodeProfileReport::default() -> Self -pub fn j2k_cuda::CudaHtj2kEncodeProfileReport::emit(&self, &str) -pub fn j2k_cuda::CudaHtj2kProfileReport::emit(&self, &str) -pub fn j2k_cuda::CudaSession::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_cuda::CudaSession::execution_stats(&self) -> j2k_core::accelerator::ExecutionStats -pub fn j2k_cuda::CudaSession::record_submit(&mut self) -pub fn j2k_cuda::CudaSurface<'_>::stats(&self) -> j2k_cuda::CudaSurfaceStats -pub fn j2k_cuda::CudaSurfaceStats::copy_kernel_dispatches(self) -> usize -pub fn j2k_cuda::CudaSurfaceStats::decode_kernel_dispatches(self) -> usize -pub fn j2k_cuda::CudaSurfaceStats::kernel_dispatches(self) -> usize -pub fn j2k_cuda::Error::is_buffer_error(&self) -> bool -pub fn j2k_cuda::Error::is_not_implemented(&self) -> bool -pub fn j2k_cuda::Error::is_truncated(&self) -> bool -pub fn j2k_cuda::Error::is_unsupported(&self) -> bool -pub fn j2k_cuda::J2kDecoder<'a>::build_cuda_htj2k_grayscale_plan_with_profile(&mut self, j2k_core::pixel::PixelFormat) -> core::result::Result<(j2k_cuda::CudaHtj2kDecodePlan, j2k_cuda::CudaHtj2kProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::J2kDecoder<'a>::build_cuda_htj2k_grayscale_region_plan_with_profile(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result<(j2k_cuda::CudaHtj2kDecodePlan, j2k_cuda::CudaHtj2kProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::J2kDecoder<'a>::build_cuda_htj2k_grayscale_region_scaled_plan_with_profile(&mut self, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, (u32, u32)) -> core::result::Result<(j2k_cuda::CudaHtj2kDecodePlan, j2k_cuda::CudaHtj2kProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::J2kDecoder<'a>::build_cuda_htj2k_grayscale_scaled_plan_with_profile(&mut self, j2k_core::pixel::PixelFormat, (u32, u32)) -> core::result::Result<(j2k_cuda::CudaHtj2kDecodePlan, j2k_cuda::CudaHtj2kProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_batch_to_device_with_session_and_profile(&[&[u8]], j2k_core::pixel::PixelFormat, &mut j2k_cuda::CudaSession) -> core::result::Result<(alloc::vec::Vec, j2k_cuda::CudaHtj2kProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_into(&mut self, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_into_with_scratch(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_region_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect) -> core::result::Result, Self::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_region_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_scaled_into(&mut self, &mut Self::Pool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_cuda::J2kDecoder<'a>::decode_to_device_with_session_and_profile(&mut self, j2k_core::pixel::PixelFormat, &mut j2k_cuda::CudaSession) -> core::result::Result<(j2k_cuda::Surface, j2k_cuda::CudaHtj2kProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::J2kDecoder<'a>::from_view(Self::View) -> core::result::Result -pub fn j2k_cuda::J2kDecoder<'a>::inspect(&'a [u8]) -> core::result::Result -pub fn j2k_cuda::J2kDecoder<'a>::parse(&'a [u8]) -> core::result::Result -pub fn j2k_cuda::J2kDecoder<'a>::submit_region_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::J2kDecoder<'a>::submit_region_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::J2kDecoder<'a>::submit_scaled_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::scale::Downscale, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::J2kDecoder<'a>::submit_to_device(&mut self, &mut Self::Session, j2k_core::pixel::PixelFormat, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_cuda::SubmittedJ2kLosslessCudaEncode::wait(self) -> core::result::Result -pub fn j2k_cuda::SubmittedJ2kLosslessCudaEncodeBatch::wait(self) -> core::result::Result -pub fn j2k_cuda::Surface::backend_kind(&self) -> j2k_core::backend::BackendKind -pub fn j2k_cuda::Surface::byte_len(&self) -> usize -pub fn j2k_cuda::Surface::dimensions(&self) -> (u32, u32) -pub fn j2k_cuda::Surface::download_into_profiled(&self, &mut [u8], usize) -> core::result::Result -pub fn j2k_cuda::Surface::execution_stats(&self) -> j2k_core::accelerator::ExecutionStats -pub fn j2k_cuda::Surface::memory_range(&self) -> core::option::Option -pub fn j2k_cuda::Surface::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_cuda::Surface::residency(&self) -> j2k_cuda::SurfaceResidency -pub fn j2k_cuda::encode_j2k_lossless_with_cuda(j2k::encode::J2kLosslessSamples<'_>, &j2k::encode::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k_cuda::encode_j2k_lossless_with_cuda_and_profile(j2k::encode::J2kLosslessSamples<'_>, &j2k::encode::J2kLosslessEncodeOptions) -> core::result::Result<(j2k::encode::EncodedJ2k, j2k_cuda::CudaHtj2kEncodeProfileReport), j2k_cuda::Error> -pub fn j2k_cuda::encode_lossless_from_cuda_buffer(j2k_cuda::CudaLosslessEncodeTile<'_>, &j2k::encode::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub fn j2k_cuda::encode_lossless_from_cuda_buffer_with_report(j2k_cuda::CudaLosslessEncodeTile<'_>, &j2k::encode::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub fn j2k_cuda::encode_lossless_from_cuda_buffers(&[j2k_cuda::CudaLosslessEncodeTile<'_>], &j2k::encode::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result, j2k_cuda::Error> -pub fn j2k_cuda::encode_lossless_from_cuda_buffers_with_report(&[j2k_cuda::CudaLosslessEncodeTile<'_>], &j2k::encode::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result, j2k_cuda::Error> -pub fn j2k_cuda::submit_lossless_from_cuda_buffer(j2k_cuda::CudaLosslessEncodeTile<'_>, &j2k::encode::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub fn j2k_cuda::submit_lossless_from_cuda_buffers(&[j2k_cuda::CudaLosslessEncodeTile<'_>], &j2k::encode::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub j2k_cuda::CudaHtj2kCodeBlock::cleanup_length: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::dequantization_step: f32 -pub j2k_cuda::CudaHtj2kCodeBlock::height: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::missing_bit_planes: u8 -pub j2k_cuda::CudaHtj2kCodeBlock::num_bitplanes: u8 -pub j2k_cuda::CudaHtj2kCodeBlock::number_of_coding_passes: u8 -pub j2k_cuda::CudaHtj2kCodeBlock::output_stride: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::output_x: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::output_y: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::payload_len: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::payload_offset: u64 -pub j2k_cuda::CudaHtj2kCodeBlock::refinement_length: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::stripe_causal: u8 -pub j2k_cuda::CudaHtj2kCodeBlock::subband_index: u32 -pub j2k_cuda::CudaHtj2kCodeBlock::width: u32 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::dequant_dispatch_count: usize -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::ht_dispatch_count: usize -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::idwt_dispatch_count: usize -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::job_upload_us: u128 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::mct_dispatch_count: usize -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::output_d2h_us: u128 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::payload_upload_us: u128 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::stage_sum_us: u128 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::status_d2h_us: u128 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::store_dispatch_count: usize -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::table_upload_us: u128 -pub j2k_cuda::CudaHtj2kDecodeProfileDetail::wall_total_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::backend: j2k_core::backend::BackendKind -pub j2k_cuda::CudaHtj2kEncodeProfileReport::block_count: usize -pub j2k_cuda::CudaHtj2kEncodeProfileReport::codestream_bytes: usize -pub j2k_cuda::CudaHtj2kEncodeProfileReport::deinterleave_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::dispatch_count: usize -pub j2k_cuda::CudaHtj2kEncodeProfileReport::dwt_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::ht_encode_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::input_bytes: usize -pub j2k_cuda::CudaHtj2kEncodeProfileReport::mct_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::packetize_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::quantize_us: u128 -pub j2k_cuda::CudaHtj2kEncodeProfileReport::total_us: u128 -pub j2k_cuda::CudaHtj2kIdwtStep::hh_band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kIdwtStep::hh_rect: j2k_cuda::CudaHtj2kRect -pub j2k_cuda::CudaHtj2kIdwtStep::hl_band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kIdwtStep::hl_rect: j2k_cuda::CudaHtj2kRect -pub j2k_cuda::CudaHtj2kIdwtStep::lh_band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kIdwtStep::lh_rect: j2k_cuda::CudaHtj2kRect -pub j2k_cuda::CudaHtj2kIdwtStep::ll_band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kIdwtStep::ll_rect: j2k_cuda::CudaHtj2kRect -pub j2k_cuda::CudaHtj2kIdwtStep::output_band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kIdwtStep::rect: j2k_cuda::CudaHtj2kRect -pub j2k_cuda::CudaHtj2kIdwtStep::transform: j2k_cuda::CudaHtj2kTransform -pub j2k_cuda::CudaHtj2kProfileReport::block_count: usize -pub j2k_cuda::CudaHtj2kProfileReport::dequant_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::detail: j2k_cuda::CudaHtj2kDecodeProfileDetail -pub j2k_cuda::CudaHtj2kProfileReport::dispatch_count: usize -pub j2k_cuda::CudaHtj2kProfileReport::flatten_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::h2d_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::ht_cleanup_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::ht_refine_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::idwt_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::mct_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::parse_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::payload_bytes: usize -pub j2k_cuda::CudaHtj2kProfileReport::plan_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::residency: j2k_cuda::SurfaceResidency -pub j2k_cuda::CudaHtj2kProfileReport::store_us: u128 -pub j2k_cuda::CudaHtj2kProfileReport::total_us: u128 -pub j2k_cuda::CudaHtj2kRect::x0: u32 -pub j2k_cuda::CudaHtj2kRect::x1: u32 -pub j2k_cuda::CudaHtj2kRect::y0: u32 -pub j2k_cuda::CudaHtj2kRect::y1: u32 -pub j2k_cuda::CudaHtj2kStoreStep::addend: f32 -pub j2k_cuda::CudaHtj2kStoreStep::copy_height: u32 -pub j2k_cuda::CudaHtj2kStoreStep::copy_width: u32 -pub j2k_cuda::CudaHtj2kStoreStep::input_band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kStoreStep::input_rect: j2k_cuda::CudaHtj2kRect -pub j2k_cuda::CudaHtj2kStoreStep::output_height: u32 -pub j2k_cuda::CudaHtj2kStoreStep::output_width: u32 -pub j2k_cuda::CudaHtj2kStoreStep::output_x: u32 -pub j2k_cuda::CudaHtj2kStoreStep::output_y: u32 -pub j2k_cuda::CudaHtj2kStoreStep::source_x: u32 -pub j2k_cuda::CudaHtj2kStoreStep::source_y: u32 -pub j2k_cuda::CudaHtj2kSubband::band_id: j2k_cuda::CudaHtj2kBandId -pub j2k_cuda::CudaHtj2kSubband::code_block_count: u32 -pub j2k_cuda::CudaHtj2kSubband::code_block_start: u32 -pub j2k_cuda::CudaHtj2kSubband::height: u32 -pub j2k_cuda::CudaHtj2kSubband::width: u32 -pub j2k_cuda::CudaHtj2kSubband::x0: u32 -pub j2k_cuda::CudaHtj2kSubband::x1: u32 -pub j2k_cuda::CudaHtj2kSubband::y0: u32 -pub j2k_cuda::CudaHtj2kSubband::y1: u32 -pub j2k_cuda::CudaHtj2kTransform::Irreversible97 -pub j2k_cuda::CudaHtj2kTransform::Reversible53 -pub j2k_cuda::CudaLosslessEncodeOutcome::encode_duration: core::time::Duration -pub j2k_cuda::CudaLosslessEncodeOutcome::encoded: j2k::encode::EncodedJ2k -pub j2k_cuda::CudaLosslessEncodeOutcome::gpu_duration: core::option::Option -pub j2k_cuda::CudaLosslessEncodeOutcome::host_readback_duration: core::time::Duration -pub j2k_cuda::CudaLosslessEncodeOutcome::input_copy_duration: core::time::Duration -pub j2k_cuda::CudaLosslessEncodeOutcome::input_copy_used: bool -pub j2k_cuda::CudaLosslessEncodeOutcome::resident: j2k_cuda::CudaLosslessEncodeResidency -pub j2k_cuda::CudaLosslessEncodeOutcome::stage_timings: j2k_cuda::CudaEncodeStageTimings -pub j2k_cuda::CudaLosslessEncodeOutcome::validation_duration: core::time::Duration -pub j2k_cuda::Error::CudaRuntime::message: alloc::string::String -pub j2k_cuda::SurfaceResidency::CpuStagedCudaUpload -pub j2k_cuda::SurfaceResidency::CudaResidentDecode -pub j2k_cuda::SurfaceResidency::Host -pub struct j2k_cuda::CudaHtj2kDecodePlan -pub struct j2k_cuda::CudaHtj2kDecodeProfileDetail -pub struct j2k_cuda::CudaHtj2kEncodeProfileReport -pub struct j2k_cuda::CudaHtj2kProfileReport -pub struct j2k_cuda::CudaLosslessEncodeOutcome -pub struct j2k_cuda::CudaSurfaceStats -pub type j2k_cuda::Codec::Context = j2k::context::J2kContext -pub type j2k_cuda::Codec::DeviceSurface = j2k_cuda::Surface -pub type j2k_cuda::Codec::Error = j2k_cuda::Error -pub type j2k_cuda::Codec::Pool = j2k::scratch::J2kScratchPool -pub type j2k_cuda::Codec::Session = j2k_cuda::CudaSession -pub type j2k_cuda::Codec::SubmittedSurface = j2k_core::traits::ReadySubmission -pub type j2k_cuda::Codec::Warning = core::convert::Infallible -pub type j2k_cuda::CudaHtj2kBandId = u32 -pub type j2k_cuda::J2kDecoder<'_>::Error = j2k_cuda::Error -pub type j2k_cuda::J2kDecoder<'_>::Pool = j2k::scratch::J2kScratchPool -pub type j2k_cuda::J2kDecoder<'_>::Warning = core::convert::Infallible -pub type j2k_cuda::J2kDecoder<'a>::DeviceSurface = j2k_cuda::Surface -pub type j2k_cuda::J2kDecoder<'a>::Session = j2k_cuda::CudaSession -pub type j2k_cuda::J2kDecoder<'a>::SubmittedSurface = j2k_core::traits::ReadySubmission -pub type j2k_cuda::J2kDecoder<'a>::View = j2k::view::J2kView<'a> -pub type j2k_cuda::SubmittedJ2kLosslessCudaEncode::Error = j2k_cuda::Error -pub type j2k_cuda::SubmittedJ2kLosslessCudaEncode::Output = j2k::encode::EncodedJ2k -pub type j2k_cuda::SubmittedJ2kLosslessCudaEncodeBatch::Error = j2k_cuda::Error -pub type j2k_cuda::SubmittedJ2kLosslessCudaEncodeBatch::Output = alloc::vec::Vec -``` - -#### Added candidate API items - -```text -impl core::error::Error for j2k_cuda::NativeBackendError -impl core::fmt::Display for j2k_cuda::NativeBackendError -impl j2k_cuda::CudaEncodedJ2k -impl j2k_cuda::CudaResidentCodestreamBuffer -pub fn j2k_cuda::CudaEncodedJ2k::codestream(&self) -> &j2k_cuda::CudaResidentCodestreamBuffer -pub fn j2k_cuda::CudaEncodedJ2k::into_parts(self) -> (j2k_cuda::CudaEncodedJ2kMetadata, j2k_cuda::CudaResidentCodestreamBuffer) -pub fn j2k_cuda::CudaEncodedJ2k::metadata(&self) -> &j2k_cuda::CudaEncodedJ2kMetadata -pub fn j2k_cuda::CudaResidentCodestreamBuffer::buffer(&self) -> &j2k_cuda_runtime::memory::CudaDeviceBuffer -pub fn j2k_cuda::CudaResidentCodestreamBuffer::byte_len(&self) -> usize -pub fn j2k_cuda::CudaResidentCodestreamBuffer::download(&self) -> core::result::Result, j2k_cuda::Error> -pub fn j2k_cuda::CudaResidentCodestreamBuffer::into_buffer(self) -> j2k_cuda_runtime::memory::CudaDeviceBuffer -pub fn j2k_cuda::NativeBackendError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_cuda::NativeBackendError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_cuda::encode_j2k_lossless_with_cuda(j2k::encode::samples::J2kLosslessSamples<'_>, &j2k::encode::contracts::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k_cuda::encode_lossless_from_cuda_buffer(j2k_cuda::CudaLosslessEncodeTile<'_>, &j2k::encode::contracts::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub fn j2k_cuda::encode_lossless_from_cuda_buffer_to_cuda_buffer(j2k_cuda::CudaLosslessEncodeTile<'_>, &j2k::encode::contracts::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub fn j2k_cuda::encode_lossless_from_cuda_buffers(&[j2k_cuda::CudaLosslessEncodeTile<'_>], &j2k::encode::contracts::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result, j2k_cuda::Error> -pub fn j2k_cuda::encode_lossless_from_cuda_buffers_to_cuda_buffers(&[j2k_cuda::CudaLosslessEncodeTile<'_>], &j2k::encode::contracts::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result, j2k_cuda::Error> -pub fn j2k_cuda::submit_lossless_from_cuda_buffer(j2k_cuda::CudaLosslessEncodeTile<'_>, &j2k::encode::contracts::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub fn j2k_cuda::submit_lossless_from_cuda_buffers(&[j2k_cuda::CudaLosslessEncodeTile<'_>], &j2k::encode::contracts::J2kLosslessEncodeOptions, &mut j2k_cuda::CudaSession) -> core::result::Result -pub j2k_cuda::CudaEncodedJ2k::codestream: j2k_cuda::CudaResidentCodestreamBuffer -pub j2k_cuda::CudaEncodedJ2k::metadata: j2k_cuda::CudaEncodedJ2kMetadata -pub j2k_cuda::CudaEncodedJ2kMetadata::backend: j2k_core::backend::BackendKind -pub j2k_cuda::CudaEncodedJ2kMetadata::bit_depth: u8 -pub j2k_cuda::CudaEncodedJ2kMetadata::components: u16 -pub j2k_cuda::CudaEncodedJ2kMetadata::dispatch_report: j2k_types::J2kEncodeDispatchReport -pub j2k_cuda::CudaEncodedJ2kMetadata::height: u32 -pub j2k_cuda::CudaEncodedJ2kMetadata::signed: bool -pub j2k_cuda::CudaEncodedJ2kMetadata::width: u32 -pub j2k_cuda::Error::CudaCleanupFailed -pub j2k_cuda::Error::CudaCleanupFailed::cleanup: alloc::boxed::Box -pub j2k_cuda::Error::CudaCleanupFailed::primary: alloc::boxed::Box -pub j2k_cuda::Error::CudaRuntime::source: j2k_cuda_runtime::error::CudaError -pub j2k_cuda::Error::HostAllocationFailed -pub j2k_cuda::Error::HostAllocationFailed::bytes: usize -pub j2k_cuda::Error::HostAllocationFailed::what: &'static str -pub j2k_cuda::Error::HostAllocationTooLarge -pub j2k_cuda::Error::HostAllocationTooLarge::cap: usize -pub j2k_cuda::Error::HostAllocationTooLarge::requested: usize -pub j2k_cuda::Error::HostAllocationTooLarge::what: &'static str -pub j2k_cuda::Error::NativeDecode -pub j2k_cuda::Error::NativeDecode::context: &'static str -pub j2k_cuda::Error::NativeDecode::source: j2k_cuda::NativeBackendError -pub struct j2k_cuda::CudaEncodedJ2k -pub struct j2k_cuda::CudaEncodedJ2kMetadata -pub struct j2k_cuda::CudaResidentCodestreamBuffer -pub struct j2k_cuda::NativeBackendError -pub use j2k_cuda::SurfaceResidency -``` - -### `j2k-transcode` - -Baseline items: 268. Candidate items: 426. Computed release type: `major`. Rustdoc-hidden candidate items: 455. Full hidden-inventory fingerprint: `fnv1a64:fdd61f6fdda4a9ab`. - -#### Removed or changed baseline API items - -```text -impl core::convert::From<&'static str> for j2k_transcode::accelerator::TranscodeStageError -impl core::error::Error for j2k_transcode::accelerator::TranscodeStageError -impl core::fmt::Display for j2k_transcode::accelerator::TranscodeStageError -impl j2k_transcode::accelerator::DctToWaveletStageAccelerator for j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator -impl j2k_transcode::accelerator::DctToWaveletStageAccelerator for j2k_transcode::accelerator::RayonReversibleDwt53Accelerator -impl j2k_transcode::accelerator::RayonReversibleDwt53Accelerator -impl j2k_transcode::dct53_2d::Dct53GridScratch -impl j2k_transcode::dct53_2d::Dwt53TwoDimensional -impl j2k_transcode::dct97_2d::Dct97GridScratch -pub const fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::reversible_dwt53_attempts(&self) -> usize -pub const fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::reversible_dwt53_batch_attempts(&self) -> usize -pub const fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::reversible_dwt53_batch_dispatches(&self) -> usize -pub const fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::reversible_dwt53_dispatches(&self) -> usize -pub enum j2k_transcode::accelerator::TranscodeStageError -pub fn j2k_transcode::TranscodePipelineMap::debug_report(&self) -> alloc::string::String -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_dwt53(&mut self, j2k_transcode::accelerator::DctGridToDwt53Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_dwt97(&mut self, j2k_transcode::accelerator::DctGridToDwt97Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_dwt97_batch(&mut self, &[j2k_transcode::accelerator::DctGridToDwt97Job<'_>]) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_htj2k97_codeblock_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53(&mut self, j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::supports_dwt97_batch(&self) -> bool -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::supports_htj2k97_codeblock_batch(&self) -> bool -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::supports_htj2k97_compact_preencoded_batch(&self) -> bool -pub fn j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator::supports_htj2k97_i16_preencoded_batch(&self) -> bool -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_dwt53(&mut self, j2k_transcode::accelerator::DctGridToDwt53Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_dwt97(&mut self, j2k_transcode::accelerator::DctGridToDwt97Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_dwt97_batch(&mut self, &[j2k_transcode::accelerator::DctGridToDwt97Job<'_>]) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_htj2k97_codeblock_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53(&mut self, j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::supports_dwt97_batch(&self) -> bool -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::supports_htj2k97_codeblock_batch(&self) -> bool -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::supports_htj2k97_compact_preencoded_batch(&self) -> bool -pub fn j2k_transcode::accelerator::DctToWaveletStageAccelerator::supports_htj2k97_i16_preencoded_batch(&self) -> bool -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_i16_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_i16_to_htj2k97_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_dwt53(&mut self, j2k_transcode::accelerator::DctGridToDwt53Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_dwt97(&mut self, j2k_transcode::accelerator::DctGridToDwt97Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_dwt97_batch(&mut self, &[j2k_transcode::accelerator::DctGridToDwt97Job<'_>]) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_htj2k97_codeblock_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_reversible_dwt53(&mut self, j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::supports_dwt97_batch(&self) -> bool -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::supports_htj2k97_codeblock_batch(&self) -> bool -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::supports_htj2k97_compact_preencoded_batch(&self) -> bool -pub fn j2k_transcode::accelerator::RayonReversibleDwt53Accelerator::supports_htj2k97_i16_preencoded_batch(&self) -> bool -pub fn j2k_transcode::accelerator::TranscodeStageError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode::accelerator::TranscodeStageError::from(&'static str) -> Self -pub fn j2k_transcode::accelerator::idct_blocks_to_signed_samples_rayon(&[[i16; 64]]) -> alloc::vec::Vec<[i32; 64]> -pub fn j2k_transcode::accelerator::reversible_dwt53_first_level_from_block_samples(&[[i32; 64]], usize, usize, usize, usize) -> core::result::Result -pub fn j2k_transcode::dct53_2d::Dct53GridScratch::weight_row_capacity(&self) -> usize -pub fn j2k_transcode::dct53_2d::Dwt53TwoDimensional::max_abs_diff(&self, &Self) -> f64 -pub fn j2k_transcode::dct53_2d::dct8x8_blocks_then_dwt53_float(&[[[f64; 8]; 8]], usize, usize, usize, usize) -> core::result::Result, j2k_transcode::DctGridError> -pub fn j2k_transcode::dct53_2d::dct8x8_blocks_to_dwt53_float_linear(&[[[f64; 8]; 8]], usize, usize, usize, usize) -> core::result::Result, j2k_transcode::DctGridError> -pub fn j2k_transcode::dct53_2d::dct8x8_blocks_to_dwt53_float_linear_with_scratch(&[[[f64; 8]; 8]], usize, usize, usize, usize, &mut j2k_transcode::dct53_2d::Dct53GridScratch) -> core::result::Result, j2k_transcode::DctGridError> -pub fn j2k_transcode::dct53_2d::dct8x8_to_dwt53_float_linear([[f64; 8]; 8]) -> j2k_transcode::dct53_2d::Dwt53TwoDimensional -pub fn j2k_transcode::dct53_2d::idct8x8_then_dwt53_float([[f64; 8]; 8]) -> j2k_transcode::dct53_2d::Dwt53TwoDimensional -pub fn j2k_transcode::dct97_2d::Dct97GridScratch::spatial_sample_capacity(&self) -> usize -pub fn j2k_transcode::dct97_2d::dct8x8_blocks_then_dwt97_float(&[[[f64; 8]; 8]], usize, usize, usize, usize) -> core::result::Result, j2k_transcode::DctGridError> -pub fn j2k_transcode::dct97_2d::dct8x8_blocks_then_dwt97_float_with_scratch(&[[[f64; 8]; 8]], usize, usize, usize, usize, &mut j2k_transcode::dct97_2d::Dct97GridScratch) -> core::result::Result, j2k_transcode::DctGridError> -pub fn j2k_transcode::htj2k97_codeblock_oracle::htj2k97_subband_delta(j2k_transcode::accelerator::Htj2k97CodeBlockOptions, j2k_types::J2kSubBandType) -> f64 -pub fn j2k_transcode::htj2k97_codeblock_oracle::htj2k97_subband_total_bitplanes(j2k_transcode::accelerator::Htj2k97CodeBlockOptions, j2k_types::J2kSubBandType) -> u8 -pub fn j2k_transcode::htj2k97_codeblock_oracle::prequantized_component_from_dwt97(&j2k_transcode::dct97_2d::Dwt97TwoDimensional, j2k_transcode::accelerator::Htj2k97CodeBlockOptions, u8, u8) -> j2k_types::PrequantizedHtj2k97Component -pub fn j2k_transcode::htj2k97_codeblock_oracle::quantize_codeblock_subband(&[f64], usize, usize, j2k_types::J2kSubBandType, j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> j2k_types::PrequantizedHtj2k97Subband -pub fn j2k_transcode::htj2k97_codeblock_oracle::validate_htj2k97_codeblock_options(j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result<(usize, usize), &'static str> -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch::jobs: &'j [j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'a>] -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::block_cols: usize -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::block_rows: usize -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::dequantized_blocks: &'a [[i16; 64]] -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::height: usize -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::width: usize -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::x_rsiz: u8 -pub j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob::y_rsiz: u8 -pub j2k_transcode::accelerator::DctGridToDwt53Job::block_cols: usize -pub j2k_transcode::accelerator::DctGridToDwt53Job::block_rows: usize -pub j2k_transcode::accelerator::DctGridToDwt53Job::blocks: &'a [[[f64; 8]; 8]] -pub j2k_transcode::accelerator::DctGridToDwt53Job::height: usize -pub j2k_transcode::accelerator::DctGridToDwt53Job::width: usize -pub j2k_transcode::accelerator::DctGridToDwt97Job::block_cols: usize -pub j2k_transcode::accelerator::DctGridToDwt97Job::block_rows: usize -pub j2k_transcode::accelerator::DctGridToDwt97Job::blocks: &'a [[[f64; 8]; 8]] -pub j2k_transcode::accelerator::DctGridToDwt97Job::height: usize -pub j2k_transcode::accelerator::DctGridToDwt97Job::width: usize -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::block_cols: usize -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::block_rows: usize -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::blocks: &'a [[[f64; 8]; 8]] -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::height: usize -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::width: usize -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::x_rsiz: u8 -pub j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob::y_rsiz: u8 -pub j2k_transcode::accelerator::DctGridToReversibleDwt53Job::block_cols: usize -pub j2k_transcode::accelerator::DctGridToReversibleDwt53Job::block_rows: usize -pub j2k_transcode::accelerator::DctGridToReversibleDwt53Job::dequantized_blocks: &'a [[i16; 64]] -pub j2k_transcode::accelerator::DctGridToReversibleDwt53Job::height: usize -pub j2k_transcode::accelerator::DctGridToReversibleDwt53Job::width: usize -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::column_lift_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::ht_codeblock_dispatches: usize -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::ht_compact_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::ht_encode_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::ht_kernel_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::ht_output_readback_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::ht_status_readback_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::idct_row_lift_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::pack_upload_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::quantize_codeblock_us: u128 -pub j2k_transcode::accelerator::Dwt97BatchStageTimings::readback_us: u128 -pub j2k_transcode::accelerator::Htj2k97CodeBlockOptions::bit_depth: u8 -pub j2k_transcode::accelerator::Htj2k97CodeBlockOptions::code_block_height_exp: u8 -pub j2k_transcode::accelerator::Htj2k97CodeBlockOptions::code_block_width_exp: u8 -pub j2k_transcode::accelerator::Htj2k97CodeBlockOptions::guard_bits: u8 -pub j2k_transcode::accelerator::Htj2k97CodeBlockOptions::irreversible_quantization_scale: f32 -pub j2k_transcode::accelerator::Htj2k97CodeBlockOptions::irreversible_quantization_subband_scales: j2k_types::IrreversibleQuantizationSubbandScales -pub j2k_transcode::accelerator::PreencodedHtj2k97CompactBatch::components: alloc::vec::Vec -pub j2k_transcode::accelerator::PreencodedHtj2k97CompactBatch::payload: alloc::vec::Vec -pub j2k_transcode::accelerator::PreencodedHtj2k97CompactBatchGroups::groups: alloc::vec::Vec> -pub j2k_transcode::accelerator::PreencodedHtj2k97CompactBatchGroups::payload: alloc::vec::Vec -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::hh: alloc::vec::Vec -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::high_height: usize -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::high_width: usize -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::hl: alloc::vec::Vec -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::lh: alloc::vec::Vec -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::ll: alloc::vec::Vec -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::low_height: usize -pub j2k_transcode::accelerator::ReversibleDwt53FirstLevel::low_width: usize -pub j2k_transcode::accelerator::TranscodeStageError::Backend(alloc::string::String) -pub j2k_transcode::accelerator::TranscodeStageError::DeviceUnavailable -pub j2k_transcode::accelerator::TranscodeStageError::Unsupported(&'static str) -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::hh: alloc::vec::Vec -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::high_height: usize -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::high_width: usize -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::hl: alloc::vec::Vec -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::lh: alloc::vec::Vec -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::ll: alloc::vec::Vec -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::low_height: usize -pub j2k_transcode::dct53_2d::Dwt53TwoDimensional::low_width: usize -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::hh: alloc::vec::Vec -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::high_height: usize -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::high_width: usize -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::hl: alloc::vec::Vec -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::lh: alloc::vec::Vec -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::ll: alloc::vec::Vec -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::low_height: usize -pub j2k_transcode::dct97_2d::Dwt97TwoDimensional::low_width: usize -pub mod j2k_transcode::accelerator -pub mod j2k_transcode::dct53_2d -pub mod j2k_transcode::dct97_2d -pub mod j2k_transcode::htj2k97_codeblock_oracle -pub struct j2k_transcode::accelerator::CpuOnlyDctToWaveletStageAccelerator -pub struct j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'a, 'j> -pub struct j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'a> -pub struct j2k_transcode::accelerator::DctGridToDwt53Job<'a> -pub struct j2k_transcode::accelerator::DctGridToDwt97Job<'a> -pub struct j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'a> -pub struct j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'a> -pub struct j2k_transcode::accelerator::Dwt97BatchStageTimings -pub struct j2k_transcode::accelerator::Htj2k97CodeBlockOptions -pub struct j2k_transcode::accelerator::PreencodedHtj2k97CompactBatch -pub struct j2k_transcode::accelerator::PreencodedHtj2k97CompactBatchGroups -pub struct j2k_transcode::accelerator::RayonReversibleDwt53Accelerator -pub struct j2k_transcode::accelerator::ReversibleDwt53FirstLevel -pub struct j2k_transcode::dct53_2d::Dct53GridError -pub struct j2k_transcode::dct53_2d::Dct53GridScratch -pub struct j2k_transcode::dct53_2d::Dwt53TwoDimensional -pub struct j2k_transcode::dct97_2d::Dct97GridError -pub struct j2k_transcode::dct97_2d::Dct97GridScratch -pub struct j2k_transcode::dct97_2d::Dwt97TwoDimensional -pub trait j2k_transcode::accelerator::DctToWaveletStageAccelerator -pub use j2k_transcode::accelerator::EncodedHtJ2kCodeBlock -pub use j2k_transcode::accelerator::IrreversibleQuantizationSubbandScales -pub use j2k_transcode::accelerator::J2kSubBandType -pub use j2k_transcode::accelerator::PreencodedHtj2k97CodeBlock -pub use j2k_transcode::accelerator::PreencodedHtj2k97CompactCodeBlock -pub use j2k_transcode::accelerator::PreencodedHtj2k97CompactComponent -pub use j2k_transcode::accelerator::PreencodedHtj2k97CompactImage -pub use j2k_transcode::accelerator::PreencodedHtj2k97CompactResolution -pub use j2k_transcode::accelerator::PreencodedHtj2k97CompactSubband -pub use j2k_transcode::accelerator::PreencodedHtj2k97Component -pub use j2k_transcode::accelerator::PreencodedHtj2k97Resolution -pub use j2k_transcode::accelerator::PreencodedHtj2k97Subband -pub use j2k_transcode::accelerator::PrequantizedHtj2k97CodeBlock -pub use j2k_transcode::accelerator::PrequantizedHtj2k97Component -pub use j2k_transcode::accelerator::PrequantizedHtj2k97Image -pub use j2k_transcode::accelerator::PrequantizedHtj2k97Resolution -pub use j2k_transcode::accelerator::PrequantizedHtj2k97Subband -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_transcode::DctTransformError -#[non_exhaustive] pub enum j2k_transcode::Htj2k97CodeBlockOptionsError -#[non_exhaustive] pub enum j2k_transcode::TranscodeStageError -impl core::convert::From for j2k_transcode::DctTransformError -impl core::error::Error for j2k_transcode::DctTransformError -impl core::error::Error for j2k_transcode::Htj2k97CodeBlockOptionsError -impl core::error::Error for j2k_transcode::ResidentHandoffError -impl core::error::Error for j2k_transcode::TranscodeStageError -impl core::fmt::Display for j2k_transcode::DctTransformError -impl core::fmt::Display for j2k_transcode::Htj2k97CodeBlockAxis -impl core::fmt::Display for j2k_transcode::Htj2k97CodeBlockOptionsError -impl core::fmt::Display for j2k_transcode::ResidentHandoffError -impl core::fmt::Display for j2k_transcode::TranscodeStageError -impl j2k_transcode::DctToWaveletStageCounters -impl j2k_transcode::Htj2k97CodeBlockOptionsError -impl j2k_transcode::RayonReversibleDwt53Accelerator -impl j2k_transcode::ResidentBufferRef<'_> -impl j2k_transcode::ResidentComponentGeometry -impl j2k_transcode::ResidentSampleInfo -impl j2k_transcode::ResidentSampling -impl j2k_transcode::TranscodeStageDispatchMode -impl j2k_transcode::TranscodeStageError -impl<'a> j2k_transcode::ResidentCodestreamBuffer<'a> -impl<'a> j2k_transcode::ResidentDwtSubband<'a> -impl<'a> j2k_transcode::ResidentJpegDctGrid<'a> -pub const fn j2k_transcode::DctToWaveletStageCounters::dwt53_attempts(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::dwt53_dispatches(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::dwt97_attempts(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::dwt97_batch_attempts(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::dwt97_batch_dispatches(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::dwt97_dispatches(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::htj2k97_codeblock_batch_attempts(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::htj2k97_codeblock_batch_dispatches(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::new() -> Self -pub const fn j2k_transcode::DctToWaveletStageCounters::reversible_dwt53_attempts(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::reversible_dwt53_batch_attempts(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::reversible_dwt53_batch_dispatches(&self) -> usize -pub const fn j2k_transcode::DctToWaveletStageCounters::reversible_dwt53_dispatches(&self) -> usize -pub const fn j2k_transcode::Htj2k97CodeBlockOptionsError::reason(self) -> &'static str -pub const fn j2k_transcode::RayonReversibleDwt53Accelerator::reversible_dwt53_attempts(&self) -> usize -pub const fn j2k_transcode::RayonReversibleDwt53Accelerator::reversible_dwt53_batch_attempts(&self) -> usize -pub const fn j2k_transcode::RayonReversibleDwt53Accelerator::reversible_dwt53_batch_dispatches(&self) -> usize -pub const fn j2k_transcode::RayonReversibleDwt53Accelerator::reversible_dwt53_dispatches(&self) -> usize -pub const fn j2k_transcode::ResidentBufferRef<'_>::backend(&self) -> j2k_core::backend::BackendKind -pub const fn j2k_transcode::ResidentBufferRef<'_>::byte_len(&self) -> usize -pub const fn j2k_transcode::ResidentBufferRef<'_>::memory_range(&self) -> j2k_core::accelerator::DeviceMemoryRange -pub const fn j2k_transcode::ResidentComponentGeometry::new(usize, u32, u32, j2k_transcode::ResidentSampling) -> core::result::Result -pub const fn j2k_transcode::ResidentSampleInfo::new(u8, bool) -> core::result::Result -pub const fn j2k_transcode::ResidentSampling::new(u8, u8) -> core::result::Result -pub const fn j2k_transcode::TranscodeStageDispatchMode::is_auto(self) -> bool -pub enum j2k_transcode::DctToWaveletStageCounterEvent -pub enum j2k_transcode::Htj2k97CodeBlockAxis -pub enum j2k_transcode::ResidentColorModel -pub enum j2k_transcode::ResidentDctCoefficientOrder -pub enum j2k_transcode::ResidentDwtSubbandKind -pub enum j2k_transcode::ResidentHandoffError -pub enum j2k_transcode::TranscodeStageDispatchMode -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch(&mut self, &[j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups(&mut self, &[j2k_transcode::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch_groups(&mut self, &[j2k_transcode::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result>>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_dwt53(&mut self, j2k_transcode::DctGridToDwt53Job<'_>) -> core::result::Result>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_dwt97(&mut self, j2k_transcode::DctGridToDwt97Job<'_>) -> core::result::Result>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_dwt97_batch(&mut self, &[j2k_transcode::DctGridToDwt97Job<'_>]) -> core::result::Result>>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_htj2k97_codeblock_batch(&mut self, &[j2k_transcode::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53(&mut self, j2k_transcode::DctGridToReversibleDwt53Job<'_>) -> core::result::Result, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::TranscodeStageError> -pub fn j2k_transcode::DctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode::DctToWaveletStageAccelerator::supports_dwt97_batch(&self) -> bool -pub fn j2k_transcode::DctToWaveletStageAccelerator::supports_htj2k97_codeblock_batch(&self) -> bool -pub fn j2k_transcode::DctToWaveletStageAccelerator::supports_htj2k97_compact_preencoded_batch(&self) -> bool -pub fn j2k_transcode::DctToWaveletStageAccelerator::supports_htj2k97_i16_preencoded_batch(&self) -> bool -pub fn j2k_transcode::DctToWaveletStageCounters::record(&mut self, j2k_transcode::DctToWaveletStageCounterEvent, usize) -pub fn j2k_transcode::DctTransformError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode::DctTransformError::from(j2k_transcode::DctGridError) -> Self -pub fn j2k_transcode::DctTransformError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_transcode::Htj2k97CodeBlockAxis::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode::Htj2k97CodeBlockOptionsError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode::ResidentBufferRef<'_>::new(j2k_core::accelerator::DeviceMemoryRange) -> core::result::Result -pub fn j2k_transcode::ResidentBufferRef<'_>::with_allocation_len(j2k_core::accelerator::DeviceMemoryRange, usize) -> core::result::Result -pub fn j2k_transcode::ResidentCodestreamBuffer<'a>::new(j2k_transcode::ResidentBufferRef<'a>, usize, usize) -> core::result::Result -pub fn j2k_transcode::ResidentCodestreamBuffer<'a>::require_backend(self, j2k_core::backend::BackendKind) -> core::result::Result -pub fn j2k_transcode::ResidentDwtSubband<'a>::new(j2k_transcode::ResidentBufferRef<'a>, j2k_transcode::ResidentComponentGeometry, j2k_transcode::ResidentSampleInfo, j2k_transcode::ResidentColorModel, j2k_transcode::ResidentDwtSubbandLayout) -> core::result::Result -pub fn j2k_transcode::ResidentDwtSubband<'a>::require_backend(self, j2k_core::backend::BackendKind) -> core::result::Result -pub fn j2k_transcode::ResidentHandoffError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode::ResidentJpegDctGrid<'a>::new(j2k_transcode::ResidentBufferRef<'a>, j2k_transcode::ResidentComponentGeometry, j2k_transcode::ResidentSampleInfo, j2k_transcode::ResidentColorModel, j2k_transcode::ResidentDctGridLayout) -> core::result::Result -pub fn j2k_transcode::ResidentJpegDctGrid<'a>::require_backend(self, j2k_core::backend::BackendKind) -> core::result::Result -pub fn j2k_transcode::TranscodeStageError::backend(&'static str, &'static str, impl core::error::Error + core::marker::Send + core::marker::Sync + 'static) -> Self -pub fn j2k_transcode::TranscodeStageError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode::TranscodeStageError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_transcode::dct8x8_blocks_then_dwt53_float(&[[[f64; 8]; 8]], usize, usize, usize, usize) -> core::result::Result, j2k_transcode::DctTransformError> -pub fn j2k_transcode::dct8x8_blocks_then_dwt97_float(&[[[f64; 8]; 8]], usize, usize, usize, usize) -> core::result::Result, j2k_transcode::DctTransformError> -pub fn j2k_transcode::dct8x8_blocks_then_dwt97_float_with_scratch(&[[[f64; 8]; 8]], usize, usize, usize, usize, &mut j2k_transcode::Dct97GridScratch) -> core::result::Result, j2k_transcode::DctTransformError> -pub fn j2k_transcode::dct8x8_blocks_to_dwt53_float_linear(&[[[f64; 8]; 8]], usize, usize, usize, usize) -> core::result::Result, j2k_transcode::DctTransformError> -pub fn j2k_transcode::htj2k97_subband_delta(j2k_transcode::Htj2k97CodeBlockOptions, j2k_types::J2kSubBandType) -> f64 -pub fn j2k_transcode::htj2k97_subband_total_bitplanes(j2k_transcode::Htj2k97CodeBlockOptions, j2k_types::J2kSubBandType) -> u8 -pub fn j2k_transcode::validate_htj2k97_codeblock_options(j2k_transcode::Htj2k97CodeBlockOptions) -> core::result::Result<(usize, usize), j2k_transcode::Htj2k97CodeBlockOptionsError> -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockBatch::jobs: &'j [j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob<'a>] -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::block_cols: usize -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::block_rows: usize -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::dequantized_blocks: &'a [[i16; 64]] -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::height: usize -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::width: usize -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::x_rsiz: u8 -pub j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob::y_rsiz: u8 -pub j2k_transcode::DctGridToDwt53Job::block_cols: usize -pub j2k_transcode::DctGridToDwt53Job::block_rows: usize -pub j2k_transcode::DctGridToDwt53Job::blocks: &'a [[[f64; 8]; 8]] -pub j2k_transcode::DctGridToDwt53Job::height: usize -pub j2k_transcode::DctGridToDwt53Job::width: usize -pub j2k_transcode::DctGridToDwt97Job::block_cols: usize -pub j2k_transcode::DctGridToDwt97Job::block_rows: usize -pub j2k_transcode::DctGridToDwt97Job::blocks: &'a [[[f64; 8]; 8]] -pub j2k_transcode::DctGridToDwt97Job::height: usize -pub j2k_transcode::DctGridToDwt97Job::width: usize -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::block_cols: usize -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::block_rows: usize -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::blocks: &'a [[[f64; 8]; 8]] -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::height: usize -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::width: usize -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::x_rsiz: u8 -pub j2k_transcode::DctGridToHtj2k97CodeBlockJob::y_rsiz: u8 -pub j2k_transcode::DctGridToReversibleDwt53Job::block_cols: usize -pub j2k_transcode::DctGridToReversibleDwt53Job::block_rows: usize -pub j2k_transcode::DctGridToReversibleDwt53Job::dequantized_blocks: &'a [[i16; 64]] -pub j2k_transcode::DctGridToReversibleDwt53Job::height: usize -pub j2k_transcode::DctGridToReversibleDwt53Job::width: usize -pub j2k_transcode::DctToWaveletStageCounterEvent::Dwt53Attempt -pub j2k_transcode::DctToWaveletStageCounterEvent::Dwt53Dispatch -pub j2k_transcode::DctToWaveletStageCounterEvent::Dwt97Attempt -pub j2k_transcode::DctToWaveletStageCounterEvent::Dwt97BatchAttempt -pub j2k_transcode::DctToWaveletStageCounterEvent::Dwt97BatchDispatch -pub j2k_transcode::DctToWaveletStageCounterEvent::Dwt97Dispatch -pub j2k_transcode::DctToWaveletStageCounterEvent::Htj2k97CodeblockBatchAttempt -pub j2k_transcode::DctToWaveletStageCounterEvent::Htj2k97CodeblockBatchDispatch -pub j2k_transcode::DctToWaveletStageCounterEvent::ReversibleDwt53Attempt -pub j2k_transcode::DctToWaveletStageCounterEvent::ReversibleDwt53BatchAttempt -pub j2k_transcode::DctToWaveletStageCounterEvent::ReversibleDwt53BatchDispatch -pub j2k_transcode::DctToWaveletStageCounterEvent::ReversibleDwt53Dispatch -pub j2k_transcode::DctTransformError::Grid(j2k_transcode::DctGridError) -pub j2k_transcode::DctTransformError::HostAllocationFailed -pub j2k_transcode::DctTransformError::HostAllocationFailed::bytes: usize -pub j2k_transcode::DctTransformError::InvalidSamplePlaneDimensions -pub j2k_transcode::DctTransformError::InvalidSamplePlaneDimensions::height: usize -pub j2k_transcode::DctTransformError::InvalidSamplePlaneDimensions::width: usize -pub j2k_transcode::DctTransformError::MemoryCapExceeded -pub j2k_transcode::DctTransformError::MemoryCapExceeded::cap: usize -pub j2k_transcode::DctTransformError::MemoryCapExceeded::requested: usize -pub j2k_transcode::DctTransformError::SamplePlaneLengthMismatch -pub j2k_transcode::DctTransformError::SamplePlaneLengthMismatch::height: usize -pub j2k_transcode::DctTransformError::SamplePlaneLengthMismatch::sample_count: usize -pub j2k_transcode::DctTransformError::SamplePlaneLengthMismatch::width: usize -pub j2k_transcode::DctTransformError::SymbolicWeightIndexOutOfRange -pub j2k_transcode::DctTransformError::SymbolicWeightIndexOutOfRange::high_pass: bool -pub j2k_transcode::DctTransformError::SymbolicWeightIndexOutOfRange::output_index: usize -pub j2k_transcode::DctTransformError::SymbolicWeightIndexOutOfRange::sample_len: usize -pub j2k_transcode::Dwt53TwoDimensional::hh: alloc::vec::Vec -pub j2k_transcode::Dwt53TwoDimensional::high_height: usize -pub j2k_transcode::Dwt53TwoDimensional::high_width: usize -pub j2k_transcode::Dwt53TwoDimensional::hl: alloc::vec::Vec -pub j2k_transcode::Dwt53TwoDimensional::lh: alloc::vec::Vec -pub j2k_transcode::Dwt53TwoDimensional::ll: alloc::vec::Vec -pub j2k_transcode::Dwt53TwoDimensional::low_height: usize -pub j2k_transcode::Dwt53TwoDimensional::low_width: usize -pub j2k_transcode::Dwt97BatchStageTimings::column_lift_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::ht_codeblock_dispatches: usize -pub j2k_transcode::Dwt97BatchStageTimings::ht_compact_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::ht_encode_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::ht_kernel_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::ht_output_readback_bytes: u64 -pub j2k_transcode::Dwt97BatchStageTimings::ht_output_readback_transfers: usize -pub j2k_transcode::Dwt97BatchStageTimings::ht_output_readback_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::ht_status_readback_bytes: u64 -pub j2k_transcode::Dwt97BatchStageTimings::ht_status_readback_transfers: usize -pub j2k_transcode::Dwt97BatchStageTimings::ht_status_readback_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::idct_row_lift_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::pack_upload_bytes: u64 -pub j2k_transcode::Dwt97BatchStageTimings::pack_upload_transfers: usize -pub j2k_transcode::Dwt97BatchStageTimings::pack_upload_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::quantize_codeblock_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::readback_bytes: u64 -pub j2k_transcode::Dwt97BatchStageTimings::readback_transfers: usize -pub j2k_transcode::Dwt97BatchStageTimings::readback_us: u128 -pub j2k_transcode::Dwt97BatchStageTimings::resident_dct_handoff_count: usize -pub j2k_transcode::Dwt97BatchStageTimings::resident_dwt_handoff_count: usize -pub j2k_transcode::Dwt97TwoDimensional::hh: alloc::vec::Vec -pub j2k_transcode::Dwt97TwoDimensional::high_height: usize -pub j2k_transcode::Dwt97TwoDimensional::high_width: usize -pub j2k_transcode::Dwt97TwoDimensional::hl: alloc::vec::Vec -pub j2k_transcode::Dwt97TwoDimensional::lh: alloc::vec::Vec -pub j2k_transcode::Dwt97TwoDimensional::ll: alloc::vec::Vec -pub j2k_transcode::Dwt97TwoDimensional::low_height: usize -pub j2k_transcode::Dwt97TwoDimensional::low_width: usize -pub j2k_transcode::Htj2k97CodeBlockAxis::Height -pub j2k_transcode::Htj2k97CodeBlockAxis::Width -pub j2k_transcode::Htj2k97CodeBlockOptions::bit_depth: u8 -pub j2k_transcode::Htj2k97CodeBlockOptions::code_block_height_exp: u8 -pub j2k_transcode::Htj2k97CodeBlockOptions::code_block_width_exp: u8 -pub j2k_transcode::Htj2k97CodeBlockOptions::guard_bits: u8 -pub j2k_transcode::Htj2k97CodeBlockOptions::irreversible_quantization_scale: f32 -pub j2k_transcode::Htj2k97CodeBlockOptions::irreversible_quantization_subband_scales: j2k_types::IrreversibleQuantizationSubbandScales -pub j2k_transcode::Htj2k97CodeBlockOptionsError::DimensionExponentUnsupported -pub j2k_transcode::Htj2k97CodeBlockOptionsError::DimensionExponentUnsupported::axis: j2k_transcode::Htj2k97CodeBlockAxis -pub j2k_transcode::Htj2k97CodeBlockOptionsError::DimensionExponentUnsupported::exponent_minus_two: u8 -pub j2k_transcode::Htj2k97CodeBlockOptionsError::DimensionsExceedLimits -pub j2k_transcode::Htj2k97CodeBlockOptionsError::DimensionsExceedLimits::height: usize -pub j2k_transcode::Htj2k97CodeBlockOptionsError::DimensionsExceedLimits::width: usize -pub j2k_transcode::Htj2k97CodeBlockOptionsError::NumericOptionsOutOfRange -pub j2k_transcode::Htj2k97CodeBlockOptionsError::QuantizationOptionsOutOfRange -pub j2k_transcode::PreencodedHtj2k97CompactBatch::components: alloc::vec::Vec -pub j2k_transcode::PreencodedHtj2k97CompactBatch::payload: alloc::vec::Vec -pub j2k_transcode::PreencodedHtj2k97CompactBatchGroups::groups: alloc::vec::Vec> -pub j2k_transcode::PreencodedHtj2k97CompactBatchGroups::payload: alloc::vec::Vec -pub j2k_transcode::ResidentCodestreamBuffer::buffer: j2k_transcode::ResidentBufferRef<'a> -pub j2k_transcode::ResidentCodestreamBuffer::byte_len: usize -pub j2k_transcode::ResidentCodestreamBuffer::capacity: usize -pub j2k_transcode::ResidentColorModel::Grayscale -pub j2k_transcode::ResidentColorModel::Rgb -pub j2k_transcode::ResidentColorModel::Rgba -pub j2k_transcode::ResidentColorModel::Unknown -pub j2k_transcode::ResidentColorModel::YCbCr -pub j2k_transcode::ResidentComponentGeometry::component_index: usize -pub j2k_transcode::ResidentComponentGeometry::height: u32 -pub j2k_transcode::ResidentComponentGeometry::sampling: j2k_transcode::ResidentSampling -pub j2k_transcode::ResidentComponentGeometry::width: u32 -pub j2k_transcode::ResidentDctCoefficientOrder::Natural -pub j2k_transcode::ResidentDctCoefficientOrder::ZigZag -pub j2k_transcode::ResidentDctGridLayout::block_cols: u32 -pub j2k_transcode::ResidentDctGridLayout::block_rows: u32 -pub j2k_transcode::ResidentDctGridLayout::bytes_per_coefficient: usize -pub j2k_transcode::ResidentDctGridLayout::coefficient_order: j2k_transcode::ResidentDctCoefficientOrder -pub j2k_transcode::ResidentDctGridLayout::row_pitch_bytes: usize -pub j2k_transcode::ResidentDwtSubband::buffer: j2k_transcode::ResidentBufferRef<'a> -pub j2k_transcode::ResidentDwtSubband::bytes_per_coefficient: usize -pub j2k_transcode::ResidentDwtSubband::color: j2k_transcode::ResidentColorModel -pub j2k_transcode::ResidentDwtSubband::component: j2k_transcode::ResidentComponentGeometry -pub j2k_transcode::ResidentDwtSubband::height: u32 -pub j2k_transcode::ResidentDwtSubband::level: u8 -pub j2k_transcode::ResidentDwtSubband::row_pitch_bytes: usize -pub j2k_transcode::ResidentDwtSubband::sample: j2k_transcode::ResidentSampleInfo -pub j2k_transcode::ResidentDwtSubband::subband: j2k_transcode::ResidentDwtSubbandKind -pub j2k_transcode::ResidentDwtSubband::width: u32 -pub j2k_transcode::ResidentDwtSubbandKind::HighHigh -pub j2k_transcode::ResidentDwtSubbandKind::HighLow -pub j2k_transcode::ResidentDwtSubbandKind::LowHigh -pub j2k_transcode::ResidentDwtSubbandKind::LowLow -pub j2k_transcode::ResidentDwtSubbandLayout::bytes_per_coefficient: usize -pub j2k_transcode::ResidentDwtSubbandLayout::height: u32 -pub j2k_transcode::ResidentDwtSubbandLayout::level: u8 -pub j2k_transcode::ResidentDwtSubbandLayout::row_pitch_bytes: usize -pub j2k_transcode::ResidentDwtSubbandLayout::subband: j2k_transcode::ResidentDwtSubbandKind -pub j2k_transcode::ResidentDwtSubbandLayout::width: u32 -pub j2k_transcode::ResidentHandoffError::BackendMismatch -pub j2k_transcode::ResidentHandoffError::BackendMismatch::actual: j2k_core::backend::BackendKind -pub j2k_transcode::ResidentHandoffError::BackendMismatch::expected: j2k_core::backend::BackendKind -pub j2k_transcode::ResidentHandoffError::CodestreamExceedsCapacity -pub j2k_transcode::ResidentHandoffError::EmptyRange -pub j2k_transcode::ResidentHandoffError::InvalidBitDepth -pub j2k_transcode::ResidentHandoffError::LayoutExceedsBuffer -pub j2k_transcode::ResidentHandoffError::OffsetOverflow -pub j2k_transcode::ResidentHandoffError::RangeExceedsAllocation -pub j2k_transcode::ResidentHandoffError::ZeroByteStride -pub j2k_transcode::ResidentHandoffError::ZeroDimension -pub j2k_transcode::ResidentHandoffError::ZeroSampling -pub j2k_transcode::ResidentJpegDctGrid::block_cols: u32 -pub j2k_transcode::ResidentJpegDctGrid::block_rows: u32 -pub j2k_transcode::ResidentJpegDctGrid::buffer: j2k_transcode::ResidentBufferRef<'a> -pub j2k_transcode::ResidentJpegDctGrid::bytes_per_coefficient: usize -pub j2k_transcode::ResidentJpegDctGrid::coefficient_order: j2k_transcode::ResidentDctCoefficientOrder -pub j2k_transcode::ResidentJpegDctGrid::color: j2k_transcode::ResidentColorModel -pub j2k_transcode::ResidentJpegDctGrid::component: j2k_transcode::ResidentComponentGeometry -pub j2k_transcode::ResidentJpegDctGrid::row_pitch_bytes: usize -pub j2k_transcode::ResidentJpegDctGrid::sample: j2k_transcode::ResidentSampleInfo -pub j2k_transcode::ResidentSampleInfo::bit_depth: u8 -pub j2k_transcode::ResidentSampleInfo::signed: bool -pub j2k_transcode::ResidentSampling::x_rsiz: u8 -pub j2k_transcode::ResidentSampling::y_rsiz: u8 -pub j2k_transcode::ReversibleDwt53FirstLevel::hh: alloc::vec::Vec -pub j2k_transcode::ReversibleDwt53FirstLevel::high_height: usize -pub j2k_transcode::ReversibleDwt53FirstLevel::high_width: usize -pub j2k_transcode::ReversibleDwt53FirstLevel::hl: alloc::vec::Vec -pub j2k_transcode::ReversibleDwt53FirstLevel::lh: alloc::vec::Vec -pub j2k_transcode::ReversibleDwt53FirstLevel::ll: alloc::vec::Vec -pub j2k_transcode::ReversibleDwt53FirstLevel::low_height: usize -pub j2k_transcode::ReversibleDwt53FirstLevel::low_width: usize -pub j2k_transcode::TranscodePipelineStageReport::resident_handoff_count: usize -pub j2k_transcode::TranscodePipelineStageReport::transfer_bytes: u64 -pub j2k_transcode::TranscodePipelineStageReport::transfer_count: usize -pub j2k_transcode::TranscodeStageDispatchMode::Auto -pub j2k_transcode::TranscodeStageDispatchMode::Explicit -pub j2k_transcode::TranscodeStageError::Backend -pub j2k_transcode::TranscodeStageError::Backend::backend: &'static str -pub j2k_transcode::TranscodeStageError::Backend::operation: &'static str -pub j2k_transcode::TranscodeStageError::Backend::source: alloc::boxed::Box<(dyn core::error::Error + core::marker::Send + core::marker::Sync + 'static)> -pub j2k_transcode::TranscodeStageError::DeviceAllocationFailed -pub j2k_transcode::TranscodeStageError::DeviceAllocationFailed::backend: &'static str -pub j2k_transcode::TranscodeStageError::DeviceAllocationFailed::requested: usize -pub j2k_transcode::TranscodeStageError::DeviceAllocationFailed::what: &'static str -pub j2k_transcode::TranscodeStageError::DeviceMemoryCapExceeded -pub j2k_transcode::TranscodeStageError::DeviceMemoryCapExceeded::backend: &'static str -pub j2k_transcode::TranscodeStageError::DeviceMemoryCapExceeded::cap: usize -pub j2k_transcode::TranscodeStageError::DeviceMemoryCapExceeded::requested: usize -pub j2k_transcode::TranscodeStageError::DeviceMemoryCapExceeded::what: &'static str -pub j2k_transcode::TranscodeStageError::DeviceUnavailable -pub j2k_transcode::TranscodeStageError::HostAllocationFailed -pub j2k_transcode::TranscodeStageError::HostAllocationFailed::bytes: usize -pub j2k_transcode::TranscodeStageError::MemoryCapExceeded -pub j2k_transcode::TranscodeStageError::MemoryCapExceeded::cap: usize -pub j2k_transcode::TranscodeStageError::MemoryCapExceeded::requested: usize -pub j2k_transcode::TranscodeStageError::Unsupported(&'static str) -pub struct j2k_transcode::CpuOnlyDctToWaveletStageAccelerator -pub struct j2k_transcode::Dct97GridScratch -pub struct j2k_transcode::DctGridI16ToHtj2k97CodeBlockBatch<'a, 'j> -pub struct j2k_transcode::DctGridI16ToHtj2k97CodeBlockJob<'a> -pub struct j2k_transcode::DctGridToDwt53Job<'a> -pub struct j2k_transcode::DctGridToDwt97Job<'a> -pub struct j2k_transcode::DctGridToHtj2k97CodeBlockJob<'a> -pub struct j2k_transcode::DctGridToReversibleDwt53Job<'a> -pub struct j2k_transcode::DctToWaveletStageCounters -pub struct j2k_transcode::Dwt53TwoDimensional -pub struct j2k_transcode::Dwt97BatchStageTimings -pub struct j2k_transcode::Dwt97TwoDimensional -pub struct j2k_transcode::Htj2k97CodeBlockOptions -pub struct j2k_transcode::PreencodedHtj2k97CompactBatch -pub struct j2k_transcode::PreencodedHtj2k97CompactBatchGroups -pub struct j2k_transcode::RayonReversibleDwt53Accelerator -pub struct j2k_transcode::ResidentBufferRef<'a> -pub struct j2k_transcode::ResidentCodestreamBuffer<'a> -pub struct j2k_transcode::ResidentComponentGeometry -pub struct j2k_transcode::ResidentDctGridLayout -pub struct j2k_transcode::ResidentDwtSubband<'a> -pub struct j2k_transcode::ResidentDwtSubbandLayout -pub struct j2k_transcode::ResidentJpegDctGrid<'a> -pub struct j2k_transcode::ResidentSampleInfo -pub struct j2k_transcode::ResidentSampling -pub struct j2k_transcode::ReversibleDwt53FirstLevel -pub trait j2k_transcode::DctToWaveletStageAccelerator -pub use j2k_transcode::EncodedHtJ2kCodeBlock -pub use j2k_transcode::Htj2kEncodeError -pub use j2k_transcode::Htj2kEncodeErrorKind -pub use j2k_transcode::IrreversibleQuantizationSubbandScales -pub use j2k_transcode::J2kSubBandType -pub use j2k_transcode::PreencodedHtj2k97CodeBlock -pub use j2k_transcode::PreencodedHtj2k97CompactCodeBlock -pub use j2k_transcode::PreencodedHtj2k97CompactComponent -pub use j2k_transcode::PreencodedHtj2k97CompactImage -pub use j2k_transcode::PreencodedHtj2k97CompactResolution -pub use j2k_transcode::PreencodedHtj2k97CompactSubband -pub use j2k_transcode::PreencodedHtj2k97Component -pub use j2k_transcode::PreencodedHtj2k97Resolution -pub use j2k_transcode::PreencodedHtj2k97Subband -pub use j2k_transcode::PrequantizedHtj2k97CodeBlock -pub use j2k_transcode::PrequantizedHtj2k97Component -pub use j2k_transcode::PrequantizedHtj2k97Image -pub use j2k_transcode::PrequantizedHtj2k97Resolution -pub use j2k_transcode::PrequantizedHtj2k97Subband -pub use j2k_transcode::TranscodeBatchProfileRequest -pub use j2k_transcode::TranscodeBatchProfileRow -``` - -### `j2k-transcode-cuda` - -Baseline items: 49. Candidate items: 49. Computed release type: `major`. Rustdoc-hidden candidate items: 17. Full hidden-inventory fingerprint: `fnv1a64:3e3e69d35c4a62a5`. - -#### Removed or changed baseline API items - -```text -impl core::convert::From for j2k_transcode::accelerator::TranscodeStageError -impl j2k_transcode::accelerator::DctToWaveletStageAccelerator for j2k_transcode_cuda::CudaDctToWaveletStageAccelerator -pub fn j2k_transcode::accelerator::TranscodeStageError::from(j2k_transcode_cuda::CudaTranscodeError) -> Self -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_i16_to_htj2k97_preencoded_batch_groups(&mut self, &[j2k_transcode::accelerator::DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_dwt53(&mut self, j2k_transcode::accelerator::DctGridToDwt53Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_dwt97(&mut self, j2k_transcode::accelerator::DctGridToDwt97Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_dwt97_batch(&mut self, &[j2k_transcode::accelerator::DctGridToDwt97Job<'_>]) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_htj2k97_codeblock_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_htj2k97_preencoded_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53(&mut self, j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::supports_dwt97_batch(&self) -> bool -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::supports_htj2k97_codeblock_batch(&self) -> bool -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::supports_htj2k97_compact_preencoded_batch(&self) -> bool -pub fn j2k_transcode_cuda::CudaDctToWaveletStageAccelerator::supports_htj2k97_i16_preencoded_batch(&self) -> bool -``` - -#### Added candidate API items - -```text -impl core::convert::From for j2k_transcode::transcode_stage_error::TranscodeStageError -impl core::error::Error for j2k_transcode_cuda::CudaRuntimeFailure -impl core::fmt::Display for j2k_transcode_cuda::CudaRuntimeFailure -impl j2k_transcode_cuda::CudaRuntimeFailure -pub const fn j2k_transcode_cuda::CudaRuntimeFailure::is_unavailable(&self) -> bool -pub const fn j2k_transcode_cuda::CudaRuntimeFailure::operation(&self) -> &'static str -pub fn j2k_transcode::transcode_stage_error::TranscodeStageError::from(j2k_transcode_cuda::CudaTranscodeError) -> Self -pub fn j2k_transcode_cuda::CudaRuntimeFailure::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode_cuda::CudaRuntimeFailure::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_transcode_cuda::CudaTranscodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationFailed -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationFailed::requested: usize -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationFailed::what: &'static str -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationTooLarge -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationTooLarge::cap: usize -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationTooLarge::requested: usize -pub j2k_transcode_cuda::CudaTranscodeError::HostAllocationTooLarge::what: &'static str -pub j2k_transcode_cuda::CudaTranscodeError::Runtime(j2k_transcode_cuda::CudaRuntimeFailure) -pub struct j2k_transcode_cuda::CudaRuntimeFailure -``` - -### `j2k-metal-support` - -Baseline items: 69. Candidate items: 162. Computed release type: `major`. Rustdoc-hidden candidate items: 11. Full hidden-inventory fingerprint: `fnv1a64:671e50d4d121b419`. - -#### Removed or changed baseline API items - -```text -impl core::fmt::Debug for j2k_metal_support::MetalDeviceSession -impl j2k_metal_support::MetalDeviceSession -pub enum j2k_metal_support::MetalSupportError -pub fn j2k_metal_support::MetalDeviceSession::device(&self) -> &metal::device::DeviceRef -pub fn j2k_metal_support::MetalDeviceSession::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal_support::MetalDeviceSession::new(metal::device::Device) -> Self -pub fn j2k_metal_support::MetalDeviceSession::system_default() -> core::result::Result -pub fn j2k_metal_support::MetalPipelineLoader::new(&metal::device::Device, &str) -> core::result::Result -pub fn j2k_metal_support::checked_buffer_contents_slice(&metal::buffer::Buffer, usize, usize) -> core::result::Result<&[T], j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::checked_buffer_contents_slice_mut(&mut metal::buffer::Buffer, usize, usize) -> core::result::Result<&mut [T], j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::checked_command_queue(&metal::device::Device) -> core::result::Result -pub fn j2k_metal_support::named_pipeline(&metal::device::Device, &metal::library::Library, &str) -> core::result::Result -pub fn j2k_metal_support::private_buffer(&metal::device::Device, usize) -> metal::buffer::Buffer -pub fn j2k_metal_support::shader_library(&metal::device::Device, &str) -> core::result::Result -pub fn j2k_metal_support::shared_buffer(&metal::device::Device, usize) -> metal::buffer::Buffer -pub fn j2k_metal_support::shared_buffer_for_len(&metal::device::Device, usize) -> metal::buffer::Buffer -pub fn j2k_metal_support::shared_buffer_with_bytes(&metal::device::Device, &[u8]) -> metal::buffer::Buffer -pub fn j2k_metal_support::shared_buffer_with_slice(&metal::device::Device, &[T]) -> metal::buffer::Buffer -pub struct j2k_metal_support::MetalDeviceSession -pub struct j2k_metal_support::MetalRouteProfileLabels -pub unsafe fn j2k_metal_support::buffer_contents_slice(&metal::buffer::Buffer, usize, usize) -> &[T] -pub unsafe fn j2k_metal_support::buffer_contents_slice_mut(&mut metal::buffer::Buffer, usize, usize) -> &mut [T] -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_metal_support::MetalCommandEncoderKind -#[non_exhaustive] pub enum j2k_metal_support::MetalSupportError -#[non_exhaustive] pub struct j2k_metal_support::MetalRouteProfileLabels -impl core::fmt::Debug for j2k_metal_support::ResidentMetalImage -impl core::fmt::Debug for j2k_metal_support::SubmittedMetalImages -impl core::fmt::Display for j2k_metal_support::MetalCommandEncoderKind -impl core::ops::drop::Drop for j2k_metal_support::SubmittedMetalImages -impl j2k_core::traits::DeviceSubmission for j2k_metal_support::SubmittedMetalImages -impl j2k_metal_support::MetalImageLayout -impl j2k_metal_support::ResidentMetalImage -impl j2k_metal_support::SubmittedMetalImages -impl core::clone::Clone for j2k_metal_support::MetalRuntimeSession -impl j2k_metal_support::MetalRuntimeSession -pub const fn j2k_metal_support::MetalImageLayout::byte_len(self) -> usize -pub const fn j2k_metal_support::MetalImageLayout::byte_offset(self) -> usize -pub const fn j2k_metal_support::MetalImageLayout::dimensions(self) -> (u32, u32) -pub const fn j2k_metal_support::MetalImageLayout::pitch_bytes(self) -> usize -pub const fn j2k_metal_support::MetalImageLayout::pixel_format(self) -> j2k_core::pixel::PixelFormat -pub const fn j2k_metal_support::ResidentMetalImage::byte_len(&self) -> usize -pub const fn j2k_metal_support::ResidentMetalImage::byte_offset(&self) -> usize -pub const fn j2k_metal_support::ResidentMetalImage::dimensions(&self) -> (u32, u32) -pub const fn j2k_metal_support::ResidentMetalImage::layout(&self) -> j2k_metal_support::MetalImageLayout -pub const fn j2k_metal_support::ResidentMetalImage::pitch_bytes(&self) -> usize -pub const fn j2k_metal_support::ResidentMetalImage::pixel_format(&self) -> j2k_core::pixel::PixelFormat -pub fn j2k_metal_support::MetalCommandEncoderKind::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal_support::MetalImageLayout::new(usize, (u32, u32), usize, j2k_core::pixel::PixelFormat) -> core::result::Result -pub fn j2k_metal_support::MetalPipelineLoader::new(&metal::device::DeviceRef, &str) -> core::result::Result -pub fn j2k_metal_support::MetalRuntimeSession::clone(&self) -> Self -pub fn j2k_metal_support::MetalRuntimeSession::device(&self) -> &metal::device::DeviceRef -pub fn j2k_metal_support::MetalRuntimeSession::device_handle(&self) -> &metal::device::Device -pub fn j2k_metal_support::MetalRuntimeSession::get_or_init_runtime(&self, impl core::ops::function::FnOnce(&metal::device::Device) -> core::result::Result) -> &core::result::Result -pub fn j2k_metal_support::MetalRuntimeSession::new(metal::device::Device) -> Self -pub fn j2k_metal_support::MetalRuntimeSession::runtime_initialized(&self) -> bool -pub fn j2k_metal_support::MetalRuntimeSession::runtime_result(&self) -> core::option::Option<&core::result::Result> -pub fn j2k_metal_support::MetalRuntimeSession::system_default() -> core::result::Result -pub fn j2k_metal_support::ResidentMetalImage::device_registry_id(&self) -> u64 -pub fn j2k_metal_support::ResidentMetalImage::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal_support::ResidentMetalImage::validate_device(&self, &metal::device::DeviceRef) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::ResidentMetalImage::view(&self, j2k_metal_support::MetalImageLayout) -> core::result::Result -pub fn j2k_metal_support::SubmittedMetalImages::drop(&mut self) -pub fn j2k_metal_support::SubmittedMetalImages::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal_support::SubmittedMetalImages::wait(self) -> core::result::Result -pub fn j2k_metal_support::checked_blit_command_encoder(&metal::commandbuffer::CommandBufferRef) -> core::result::Result -pub fn j2k_metal_support::checked_command_buffer(&metal::commandqueue::CommandQueueRef) -> core::result::Result -pub fn j2k_metal_support::checked_command_queue(&metal::device::DeviceRef) -> core::result::Result -pub fn j2k_metal_support::checked_compute_command_encoder(&metal::commandbuffer::CommandBufferRef) -> core::result::Result -pub fn j2k_metal_support::checked_private_buffer(&metal::device::DeviceRef, usize) -> core::result::Result -pub fn j2k_metal_support::checked_private_buffer_for_len(&metal::device::DeviceRef, usize) -> core::result::Result -pub fn j2k_metal_support::checked_shared_buffer(&metal::device::DeviceRef, usize) -> core::result::Result -pub fn j2k_metal_support::checked_shared_buffer_for_len(&metal::device::DeviceRef, usize) -> core::result::Result -pub fn j2k_metal_support::checked_shared_buffer_with_bytes(&metal::device::DeviceRef, &[u8]) -> core::result::Result -pub fn j2k_metal_support::checked_shared_buffer_with_slice(&metal::device::DeviceRef, &[T]) -> core::result::Result -pub fn j2k_metal_support::checked_texture(&metal::device::DeviceRef, &metal::texture::TextureDescriptorRef) -> core::result::Result -pub fn j2k_metal_support::checked_texture_descriptor() -> core::result::Result -pub fn j2k_metal_support::commit_and_wait(&metal::commandbuffer::CommandBufferRef) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::ensure_completed(&metal::commandbuffer::CommandBufferRef) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::named_pipeline(&metal::device::DeviceRef, &metal::library::Library, &str) -> core::result::Result -pub fn j2k_metal_support::shader_library(&metal::device::DeviceRef, &str) -> core::result::Result -pub fn j2k_metal_support::wait_for_completion(&metal::commandbuffer::CommandBufferRef) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub j2k_metal_support::MetalCommandEncoderKind::Blit -pub j2k_metal_support::MetalCommandEncoderKind::Compute -pub j2k_metal_support::MetalSupportError::BufferAllocation -pub j2k_metal_support::MetalSupportError::BufferAllocation::message: alloc::string::String -pub j2k_metal_support::MetalSupportError::BufferAllocationFailed -pub j2k_metal_support::MetalSupportError::BufferAllocationFailed::requested: usize -pub j2k_metal_support::MetalSupportError::BufferAllocationTooLarge -pub j2k_metal_support::MetalSupportError::BufferAllocationTooLarge::cap: usize -pub j2k_metal_support::MetalSupportError::BufferAllocationTooLarge::requested: usize -pub j2k_metal_support::MetalSupportError::BufferReadbackAllocation -pub j2k_metal_support::MetalSupportError::BufferReadbackAllocation::abi_name: &'static str -pub j2k_metal_support::MetalSupportError::BufferReadbackAllocation::element_count: usize -pub j2k_metal_support::MetalSupportError::BufferZeroSizedType -pub j2k_metal_support::MetalSupportError::BufferZeroSizedType::abi_name: &'static str -pub j2k_metal_support::MetalSupportError::CommandBuffer -pub j2k_metal_support::MetalSupportError::CommandBuffer::label: alloc::string::String -pub j2k_metal_support::MetalSupportError::CommandBuffer::status: alloc::string::String -pub j2k_metal_support::MetalSupportError::CommandBufferCreation -pub j2k_metal_support::MetalSupportError::CommandBufferCreation::message: alloc::string::String -pub j2k_metal_support::MetalSupportError::CommandBufferUnavailable -pub j2k_metal_support::MetalSupportError::CommandEncoderCreation -pub j2k_metal_support::MetalSupportError::CommandEncoderCreation::kind: j2k_metal_support::MetalCommandEncoderKind -pub j2k_metal_support::MetalSupportError::CommandEncoderCreation::message: alloc::string::String -pub j2k_metal_support::MetalSupportError::CommandEncoderUnavailable -pub j2k_metal_support::MetalSupportError::CommandEncoderUnavailable::kind: j2k_metal_support::MetalCommandEncoderKind -pub j2k_metal_support::MetalSupportError::MetalImageDeviceMismatch -pub j2k_metal_support::MetalSupportError::MetalImageDeviceMismatch::image_registry_id: u64 -pub j2k_metal_support::MetalSupportError::MetalImageDeviceMismatch::requested_registry_id: u64 -pub j2k_metal_support::MetalSupportError::MetalImageLayout -pub j2k_metal_support::MetalSupportError::MetalImageLayout::reason: &'static str -pub j2k_metal_support::MetalSupportError::TextureAllocation -pub j2k_metal_support::MetalSupportError::TextureAllocation::message: alloc::string::String -pub j2k_metal_support::MetalSupportError::TextureAllocationFailed -pub j2k_metal_support::MetalSupportError::TextureAllocationFailed::array_length: u64 -pub j2k_metal_support::MetalSupportError::TextureAllocationFailed::depth: u64 -pub j2k_metal_support::MetalSupportError::TextureAllocationFailed::height: u64 -pub j2k_metal_support::MetalSupportError::TextureAllocationFailed::width: u64 -pub j2k_metal_support::MetalSupportError::TextureAllocationTooLarge -pub j2k_metal_support::MetalSupportError::TextureAllocationTooLarge::cap: usize -pub j2k_metal_support::MetalSupportError::TextureAllocationTooLarge::requested: usize -pub j2k_metal_support::MetalSupportError::TextureDescriptorInvalid -pub j2k_metal_support::MetalSupportError::TextureDescriptorInvalid::reason: &'static str -pub j2k_metal_support::MetalSupportError::TextureDescriptorUnavailable -pub struct j2k_metal_support::MetalImageLayout -pub struct j2k_metal_support::MetalRuntimeSession -pub struct j2k_metal_support::ResidentMetalImage -pub struct j2k_metal_support::SubmittedMetalImages -pub type j2k_metal_support::SubmittedMetalImages::Error = j2k_metal_support::MetalSupportError -pub type j2k_metal_support::SubmittedMetalImages::Output = alloc::vec::Vec -pub unsafe fn j2k_metal_support::ResidentMetalImage::from_completed_buffer(metal::buffer::Buffer, j2k_metal_support::MetalImageLayout) -> core::result::Result -pub unsafe fn j2k_metal_support::ResidentMetalImage::raw_buffer(&self) -> &metal::buffer::Buffer -pub unsafe fn j2k_metal_support::SubmittedMetalImages::from_uncommitted(&metal::device::DeviceRef, metal::commandbuffer::CommandBuffer, alloc::vec::Vec<(metal::buffer::Buffer, j2k_metal_support::MetalImageLayout)>, alloc::vec::Vec) -> core::result::Result -pub unsafe fn j2k_metal_support::checked_buffer_fill_bytes(&metal::buffer::Buffer, usize, usize, u8) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub unsafe fn j2k_metal_support::checked_buffer_read(&metal::buffer::Buffer, usize) -> core::result::Result -pub unsafe fn j2k_metal_support::checked_buffer_read_vec(&metal::buffer::Buffer, usize, usize) -> core::result::Result, j2k_metal_support::MetalSupportError> -pub unsafe fn j2k_metal_support::checked_buffer_write(&metal::buffer::Buffer, usize, &[T]) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -``` - -### `j2k-transcode-metal` - -Baseline items: 58. Candidate items: 99. Computed release type: `major`. Rustdoc-hidden candidate items: 49. Full hidden-inventory fingerprint: `fnv1a64:5bf8a22a33753a2d`. - -#### Removed or changed baseline API items - -```text -impl core::convert::From for j2k_transcode::accelerator::TranscodeStageError -impl j2k_transcode::accelerator::DctToWaveletStageAccelerator for j2k_transcode_metal::MetalDctToWaveletStageAccelerator -pub const fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode::accelerator::TranscodeStageError::from(j2k_transcode_metal::MetalTranscodeError) -> Self -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_dwt53(&mut self, j2k_transcode::accelerator::DctGridToDwt53Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_dwt97(&mut self, j2k_transcode::accelerator::DctGridToDwt97Job<'_>) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_dwt97_batch(&mut self, &[j2k_transcode::accelerator::DctGridToDwt97Job<'_>]) -> core::result::Result>>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_htj2k97_codeblock_batch(&mut self, &[j2k_transcode::accelerator::DctGridToHtj2k97CodeBlockJob<'_>], j2k_transcode::accelerator::Htj2k97CodeBlockOptions) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53(&mut self, j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>) -> core::result::Result, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::accelerator::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::accelerator::TranscodeStageError> -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::supports_dwt97_batch(&self) -> bool -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::supports_htj2k97_codeblock_batch(&self) -> bool -pub j2k_transcode_metal::MetalTranscodeError::Runtime(&'static str) -``` - -#### Added candidate API items - -```text -impl core::convert::From for j2k_transcode::transcode_stage_error::TranscodeStageError -impl core::error::Error for j2k_transcode_metal::MetalRuntimeFailure -impl core::fmt::Display for j2k_transcode_metal::MetalRuntimeFailure -impl core::fmt::Display for j2k_transcode_metal::MetalTranscodeFallbackReason -impl j2k_transcode_metal::MetalRuntimeFailure -impl j2k_transcode_metal::MetalTranscodeFallbackReason -pub const fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::last_dwt97_batch_stage_timings(&self) -> core::option::Option -pub const fn j2k_transcode_metal::MetalRuntimeFailure::operation(&self) -> &'static str -pub const fn j2k_transcode_metal::MetalTranscodeFallbackReason::as_str(self) -> &'static str -pub enum j2k_transcode_metal::MetalTranscodeFallbackReason -pub fn j2k_transcode::transcode_stage_error::TranscodeStageError::from(j2k_transcode_metal::MetalTranscodeError) -> Self -pub fn j2k_transcode_metal::MetalDctToWaveletStageAccelerator::dct_grid_to_reversible_dwt53_batch(&mut self, &[j2k_transcode::DctGridToReversibleDwt53Job<'_>]) -> core::result::Result>, j2k_transcode::transcode_stage_error::TranscodeStageError> -pub fn j2k_transcode_metal::MetalRuntimeFailure::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode_metal::MetalRuntimeFailure::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_transcode_metal::MetalRuntimeFailure::source_error(&self) -> &(dyn core::error::Error + core::marker::Send + core::marker::Sync + 'static) -pub fn j2k_transcode_metal::MetalTranscodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_transcode_metal::MetalTranscodeFallbackReason::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_transcode_metal::jpeg_to_htj2k_batch_with_metal_route(&[j2k_transcode::jpeg_to_htj2k::output::JpegTileBatchInput<'_>], &j2k_transcode::jpeg_to_htj2k::options::JpegToHtj2kOptions, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_transcode_metal::jpeg_to_htj2k_with_metal_route(&[u8], &j2k_transcode::jpeg_to_htj2k::options::JpegToHtj2kOptions, j2k_core::backend::BackendRequest) -> core::result::Result -pub fn j2k_transcode_metal::resident_codestream_buffer_from_metal_encoded_j2k(&j2k_metal::encode::encoded::MetalEncodedJ2k) -> core::result::Result, j2k_transcode::resident::ResidentHandoffError> -pub j2k_transcode_metal::MetalEncodedTranscode::encoded: j2k_transcode::jpeg_to_htj2k::output::EncodedTranscode -pub j2k_transcode_metal::MetalEncodedTranscode::route: j2k_transcode_metal::MetalTranscodeRouteReport -pub j2k_transcode_metal::MetalEncodedTranscodeBatch::batch: j2k_transcode::jpeg_to_htj2k::output::EncodedTranscodeBatch -pub j2k_transcode_metal::MetalEncodedTranscodeBatch::route: j2k_transcode_metal::MetalTranscodeRouteReport -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationFailed -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationFailed::requested: usize -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationFailed::what: &'static str -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationTooLarge -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationTooLarge::cap: usize -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationTooLarge::requested: usize -pub j2k_transcode_metal::MetalTranscodeError::DeviceAllocationTooLarge::what: &'static str -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationFailed -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationFailed::requested: usize -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationFailed::what: &'static str -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationTooLarge -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationTooLarge::cap: usize -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationTooLarge::requested: usize -pub j2k_transcode_metal::MetalTranscodeError::HostAllocationTooLarge::what: &'static str -pub j2k_transcode_metal::MetalTranscodeError::MetalSupport -pub j2k_transcode_metal::MetalTranscodeError::MetalSupport::operation: &'static str -pub j2k_transcode_metal::MetalTranscodeError::MetalSupport::source: j2k_metal_support::error::MetalSupportError -pub j2k_transcode_metal::MetalTranscodeError::Runtime(j2k_transcode_metal::MetalRuntimeFailure) -pub j2k_transcode_metal::MetalTranscodeFallbackReason::AutoAllTransformJobsFellBackToCpu -pub j2k_transcode_metal::MetalTranscodeFallbackReason::AutoNoEligibleTransformStage -pub j2k_transcode_metal::MetalTranscodeFallbackReason::AutoPartialTransformFallback -pub j2k_transcode_metal::MetalTranscodeFallbackReason::CpuRequested -pub j2k_transcode_metal::MetalTranscodeRouteReport::fallback_reason: core::option::Option -pub j2k_transcode_metal::MetalTranscodeRouteReport::output_backend: j2k_core::backend::BackendKind -pub j2k_transcode_metal::MetalTranscodeRouteReport::pipeline_map: j2k_transcode::pipeline_map::TranscodePipelineMap -pub j2k_transcode_metal::MetalTranscodeRouteReport::request: j2k_core::backend::BackendRequest -pub j2k_transcode_metal::MetalTranscodeRouteReport::selected_transform_backend: j2k_core::backend::BackendKind -pub struct j2k_transcode_metal::MetalEncodedTranscode -pub struct j2k_transcode_metal::MetalEncodedTranscodeBatch -pub struct j2k_transcode_metal::MetalRuntimeFailure -pub struct j2k_transcode_metal::MetalTranscodeRouteReport -``` - -### `j2k-native` - -Baseline items: 721. Candidate items: 358. Computed release type: `major`. Rustdoc-hidden candidate items: 535. Full hidden-inventory fingerprint: `fnv1a64:7c931c0e7c4eb27b`. - -#### Removed or changed baseline API items - -```text -#[non_exhaustive] pub enum j2k_native::error::ColorError -#[non_exhaustive] pub enum j2k_native::error::DecodeError -#[non_exhaustive] pub enum j2k_native::error::DecodingError -#[non_exhaustive] pub enum j2k_native::error::FormatError -#[non_exhaustive] pub enum j2k_native::error::MarkerError -#[non_exhaustive] pub enum j2k_native::error::TileError -#[non_exhaustive] pub enum j2k_native::error::ValidationError -#[repr(C)] pub struct j2k_native::HtUvlcTableEntry -impl core::convert::From for j2k_native::error::DecodeError -impl core::convert::From for j2k_native::error::DecodeError -impl core::convert::From for j2k_native::error::DecodeError -impl core::convert::From for j2k_native::error::DecodeError -impl core::convert::From for j2k_native::error::DecodeError -impl core::convert::From for j2k_native::error::DecodeError -impl core::error::Error for j2k_native::error::ColorError -impl core::error::Error for j2k_native::error::DecodeError -impl core::error::Error for j2k_native::error::DecodingError -impl core::error::Error for j2k_native::error::FormatError -impl core::error::Error for j2k_native::error::MarkerError -impl core::error::Error for j2k_native::error::TileError -impl core::error::Error for j2k_native::error::ValidationError -impl core::fmt::Display for j2k_native::error::ColorError -impl core::fmt::Display for j2k_native::error::DecodeError -impl core::fmt::Display for j2k_native::error::DecodingError -impl core::fmt::Display for j2k_native::error::FormatError -impl core::fmt::Display for j2k_native::error::MarkerError -impl core::fmt::Display for j2k_native::error::TileError -impl core::fmt::Display for j2k_native::error::ValidationError -impl j2k_native::HtCodeBlockDecodeWorkspace -impl j2k_native::HtSigPropBenchmarkState -impl j2k_native::J2kDirectCpuScratch -impl j2k_native::J2kEncodeStageAccelerator for j2k_types::CpuOnlyJ2kEncodeStageAccelerator -impl j2k_native::J2kRect -pub const fn j2k_native::J2kDirectCpuScratch::new() -> Self -pub enum j2k_native::HtCodeBlockDecodePhaseLimit -pub enum j2k_native::J2kDirectGrayscaleStep -pub enum j2k_native::J2kWaveletTransform -pub fn j2k_native::HtCodeBlockDecodeWorkspace::coefficient_capacity(&self) -> usize -pub fn j2k_native::HtCodeBlockDecoder::decode_code_block(&mut self, j2k_native::HtCodeBlockDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result<()> -pub fn j2k_native::HtCodeBlockDecoder::decode_inverse_mct(&mut self, j2k_native::J2kInverseMctJob<'_>) -> j2k_native::error::Result -pub fn j2k_native::HtCodeBlockDecoder::decode_j2k_code_block(&mut self, j2k_native::J2kCodeBlockDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result -pub fn j2k_native::HtCodeBlockDecoder::decode_j2k_sub_band(&mut self, j2k_native::J2kSubBandDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result -pub fn j2k_native::HtCodeBlockDecoder::decode_single_decomposition_idwt(&mut self, j2k_native::J2kSingleDecompositionIdwtJob<'_>, &mut [f32]) -> j2k_native::error::Result -pub fn j2k_native::HtCodeBlockDecoder::decode_store_component(&mut self, j2k_native::J2kStoreComponentJob<'_>) -> j2k_native::error::Result -pub fn j2k_native::HtCodeBlockDecoder::decode_sub_band(&mut self, j2k_native::HtSubBandDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result -pub fn j2k_native::HtSigPropBenchmarkState::output_len(&self) -> usize -pub fn j2k_native::Image<'a>::build_direct_color_plan_region_with_context(&self, &mut j2k_native::DecoderContext<'a>, (u32, u32, u32, u32)) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::build_direct_color_plan_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::build_direct_grayscale_plan_region_with_context(&self, &mut j2k_native::DecoderContext<'a>, (u32, u32, u32, u32)) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::build_direct_grayscale_plan_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode(&self) -> j2k_native::error::Result> -pub fn j2k_native::Image<'a>::decode_components_with_context<'ctx>(&self, &'ctx mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result> -pub fn j2k_native::Image<'a>::decode_components_with_ht_decoder<'ctx>(&self, &'ctx mut j2k_native::DecoderContext<'a>, &mut dyn j2k_native::HtCodeBlockDecoder) -> j2k_native::error::Result> -pub fn j2k_native::Image<'a>::decode_into(&self, &mut [u8], &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result<()> -pub fn j2k_native::Image<'a>::decode_native(&self) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_components(&self) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_components_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_region(&self, (u32, u32, u32, u32)) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_region_components(&self, (u32, u32, u32, u32)) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_region_components_with_context(&self, (u32, u32, u32, u32), &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_region_with_context(&self, (u32, u32, u32, u32), &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_native_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_region(&self, (u32, u32, u32, u32)) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_region_components_with_context<'ctx>(&self, (u32, u32, u32, u32), &'ctx mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result> -pub fn j2k_native::Image<'a>::decode_region_components_with_ht_decoder<'ctx>(&self, &'ctx mut j2k_native::DecoderContext<'a>, (u32, u32, u32, u32), &mut dyn j2k_native::HtCodeBlockDecoder) -> j2k_native::error::Result> -pub fn j2k_native::Image<'a>::decode_region_with_context(&self, (u32, u32, u32, u32), &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_reversible_53_coefficients(&self) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_reversible_53_coefficients_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::decode_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::new(&'a [u8], &j2k_native::DecodeSettings) -> j2k_native::error::Result -pub fn j2k_native::Image<'a>::supports_direct_device_plane_reuse(&self) -> bool -pub fn j2k_native::J2kDirectCpuScratch::clear(&mut self) -pub fn j2k_native::J2kEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k_native::J2kEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> core::result::Result>>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> core::result::Result -pub fn j2k_native::J2kEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> core::result::Result -pub fn j2k_native::J2kEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_ht_subband(&mut self, j2k_types::J2kHtSubbandEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::encode_tier1_code_blocks(&mut self, &[j2k_types::J2kTier1CodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_native::J2kEncodeStageAccelerator::prefer_parallel_cpu_code_block_fallback(&self) -> bool -pub fn j2k_native::J2kEncodeStageAccelerator::prefer_parallel_cpu_tile_encode(&self) -> bool -pub fn j2k_native::J2kRect::height(self) -> u32 -pub fn j2k_native::J2kRect::width(self) -> u32 -pub fn j2k_native::collect_ht_cleanup_encode_distribution(&[i32], u32, u32, u8) -> core::result::Result -pub fn j2k_native::decode_ht_code_block_scalar(j2k_native::HtCodeBlockDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_ht_code_block_scalar_until_phase(j2k_native::HtCodeBlockDecodeJob<'_>, &mut [f32], j2k_native::HtCodeBlockDecodePhaseLimit) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_ht_code_block_scalar_with_workspace(j2k_native::HtCodeBlockDecodeJob<'_>, &mut [f32], &mut j2k_native::HtCodeBlockDecodeWorkspace) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_ht_code_block_scalar_with_workspace_profiled(j2k_native::HtCodeBlockDecodeJob<'_>, &mut [f32], &mut j2k_native::HtCodeBlockDecodeWorkspace, &mut j2k_native::HtCodeBlockDecodeProfile) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_ht_sigprop_benchmark_state(&mut j2k_native::HtSigPropBenchmarkState, &mut [u32]) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_j2k_code_block_scalar(j2k_native::J2kCodeBlockDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_j2k_code_block_scalar_profiled(j2k_native::J2kCodeBlockDecodeJob<'_>, &mut [f32], &mut j2k_native::J2kCodeBlockDecodeProfile) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_j2k_code_block_scalar_with_workspace(j2k_native::J2kCodeBlockDecodeJob<'_>, &mut [f32], &mut j2k_native::J2kCodeBlockDecodeWorkspace) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_j2k_code_block_scalar_with_workspace_profiled(j2k_native::J2kCodeBlockDecodeJob<'_>, &mut [f32], &mut j2k_native::J2kCodeBlockDecodeWorkspace, &mut j2k_native::J2kCodeBlockDecodeProfile) -> j2k_native::error::Result<()> -pub fn j2k_native::decode_j2k_sub_band_scalar(j2k_native::J2kSubBandDecodeJob<'_>, &mut [f32]) -> j2k_native::error::Result<()> -pub fn j2k_native::deinterleave_reference(&[u8], usize, u16, u8, bool) -> alloc::vec::Vec> -pub fn j2k_native::encode(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_component_planes_53(&[j2k_native::EncodeComponentPlane<'_>], u32, u32, u8, bool, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_ht_code_block_scalar(&[i32], u32, u32, u8) -> core::result::Result -pub fn j2k_native::encode_ht_code_block_scalar_with_passes(&[i32], u32, u32, u8, u8) -> core::result::Result -pub fn j2k_native::encode_htj2k(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_j2k_code_block_scalar_with_style(&[i32], u32, u32, j2k_types::J2kSubBandType, u8, j2k_types::J2kCodeBlockStyle) -> core::result::Result -pub fn j2k_native::encode_j2k_packetization_scalar(j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_53(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_53_with_accelerator(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_53_with_mct(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions, bool) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_53_with_mct_and_accelerator(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions, bool, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_97(&j2k_types::PrecomputedHtj2k97Image, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_97_batch_with_accelerator(&[j2k_types::PrecomputedHtj2k97Image], &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result>, &'static str> -pub fn j2k_native::encode_precomputed_htj2k_97_with_accelerator(&j2k_types::PrecomputedHtj2k97Image, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_j2k_53(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_j2k_53_with_accelerator(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_j2k_53_with_mct(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions, bool) -> core::result::Result, &'static str> -pub fn j2k_native::encode_precomputed_j2k_53_with_mct_and_accelerator(&j2k_types::PrecomputedHtj2k53Image, &j2k_native::EncodeOptions, bool, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_preencoded_htj2k_97(&j2k_types::PreencodedHtj2k97Image, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_preencoded_htj2k_97_compact_owned_with_accelerator(j2k_types::PreencodedHtj2k97CompactImage, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_preencoded_htj2k_97_owned_with_accelerator(j2k_types::PreencodedHtj2k97Image, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_preencoded_htj2k_97_with_accelerator(&j2k_types::PreencodedHtj2k97Image, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_prequantized_htj2k_97(&j2k_types::PrequantizedHtj2k97Image, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_prequantized_htj2k_97_with_accelerator(&j2k_types::PrequantizedHtj2k97Image, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_typed_component_planes_53(&[j2k_native::EncodeTypedComponentPlane<'_>], u32, u32, &j2k_native::EncodeOptions) -> core::result::Result, &'static str> -pub fn j2k_native::encode_with_accelerator(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions, &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_with_accelerator_and_roi_regions(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions, &[j2k_native::EncodeRoiRegion], &mut impl j2k_native::J2kEncodeStageAccelerator) -> core::result::Result, &'static str> -pub fn j2k_native::encode_with_roi_regions(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions, &[j2k_native::EncodeRoiRegion]) -> core::result::Result, &'static str> -pub fn j2k_native::error::ColorError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::error::DecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::error::DecodeError::from(j2k_native::error::ColorError) -> Self -pub fn j2k_native::error::DecodeError::from(j2k_native::error::DecodingError) -> Self -pub fn j2k_native::error::DecodeError::from(j2k_native::error::FormatError) -> Self -pub fn j2k_native::error::DecodeError::from(j2k_native::error::MarkerError) -> Self -pub fn j2k_native::error::DecodeError::from(j2k_native::error::TileError) -> Self -pub fn j2k_native::error::DecodeError::from(j2k_native::error::ValidationError) -> Self -pub fn j2k_native::error::DecodingError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::error::FormatError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::error::MarkerError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::error::TileError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::error::ValidationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::execute_direct_color_plan_rgb8_into(&j2k_native::J2kDirectColorPlan, j2k_native::J2kRect, &mut j2k_native::J2kDirectCpuScratch, &mut [u8], usize) -> j2k_native::error::Result<()> -pub fn j2k_native::execute_direct_color_plan_rgba8_into(&j2k_native::J2kDirectColorPlan, j2k_native::J2kRect, &mut j2k_native::J2kDirectCpuScratch, &mut [u8], usize) -> j2k_native::error::Result<()> -pub fn j2k_native::forward_dwt53_reference(&[f32], u32, u32, u8) -> j2k_types::J2kForwardDwt53Output -pub fn j2k_native::forward_dwt97_reference(&[f32], u32, u32, u8) -> j2k_types::J2kForwardDwt97Output -pub fn j2k_native::forward_ict_reference(alloc::vec::Vec>) -> alloc::vec::Vec> -pub fn j2k_native::forward_rct_reference(alloc::vec::Vec>) -> alloc::vec::Vec> -pub fn j2k_native::ht_uvlc_encode_table() -> &'static [j2k_native::HtUvlcTableEntry; 75] -pub fn j2k_native::ht_uvlc_encode_table_bytes() -> &'static [u8] -pub fn j2k_native::ht_uvlc_table0() -> &'static [u16; 320] -pub fn j2k_native::ht_uvlc_table1() -> &'static [u16; 256] -pub fn j2k_native::ht_vlc_encode_table0() -> &'static [u16; 2048] -pub fn j2k_native::ht_vlc_encode_table1() -> &'static [u16; 2048] -pub fn j2k_native::ht_vlc_table0() -> &'static [u16; 1024] -pub fn j2k_native::ht_vlc_table1() -> &'static [u16; 1024] -pub fn j2k_native::idwt_band_index(u32, u32, bool) -> u32 -pub fn j2k_native::irreversible_quantization_step_for_subband(u8, u8, f32, j2k_types::IrreversibleQuantizationSubbandScales, j2k_types::J2kSubBandType) -> j2k_types::IrreversibleQuantizationStep -pub fn j2k_native::pack_j2k_code_block_scalar_from_tier1_tokens(&[u8], &[j2k_native::J2kTier1TokenSegment], u8, u8) -> core::result::Result -pub fn j2k_native::prepare_ht_sigprop_benchmark_state(j2k_native::HtCodeBlockDecodeJob<'_>) -> j2k_native::error::Result -pub fn j2k_native::quantize_reversible_reference(&[f32], u16, u16, u8, bool) -> alloc::vec::Vec -pub fn j2k_native::quantize_subband_reference(&[f32], u16, u16, u8, bool) -> alloc::vec::Vec -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> core::result::Result>>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> core::result::Result -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> core::result::Result -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_ht_subband(&mut self, j2k_types::J2kHtSubbandEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> core::result::Result, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::encode_tier1_code_blocks(&mut self, &[j2k_types::J2kTier1CodeBlockEncodeJob<'_>]) -> core::result::Result>, &'static str> -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::prefer_parallel_cpu_code_block_fallback(&self) -> bool -pub fn j2k_types::CpuOnlyJ2kEncodeStageAccelerator::prefer_parallel_cpu_tile_encode(&self) -> bool -pub j2k_native::DecodeError::Color(j2k_native::error::ColorError) -pub j2k_native::DecodeError::Decoding(j2k_native::error::DecodingError) -pub j2k_native::DecodeError::Format(j2k_native::error::FormatError) -pub j2k_native::DecodeError::Marker(j2k_native::error::MarkerError) -pub j2k_native::DecodeError::Tile(j2k_native::error::TileError) -pub j2k_native::DecodeError::Validation(j2k_native::error::ValidationError) -pub j2k_native::HtCleanupEncodeDistribution::initial_quads: u64 -pub j2k_native::HtCleanupEncodeDistribution::initial_rho_counts: [u64; 16] -pub j2k_native::HtCleanupEncodeDistribution::mag_sign_calls: u64 -pub j2k_native::HtCleanupEncodeDistribution::mag_sign_encoded_samples: u64 -pub j2k_native::HtCleanupEncodeDistribution::mag_sign_rho_counts: [u64; 16] -pub j2k_native::HtCleanupEncodeDistribution::mag_sign_sample_bit_counts: [u64; 32] -pub j2k_native::HtCleanupEncodeDistribution::non_initial_e_qmax_counts: [u64; 32] -pub j2k_native::HtCleanupEncodeDistribution::non_initial_kappa_counts: [u64; 32] -pub j2k_native::HtCleanupEncodeDistribution::non_initial_quads: u64 -pub j2k_native::HtCleanupEncodeDistribution::non_initial_rho_counts: [u64; 16] -pub j2k_native::HtCleanupEncodeDistribution::non_initial_rho_u_q_counts: [[u64; 32]; 16] -pub j2k_native::HtCleanupEncodeDistribution::non_initial_u_q_counts: [u64; 32] -pub j2k_native::HtCleanupEncodeDistribution::rho_counts: [u64; 16] -pub j2k_native::HtCleanupEncodeDistribution::total_quads: u64 -pub j2k_native::HtCodeBlockBatchJob::code_block: j2k_native::HtCodeBlockDecodeJob<'a> -pub j2k_native::HtCodeBlockBatchJob::output_x: u32 -pub j2k_native::HtCodeBlockBatchJob::output_y: u32 -pub j2k_native::HtCodeBlockDecodeJob::cleanup_length: u32 -pub j2k_native::HtCodeBlockDecodeJob::data: &'a [u8] -pub j2k_native::HtCodeBlockDecodeJob::dequantization_step: f32 -pub j2k_native::HtCodeBlockDecodeJob::height: u32 -pub j2k_native::HtCodeBlockDecodeJob::missing_bit_planes: u8 -pub j2k_native::HtCodeBlockDecodeJob::num_bitplanes: u8 -pub j2k_native::HtCodeBlockDecodeJob::number_of_coding_passes: u8 -pub j2k_native::HtCodeBlockDecodeJob::output_stride: usize -pub j2k_native::HtCodeBlockDecodeJob::refinement_length: u32 -pub j2k_native::HtCodeBlockDecodeJob::roi_shift: u8 -pub j2k_native::HtCodeBlockDecodeJob::strict: bool -pub j2k_native::HtCodeBlockDecodeJob::stripe_causal: bool -pub j2k_native::HtCodeBlockDecodeJob::width: u32 -pub j2k_native::HtCodeBlockDecodePhaseLimit::Cleanup -pub j2k_native::HtCodeBlockDecodePhaseLimit::MagnitudeRefinement -pub j2k_native::HtCodeBlockDecodePhaseLimit::SignificancePropagation -pub j2k_native::HtCodeBlockDecodeProfile::blocks: u128 -pub j2k_native::HtCodeBlockDecodeProfile::cleanup_bytes: u128 -pub j2k_native::HtCodeBlockDecodeProfile::cleanup_us: u128 -pub j2k_native::HtCodeBlockDecodeProfile::mag_sgn_us: u128 -pub j2k_native::HtCodeBlockDecodeProfile::magref_us: u128 -pub j2k_native::HtCodeBlockDecodeProfile::refinement_blocks: u128 -pub j2k_native::HtCodeBlockDecodeProfile::refinement_bytes: u128 -pub j2k_native::HtCodeBlockDecodeProfile::sigma_us: u128 -pub j2k_native::HtCodeBlockDecodeProfile::sigprop_us: u128 -pub j2k_native::HtOwnedCodeBlockBatchJob::cleanup_length: u32 -pub j2k_native::HtOwnedCodeBlockBatchJob::data: alloc::vec::Vec -pub j2k_native::HtOwnedCodeBlockBatchJob::dequantization_step: f32 -pub j2k_native::HtOwnedCodeBlockBatchJob::height: u32 -pub j2k_native::HtOwnedCodeBlockBatchJob::missing_bit_planes: u8 -pub j2k_native::HtOwnedCodeBlockBatchJob::num_bitplanes: u8 -pub j2k_native::HtOwnedCodeBlockBatchJob::number_of_coding_passes: u8 -pub j2k_native::HtOwnedCodeBlockBatchJob::output_stride: usize -pub j2k_native::HtOwnedCodeBlockBatchJob::output_x: u32 -pub j2k_native::HtOwnedCodeBlockBatchJob::output_y: u32 -pub j2k_native::HtOwnedCodeBlockBatchJob::refinement_length: u32 -pub j2k_native::HtOwnedCodeBlockBatchJob::roi_shift: u8 -pub j2k_native::HtOwnedCodeBlockBatchJob::strict: bool -pub j2k_native::HtOwnedCodeBlockBatchJob::stripe_causal: bool -pub j2k_native::HtOwnedCodeBlockBatchJob::width: u32 -pub j2k_native::HtOwnedSubBandPlan::band_id: j2k_native::J2kDirectBandId -pub j2k_native::HtOwnedSubBandPlan::height: u32 -pub j2k_native::HtOwnedSubBandPlan::jobs: alloc::vec::Vec -pub j2k_native::HtOwnedSubBandPlan::rect: j2k_native::J2kRect -pub j2k_native::HtOwnedSubBandPlan::width: u32 -pub j2k_native::HtSubBandDecodeJob::height: u32 -pub j2k_native::HtSubBandDecodeJob::jobs: &'a [j2k_native::HtCodeBlockBatchJob<'a>] -pub j2k_native::HtSubBandDecodeJob::width: u32 -pub j2k_native::HtUvlcTableEntry::ext: u8 -pub j2k_native::HtUvlcTableEntry::ext_len: u8 -pub j2k_native::HtUvlcTableEntry::pre: u8 -pub j2k_native::HtUvlcTableEntry::pre_len: u8 -pub j2k_native::HtUvlcTableEntry::suf: u8 -pub j2k_native::HtUvlcTableEntry::suf_len: u8 -pub j2k_native::J2kCodeBlockBatchJob::code_block: j2k_native::J2kCodeBlockDecodeJob<'a> -pub j2k_native::J2kCodeBlockBatchJob::output_x: u32 -pub j2k_native::J2kCodeBlockBatchJob::output_y: u32 -pub j2k_native::J2kCodeBlockDecodeJob::data: &'a [u8] -pub j2k_native::J2kCodeBlockDecodeJob::dequantization_step: f32 -pub j2k_native::J2kCodeBlockDecodeJob::height: u32 -pub j2k_native::J2kCodeBlockDecodeJob::missing_bit_planes: u8 -pub j2k_native::J2kCodeBlockDecodeJob::number_of_coding_passes: u8 -pub j2k_native::J2kCodeBlockDecodeJob::output_stride: usize -pub j2k_native::J2kCodeBlockDecodeJob::roi_shift: u8 -pub j2k_native::J2kCodeBlockDecodeJob::segments: &'a [j2k_types::J2kCodeBlockSegment] -pub j2k_native::J2kCodeBlockDecodeJob::strict: bool -pub j2k_native::J2kCodeBlockDecodeJob::style: j2k_types::J2kCodeBlockStyle -pub j2k_native::J2kCodeBlockDecodeJob::sub_band_type: j2k_types::J2kSubBandType -pub j2k_native::J2kCodeBlockDecodeJob::total_bitplanes: u8 -pub j2k_native::J2kCodeBlockDecodeJob::width: u32 -pub j2k_native::J2kCodeBlockDecodeProfile::bypass_us: u128 -pub j2k_native::J2kCodeBlockDecodeProfile::cleanup_us: u128 -pub j2k_native::J2kCodeBlockDecodeProfile::magref_us: u128 -pub j2k_native::J2kCodeBlockDecodeProfile::output_convert_us: u128 -pub j2k_native::J2kCodeBlockDecodeProfile::sigprop_us: u128 -pub j2k_native::J2kDirectColorPlan::bit_depths: [u8; 3] -pub j2k_native::J2kDirectColorPlan::component_plans: alloc::vec::Vec -pub j2k_native::J2kDirectColorPlan::dimensions: (u32, u32) -pub j2k_native::J2kDirectColorPlan::mct: bool -pub j2k_native::J2kDirectColorPlan::transform: j2k_native::J2kWaveletTransform -pub j2k_native::J2kDirectGrayscalePlan::bit_depth: u8 -pub j2k_native::J2kDirectGrayscalePlan::dimensions: (u32, u32) -pub j2k_native::J2kDirectGrayscalePlan::steps: alloc::vec::Vec -pub j2k_native::J2kDirectGrayscaleStep::ClassicSubBand(j2k_native::J2kOwnedSubBandPlan) -pub j2k_native::J2kDirectGrayscaleStep::HtSubBand(j2k_native::HtOwnedSubBandPlan) -pub j2k_native::J2kDirectGrayscaleStep::Idwt(j2k_native::J2kDirectIdwtStep) -pub j2k_native::J2kDirectGrayscaleStep::Store(j2k_native::J2kDirectStoreStep) -pub j2k_native::J2kDirectIdwtStep::hh: j2k_native::J2kRect -pub j2k_native::J2kDirectIdwtStep::hh_band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kDirectIdwtStep::hl: j2k_native::J2kRect -pub j2k_native::J2kDirectIdwtStep::hl_band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kDirectIdwtStep::lh: j2k_native::J2kRect -pub j2k_native::J2kDirectIdwtStep::lh_band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kDirectIdwtStep::ll: j2k_native::J2kRect -pub j2k_native::J2kDirectIdwtStep::ll_band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kDirectIdwtStep::output_band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kDirectIdwtStep::rect: j2k_native::J2kRect -pub j2k_native::J2kDirectIdwtStep::transform: j2k_native::J2kWaveletTransform -pub j2k_native::J2kDirectStoreStep::addend: f32 -pub j2k_native::J2kDirectStoreStep::copy_height: u32 -pub j2k_native::J2kDirectStoreStep::copy_width: u32 -pub j2k_native::J2kDirectStoreStep::input_band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kDirectStoreStep::input_rect: j2k_native::J2kRect -pub j2k_native::J2kDirectStoreStep::output_height: u32 -pub j2k_native::J2kDirectStoreStep::output_width: u32 -pub j2k_native::J2kDirectStoreStep::output_x: u32 -pub j2k_native::J2kDirectStoreStep::output_y: u32 -pub j2k_native::J2kDirectStoreStep::source_x: u32 -pub j2k_native::J2kDirectStoreStep::source_y: u32 -pub j2k_native::J2kIdwtBand::coefficients: &'a [f32] -pub j2k_native::J2kIdwtBand::rect: j2k_native::J2kRect -pub j2k_native::J2kInverseMctJob::addend0: f32 -pub j2k_native::J2kInverseMctJob::addend1: f32 -pub j2k_native::J2kInverseMctJob::addend2: f32 -pub j2k_native::J2kInverseMctJob::plane0: &'a mut [f32] -pub j2k_native::J2kInverseMctJob::plane1: &'a mut [f32] -pub j2k_native::J2kInverseMctJob::plane2: &'a mut [f32] -pub j2k_native::J2kInverseMctJob::transform: j2k_native::J2kWaveletTransform -pub j2k_native::J2kOwnedCodeBlockBatchJob::data: alloc::vec::Vec -pub j2k_native::J2kOwnedCodeBlockBatchJob::dequantization_step: f32 -pub j2k_native::J2kOwnedCodeBlockBatchJob::height: u32 -pub j2k_native::J2kOwnedCodeBlockBatchJob::missing_bit_planes: u8 -pub j2k_native::J2kOwnedCodeBlockBatchJob::number_of_coding_passes: u8 -pub j2k_native::J2kOwnedCodeBlockBatchJob::output_stride: usize -pub j2k_native::J2kOwnedCodeBlockBatchJob::output_x: u32 -pub j2k_native::J2kOwnedCodeBlockBatchJob::output_y: u32 -pub j2k_native::J2kOwnedCodeBlockBatchJob::roi_shift: u8 -pub j2k_native::J2kOwnedCodeBlockBatchJob::segments: alloc::vec::Vec -pub j2k_native::J2kOwnedCodeBlockBatchJob::strict: bool -pub j2k_native::J2kOwnedCodeBlockBatchJob::style: j2k_types::J2kCodeBlockStyle -pub j2k_native::J2kOwnedCodeBlockBatchJob::sub_band_type: j2k_types::J2kSubBandType -pub j2k_native::J2kOwnedCodeBlockBatchJob::total_bitplanes: u8 -pub j2k_native::J2kOwnedCodeBlockBatchJob::width: u32 -pub j2k_native::J2kOwnedSubBandPlan::band_id: j2k_native::J2kDirectBandId -pub j2k_native::J2kOwnedSubBandPlan::height: u32 -pub j2k_native::J2kOwnedSubBandPlan::jobs: alloc::vec::Vec -pub j2k_native::J2kOwnedSubBandPlan::rect: j2k_native::J2kRect -pub j2k_native::J2kOwnedSubBandPlan::width: u32 -pub j2k_native::J2kRect::x0: u32 -pub j2k_native::J2kRect::x1: u32 -pub j2k_native::J2kRect::y0: u32 -pub j2k_native::J2kRect::y1: u32 -pub j2k_native::J2kSingleDecompositionIdwtJob::hh: j2k_native::J2kIdwtBand<'a> -pub j2k_native::J2kSingleDecompositionIdwtJob::hl: j2k_native::J2kIdwtBand<'a> -pub j2k_native::J2kSingleDecompositionIdwtJob::lh: j2k_native::J2kIdwtBand<'a> -pub j2k_native::J2kSingleDecompositionIdwtJob::ll: j2k_native::J2kIdwtBand<'a> -pub j2k_native::J2kSingleDecompositionIdwtJob::rect: j2k_native::J2kRect -pub j2k_native::J2kSingleDecompositionIdwtJob::transform: j2k_native::J2kWaveletTransform -pub j2k_native::J2kStoreComponentJob::addend: f32 -pub j2k_native::J2kStoreComponentJob::copy_height: u32 -pub j2k_native::J2kStoreComponentJob::copy_width: u32 -pub j2k_native::J2kStoreComponentJob::input: &'a [f32] -pub j2k_native::J2kStoreComponentJob::input_width: u32 -pub j2k_native::J2kStoreComponentJob::output: &'a mut [f32] -pub j2k_native::J2kStoreComponentJob::output_width: u32 -pub j2k_native::J2kStoreComponentJob::output_x: u32 -pub j2k_native::J2kStoreComponentJob::output_y: u32 -pub j2k_native::J2kStoreComponentJob::source_x: u32 -pub j2k_native::J2kStoreComponentJob::source_y: u32 -pub j2k_native::J2kSubBandDecodeJob::height: u32 -pub j2k_native::J2kSubBandDecodeJob::jobs: &'a [j2k_native::J2kCodeBlockBatchJob<'a>] -pub j2k_native::J2kSubBandDecodeJob::width: u32 -pub j2k_native::J2kTier1TokenSegment::end_coding_pass: u8 -pub j2k_native::J2kTier1TokenSegment::start_coding_pass: u8 -pub j2k_native::J2kTier1TokenSegment::token_bit_count: u32 -pub j2k_native::J2kTier1TokenSegment::token_bit_offset: u32 -pub j2k_native::J2kTier1TokenSegment::use_arithmetic: bool -pub j2k_native::J2kWaveletTransform::Irreversible97 -pub j2k_native::J2kWaveletTransform::Reversible53 -pub j2k_native::error::ColorError::LabConversionFailed -pub j2k_native::error::ColorError::Mct -pub j2k_native::error::ColorError::PaletteResolutionFailed -pub j2k_native::error::ColorError::SyccConversionFailed -pub j2k_native::error::DecodeError::Color(j2k_native::error::ColorError) -pub j2k_native::error::DecodeError::Decoding(j2k_native::error::DecodingError) -pub j2k_native::error::DecodeError::Format(j2k_native::error::FormatError) -pub j2k_native::error::DecodeError::Marker(j2k_native::error::MarkerError) -pub j2k_native::error::DecodeError::Tile(j2k_native::error::TileError) -pub j2k_native::error::DecodeError::Validation(j2k_native::error::ValidationError) -pub j2k_native::error::DecodingError::CodeBlockDecodeFailure -pub j2k_native::error::DecodingError::InvalidBitplaneCount -pub j2k_native::error::DecodingError::InvalidPrecinct -pub j2k_native::error::DecodingError::InvalidProgressionIterator -pub j2k_native::error::DecodingError::OutputBufferTooSmall -pub j2k_native::error::DecodingError::TooManyBitplanes -pub j2k_native::error::DecodingError::TooManyCodingPasses -pub j2k_native::error::DecodingError::UnexpectedEof -pub j2k_native::error::DecodingError::UnsupportedFeature(&'static str) -pub j2k_native::error::FormatError::InvalidBox -pub j2k_native::error::FormatError::InvalidFileType -pub j2k_native::error::FormatError::InvalidSignature -pub j2k_native::error::FormatError::MissingCodestream -pub j2k_native::error::FormatError::Unsupported -pub j2k_native::error::MarkerError::Expected(&'static str) -pub j2k_native::error::MarkerError::Invalid -pub j2k_native::error::MarkerError::Missing(&'static str) -pub j2k_native::error::MarkerError::ParseFailure(&'static str) -pub j2k_native::error::MarkerError::Unsupported -pub j2k_native::error::TileError::Invalid -pub j2k_native::error::TileError::InvalidIndex -pub j2k_native::error::TileError::InvalidOffsets -pub j2k_native::error::TileError::PpmPptConflict -pub j2k_native::error::ValidationError::ImageTooLarge -pub j2k_native::error::ValidationError::InsufficientExponents -pub j2k_native::error::ValidationError::InvalidChannelDefinition -pub j2k_native::error::ValidationError::InvalidComponentMetadata -pub j2k_native::error::ValidationError::InvalidDimensions -pub j2k_native::error::ValidationError::InvalidExponents -pub j2k_native::error::ValidationError::InvalidProgressionOrder -pub j2k_native::error::ValidationError::InvalidQuantizationStyle -pub j2k_native::error::ValidationError::InvalidTransformation -pub j2k_native::error::ValidationError::MissingPrecinctExponents -pub j2k_native::error::ValidationError::MissingStepSize -pub j2k_native::error::ValidationError::TooManyChannels -pub j2k_native::error::ValidationError::TooManyTiles -pub mod j2k_native::error -pub struct j2k_native::HtCleanupEncodeDistribution -pub struct j2k_native::HtCodeBlockBatchJob<'a> -pub struct j2k_native::HtCodeBlockDecodeJob<'a> -pub struct j2k_native::HtCodeBlockDecodeProfile -pub struct j2k_native::HtCodeBlockDecodeWorkspace -pub struct j2k_native::HtOwnedCodeBlockBatchJob -pub struct j2k_native::HtOwnedSubBandPlan -pub struct j2k_native::HtSigPropBenchmarkState(_) -pub struct j2k_native::HtSubBandDecodeJob<'a> -pub struct j2k_native::J2kCodeBlockBatchJob<'a> -pub struct j2k_native::J2kCodeBlockDecodeJob<'a> -pub struct j2k_native::J2kCodeBlockDecodeProfile -pub struct j2k_native::J2kCodeBlockDecodeWorkspace -pub struct j2k_native::J2kDirectColorPlan -pub struct j2k_native::J2kDirectCpuScratch -pub struct j2k_native::J2kDirectGrayscalePlan -pub struct j2k_native::J2kDirectIdwtStep -pub struct j2k_native::J2kDirectStoreStep -pub struct j2k_native::J2kIdwtBand<'a> -pub struct j2k_native::J2kInverseMctJob<'a> -pub struct j2k_native::J2kOwnedCodeBlockBatchJob -pub struct j2k_native::J2kOwnedSubBandPlan -pub struct j2k_native::J2kRect -pub struct j2k_native::J2kSingleDecompositionIdwtJob<'a> -pub struct j2k_native::J2kStoreComponentJob<'a> -pub struct j2k_native::J2kSubBandDecodeJob<'a> -pub struct j2k_native::J2kTier1TokenSegment -pub trait j2k_native::HtCodeBlockDecoder -pub trait j2k_native::J2kEncodeStageAccelerator -pub type j2k_native::J2kDirectBandId = u32 -pub type j2k_native::Result = core::result::Result -pub type j2k_native::error::Result = core::result::Result -pub use j2k_native::CpuOnlyJ2kEncodeStageAccelerator -pub use j2k_native::EncodedHtJ2kCodeBlock -pub use j2k_native::EncodedJ2kCodeBlock -pub use j2k_native::IrreversibleQuantizationStep -pub use j2k_native::IrreversibleQuantizationSubbandScales -pub use j2k_native::J2kCodeBlockSegment -pub use j2k_native::J2kCodeBlockStyle -pub use j2k_native::J2kDeinterleaveToF32Job -pub use j2k_native::J2kEncodeDispatchReport -pub use j2k_native::J2kForwardDwt53Job -pub use j2k_native::J2kForwardDwt53Level -pub use j2k_native::J2kForwardDwt53Output -pub use j2k_native::J2kForwardDwt97Job -pub use j2k_native::J2kForwardDwt97Level -pub use j2k_native::J2kForwardDwt97Output -pub use j2k_native::J2kForwardIctJob -pub use j2k_native::J2kForwardRctJob -pub use j2k_native::J2kHtCodeBlockEncodeJob -pub use j2k_native::J2kHtSubbandEncodeJob -pub use j2k_native::J2kHtj2kTileEncodeJob -pub use j2k_native::J2kPacketizationBlockCodingMode -pub use j2k_native::J2kPacketizationCodeBlock -pub use j2k_native::J2kPacketizationEncodeJob -pub use j2k_native::J2kPacketizationPacketDescriptor -pub use j2k_native::J2kPacketizationProgressionOrder -pub use j2k_native::J2kPacketizationResolution -pub use j2k_native::J2kPacketizationSubband -pub use j2k_native::J2kQuantizeSubbandJob -pub use j2k_native::J2kSubBandType -pub use j2k_native::J2kTier1CodeBlockEncodeJob -pub use j2k_native::PrecomputedHtj2k53Component -pub use j2k_native::PrecomputedHtj2k53Image -pub use j2k_native::PrecomputedHtj2k97Component -pub use j2k_native::PrecomputedHtj2k97Image -pub use j2k_native::PreencodedHtj2k97CodeBlock -pub use j2k_native::PreencodedHtj2k97CompactCodeBlock -pub use j2k_native::PreencodedHtj2k97CompactComponent -pub use j2k_native::PreencodedHtj2k97CompactImage -pub use j2k_native::PreencodedHtj2k97CompactResolution -pub use j2k_native::PreencodedHtj2k97CompactSubband -pub use j2k_native::PreencodedHtj2k97Component -pub use j2k_native::PreencodedHtj2k97Image -pub use j2k_native::PreencodedHtj2k97Resolution -pub use j2k_native::PreencodedHtj2k97Subband -pub use j2k_native::PrequantizedHtj2k97CodeBlock -pub use j2k_native::PrequantizedHtj2k97Component -pub use j2k_native::PrequantizedHtj2k97Image -pub use j2k_native::PrequantizedHtj2k97Resolution -pub use j2k_native::PrequantizedHtj2k97Subband -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_native::DecodeErrorClass -#[non_exhaustive] pub enum j2k_native::DirectPlanUnsupportedReason -#[non_exhaustive] pub enum j2k_native::EncodeError -impl core::convert::From for j2k_native::DecodeError -impl core::convert::From for j2k_native::DecodeError -impl core::convert::From for j2k_native::DecodeError -impl core::convert::From for j2k_native::DecodeError -impl core::convert::From for j2k_native::DecodeError -impl core::convert::From for j2k_native::DecodeError -impl core::error::Error for j2k_native::ColorError -impl core::error::Error for j2k_native::DecodeError -impl core::error::Error for j2k_native::DecodingError -impl core::error::Error for j2k_native::DirectPlanUnsupportedReason -impl core::error::Error for j2k_native::EncodeError -impl core::error::Error for j2k_native::FormatError -impl core::error::Error for j2k_native::J2kCodestreamHeaderError -impl core::error::Error for j2k_native::MarkerError -impl core::error::Error for j2k_native::TileError -impl core::error::Error for j2k_native::ValidationError -impl core::fmt::Display for j2k_native::ColorError -impl core::fmt::Display for j2k_native::DecodeError -impl core::fmt::Display for j2k_native::DecodingError -impl core::fmt::Display for j2k_native::DirectPlanUnsupportedReason -impl core::fmt::Display for j2k_native::EncodeError -impl core::fmt::Display for j2k_native::FormatError -impl core::fmt::Display for j2k_native::MarkerError -impl core::fmt::Display for j2k_native::TileError -impl core::fmt::Display for j2k_native::ValidationError -impl j2k_native::DecodeError -impl j2k_native::DecodeSettings -pub const fn j2k_native::DecodeError::classify(&self) -> j2k_native::DecodeErrorClass -pub const fn j2k_native::DecodeSettings::lenient() -> Self -pub const fn j2k_native::DecodeSettings::lenient_tolerance_enabled(&self) -> bool -pub const fn j2k_native::DecodeSettings::strict() -> Self -pub fn j2k_native::ColorError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::DecodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::DecodeError::from(j2k_native::ColorError) -> Self -pub fn j2k_native::DecodeError::from(j2k_native::DecodingError) -> Self -pub fn j2k_native::DecodeError::from(j2k_native::FormatError) -> Self -pub fn j2k_native::DecodeError::from(j2k_native::MarkerError) -> Self -pub fn j2k_native::DecodeError::from(j2k_native::TileError) -> Self -pub fn j2k_native::DecodeError::from(j2k_native::ValidationError) -> Self -pub fn j2k_native::DecodingError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::DirectPlanUnsupportedReason::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::EncodeError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::EncodeError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_native::FormatError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::Image<'a>::decode(&self) -> j2k_native::Result> -pub fn j2k_native::Image<'a>::decode_components_with_context<'ctx>(&self, &'ctx mut j2k_native::DecoderContext<'a>) -> j2k_native::Result> -pub fn j2k_native::Image<'a>::decode_into(&self, &mut [u8], &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result<()> -pub fn j2k_native::Image<'a>::decode_native(&self) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_components(&self) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_components_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_region(&self, (u32, u32, u32, u32)) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_region_components(&self, (u32, u32, u32, u32)) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_region_components_with_context(&self, (u32, u32, u32, u32), &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_region_with_context(&self, (u32, u32, u32, u32), &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_native_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_region(&self, (u32, u32, u32, u32)) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_region_components_with_context<'ctx>(&self, (u32, u32, u32, u32), &'ctx mut j2k_native::DecoderContext<'a>) -> j2k_native::Result> -pub fn j2k_native::Image<'a>::decode_region_with_context(&self, (u32, u32, u32, u32), &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result -pub fn j2k_native::Image<'a>::decode_with_context(&self, &mut j2k_native::DecoderContext<'a>) -> j2k_native::Result -pub fn j2k_native::Image<'a>::new(&'a [u8], &j2k_native::DecodeSettings) -> j2k_native::Result -pub fn j2k_native::MarkerError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::TileError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::ValidationError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_native::encode(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions) -> j2k_native::EncodeResult> -pub fn j2k_native::encode_component_planes_53(&[j2k_native::EncodeComponentPlane<'_>], u32, u32, u8, bool, &j2k_native::EncodeOptions) -> j2k_native::EncodeResult> -pub fn j2k_native::encode_htj2k(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions) -> j2k_native::EncodeResult> -pub fn j2k_native::encode_typed_component_planes_53(&[j2k_native::EncodeTypedComponentPlane<'_>], u32, u32, &j2k_native::EncodeOptions) -> j2k_native::EncodeResult> -pub fn j2k_native::encode_with_roi_regions(&[u8], u32, u32, u16, u8, bool, &j2k_native::EncodeOptions, &[j2k_native::EncodeRoiRegion]) -> j2k_native::EncodeResult> -pub j2k_native::DecodeError::AllocationTooLarge -pub j2k_native::DecodeError::AllocationTooLarge::cap: usize -pub j2k_native::DecodeError::AllocationTooLarge::requested: usize -pub j2k_native::DecodeError::AllocationTooLarge::what: &'static str -pub j2k_native::DecodeError::Color(j2k_native::ColorError) -pub j2k_native::DecodeError::Decoding(j2k_native::DecodingError) -pub j2k_native::DecodeError::Format(j2k_native::FormatError) -pub j2k_native::DecodeError::HostAllocationFailed -pub j2k_native::DecodeError::HostAllocationFailed::bytes: usize -pub j2k_native::DecodeError::HostAllocationFailed::what: &'static str -pub j2k_native::DecodeError::Marker(j2k_native::MarkerError) -pub j2k_native::DecodeError::Tile(j2k_native::TileError) -pub j2k_native::DecodeError::Validation(j2k_native::ValidationError) -pub j2k_native::DecodeErrorClass::Backend -pub j2k_native::DecodeErrorClass::InputTooShort -pub j2k_native::DecodeErrorClass::InputTooShort::have: usize -pub j2k_native::DecodeErrorClass::InputTooShort::need: usize -pub j2k_native::DecodeErrorClass::InputTruncatedAt -pub j2k_native::DecodeErrorClass::InputTruncatedAt::offset: usize -pub j2k_native::DecodeErrorClass::InputTruncatedAt::segment: &'static str -pub j2k_native::DecodeErrorClass::Unsupported -pub j2k_native::DecodeErrorClass::Unsupported::what: &'static str -pub j2k_native::DecodingError::CodeBlockDecodeFailureWithContext(&'static str) -pub j2k_native::DecodingError::DirectPlanUnsupported(j2k_native::DirectPlanUnsupportedReason) -pub j2k_native::DecodingError::HostAllocationFailed -pub j2k_native::DirectPlanUnsupportedReason::ColorRgbImageWithoutAlpha -pub j2k_native::DirectPlanUnsupportedReason::ColorSingleTileCodestream -pub j2k_native::DirectPlanUnsupportedReason::ColorThreeComponentRgbCodestream -pub j2k_native::DirectPlanUnsupportedReason::ComponentDecompositionIndexOutOfRange -pub j2k_native::DirectPlanUnsupportedReason::ComponentIndexOutOfRange -pub j2k_native::DirectPlanUnsupportedReason::ComponentUnitSampled -pub j2k_native::DirectPlanUnsupportedReason::GrayscaleImageWithoutAlpha -pub j2k_native::DirectPlanUnsupportedReason::GrayscaleSingleComponentCodestream -pub j2k_native::DirectPlanUnsupportedReason::GrayscaleSingleTileCodestream -pub j2k_native::EncodeError::Accelerator -pub j2k_native::EncodeError::Accelerator::operation: &'static str -pub j2k_native::EncodeError::Accelerator::source: j2k_types::stage_error::J2kEncodeStageError -pub j2k_native::EncodeError::AllocationTooLarge -pub j2k_native::EncodeError::AllocationTooLarge::cap: usize -pub j2k_native::EncodeError::AllocationTooLarge::requested: usize -pub j2k_native::EncodeError::AllocationTooLarge::what: &'static str -pub j2k_native::EncodeError::ArithmeticOverflow -pub j2k_native::EncodeError::ArithmeticOverflow::what: &'static str -pub j2k_native::EncodeError::CodestreamValidation -pub j2k_native::EncodeError::CodestreamValidation::detail: &'static str -pub j2k_native::EncodeError::HostAllocationFailed -pub j2k_native::EncodeError::HostAllocationFailed::bytes: usize -pub j2k_native::EncodeError::HostAllocationFailed::what: &'static str -pub j2k_native::EncodeError::InternalInvariant -pub j2k_native::EncodeError::InternalInvariant::what: &'static str -pub j2k_native::EncodeError::InvalidInput -pub j2k_native::EncodeError::InvalidInput::what: &'static str -pub j2k_native::EncodeError::Unsupported -pub j2k_native::EncodeError::Unsupported::what: &'static str -pub j2k_native::FormatError::MissingRequiredBox(&'static str) -pub j2k_native::FormatError::TooShort -pub j2k_native::FormatError::TooShort::have: usize -pub j2k_native::FormatError::TooShort::need: usize -pub j2k_native::FormatError::TruncatedAt -pub j2k_native::FormatError::TruncatedAt::offset: usize -pub j2k_native::FormatError::TruncatedAt::segment: &'static str -pub j2k_native::J2kCodestreamHeaderError::HostAllocationFailed -pub j2k_native::J2kCodestreamHeaderError::HostAllocationFailed::bytes: usize -pub type j2k_native::EncodeResult = core::result::Result -pub type j2k_native::Result = core::result::Result -``` - -### `j2k-types` - -Baseline items: 284. Candidate items: 351. Computed release type: `major`. Rustdoc-hidden candidate items: 60. Full hidden-inventory fingerprint: `fnv1a64:bc3b26816db006bf`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_types::J2kEncodeStageError -#[non_exhaustive] pub enum j2k_types::J2kEncodeStageErrorKind -impl core::cmp::Eq for j2k_types::J2kEncodeStageError -impl core::cmp::PartialEq for j2k_types::J2kEncodeStageError -impl core::error::Error for j2k_types::J2kEncodeStageError -impl core::fmt::Display for j2k_types::J2kEncodeStageError -impl j2k_types::J2kEncodeStageError -impl j2k_types::J2kPacketizationProgressionOrder -pub const fn j2k_types::J2kEncodeStageError::arithmetic_overflow(&'static str) -> Self -pub const fn j2k_types::J2kEncodeStageError::host_allocation_failed(&'static str, usize) -> Self -pub const fn j2k_types::J2kEncodeStageError::internal_invariant(&'static str) -> Self -pub const fn j2k_types::J2kEncodeStageError::invalid_request(&'static str) -> Self -pub const fn j2k_types::J2kEncodeStageError::kind(&self) -> j2k_types::J2kEncodeStageErrorKind -pub const fn j2k_types::J2kEncodeStageError::memory_cap_exceeded(&'static str, usize, usize) -> Self -pub const fn j2k_types::J2kEncodeStageError::reason(&self) -> &'static str -pub const fn j2k_types::J2kEncodeStageError::unsupported(&'static str) -> Self -pub const fn j2k_types::J2kPacketizationProgressionOrder::codestream_order_code(self) -> u8 -pub fn j2k_types::J2kEncodeStageAccelerator::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub fn j2k_types::J2kEncodeStageAccelerator::encode_deinterleave(&mut self, j2k_types::J2kDeinterleaveToF32Job<'_>) -> j2k_types::J2kEncodeStageResult>>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_forward_dwt53(&mut self, j2k_types::J2kForwardDwt53Job<'_>) -> j2k_types::J2kEncodeStageResult> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_forward_dwt97(&mut self, j2k_types::J2kForwardDwt97Job<'_>) -> j2k_types::J2kEncodeStageResult> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_forward_ict(&mut self, j2k_types::J2kForwardIctJob<'_>) -> j2k_types::J2kEncodeStageResult -pub fn j2k_types::J2kEncodeStageAccelerator::encode_forward_rct(&mut self, j2k_types::J2kForwardRctJob<'_>) -> j2k_types::J2kEncodeStageResult -pub fn j2k_types::J2kEncodeStageAccelerator::encode_ht_code_block(&mut self, j2k_types::J2kHtCodeBlockEncodeJob<'_>) -> j2k_types::J2kEncodeStageResult> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_ht_code_blocks(&mut self, &[j2k_types::J2kHtCodeBlockEncodeJob<'_>]) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_ht_subband(&mut self, j2k_types::J2kHtSubbandEncodeJob<'_>) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_htj2k_tile(&mut self, j2k_types::J2kHtj2kTileEncodeJob<'_>) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_packetization(&mut self, j2k_types::J2kPacketizationEncodeJob<'_>) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_quantize_subband(&mut self, j2k_types::J2kQuantizeSubbandJob<'_>) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_resident_htj2k_tile(&mut self, J2kResidentHtj2kTileEncodeJob<'_>) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_tier1_code_block(&mut self, j2k_types::J2kTier1CodeBlockEncodeJob<'_>) -> j2k_types::J2kEncodeStageResult> -pub fn j2k_types::J2kEncodeStageAccelerator::encode_tier1_code_blocks(&mut self, &[j2k_types::J2kTier1CodeBlockEncodeJob<'_>]) -> j2k_types::J2kEncodeStageResult>> -pub fn j2k_types::J2kEncodeStageAccelerator::prefer_parallel_cpu_code_block_fallback(&self) -> bool -pub fn j2k_types::J2kEncodeStageAccelerator::prefer_parallel_cpu_tile_encode(&self) -> bool -pub fn j2k_types::J2kEncodeStageError::backend(&'static str, &'static str, impl core::error::Error + core::marker::Send + core::marker::Sync + 'static) -> Self -pub fn j2k_types::J2kEncodeStageError::eq(&self, &Self) -> bool -pub fn j2k_types::J2kEncodeStageError::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_types::J2kEncodeStageError::source(&self) -> core::option::Option<&(dyn core::error::Error + 'static)> -pub fn j2k_types::sort_packet_descriptors_for_progression(&mut [j2k_types::J2kPacketizationPacketDescriptor], j2k_types::J2kPacketizationProgressionOrder) -pub j2k_types::J2kEncodeStageError::ArithmeticOverflow -pub j2k_types::J2kEncodeStageError::ArithmeticOverflow::what: &'static str -pub j2k_types::J2kEncodeStageError::Backend -pub j2k_types::J2kEncodeStageError::Backend::backend: &'static str -pub j2k_types::J2kEncodeStageError::Backend::operation: &'static str -pub j2k_types::J2kEncodeStageError::Backend::source: alloc::boxed::Box<(dyn core::error::Error + core::marker::Send + core::marker::Sync + 'static)> -pub j2k_types::J2kEncodeStageError::HostAllocationFailed -pub j2k_types::J2kEncodeStageError::HostAllocationFailed::bytes: usize -pub j2k_types::J2kEncodeStageError::HostAllocationFailed::what: &'static str -pub j2k_types::J2kEncodeStageError::InternalInvariant -pub j2k_types::J2kEncodeStageError::InternalInvariant::what: &'static str -pub j2k_types::J2kEncodeStageError::InvalidRequest -pub j2k_types::J2kEncodeStageError::InvalidRequest::what: &'static str -pub j2k_types::J2kEncodeStageError::MemoryCapExceeded -pub j2k_types::J2kEncodeStageError::MemoryCapExceeded::cap: usize -pub j2k_types::J2kEncodeStageError::MemoryCapExceeded::requested: usize -pub j2k_types::J2kEncodeStageError::MemoryCapExceeded::what: &'static str -pub j2k_types::J2kEncodeStageError::Unsupported -pub j2k_types::J2kEncodeStageError::Unsupported::what: &'static str -pub j2k_types::J2kEncodeStageErrorKind::ArithmeticOverflow -pub j2k_types::J2kEncodeStageErrorKind::Backend -pub j2k_types::J2kEncodeStageErrorKind::HostAllocationFailed -pub j2k_types::J2kEncodeStageErrorKind::InternalInvariant -pub j2k_types::J2kEncodeStageErrorKind::InvalidRequest -pub j2k_types::J2kEncodeStageErrorKind::MemoryCapExceeded -pub j2k_types::J2kEncodeStageErrorKind::Unsupported -pub trait j2k_types::J2kEncodeStageAccelerator -pub type j2k_types::J2kEncodeStageResult = core::result::Result -``` - -### `j2k-cuda-runtime` - -Baseline items: 842. Candidate items: 95. Computed release type: `major`. Rustdoc-hidden candidate items: 918. Full hidden-inventory fingerprint: `fnv1a64:61e8d94589aa373a`. - -#### Removed or changed baseline API items - -```text -#[non_exhaustive] pub enum j2k_cuda_runtime::CudaKernelName -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kEncodeStatus -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kPacketizationBlock -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kPacketizationStatus -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kPacketizationSubband -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kPacketizationTagNodeState -#[repr(C)] pub struct j2k_cuda_runtime::CudaHtj2kStatus -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kIdwtJob -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kInverseMctJob -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kRect -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kStoreGray16Job -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kStoreGray8Job -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kStoreRgb16Job -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kStoreRgb16MctJob -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kStoreRgb8Job -#[repr(C)] pub struct j2k_cuda_runtime::CudaJ2kStoreRgb8MctJob -#[repr(C)] pub struct j2k_cuda_runtime::CudaJpegEntropyCheckpoint -#[repr(C)] pub struct j2k_cuda_runtime::CudaJpegEntropyOverflowState -#[repr(C)] pub struct j2k_cuda_runtime::CudaJpegEntropySyncState -#[repr(C)] pub struct j2k_cuda_runtime::CudaJpegHuffmanTable -impl core::default::Default for j2k_cuda_runtime::CudaJpegChunkedEntropyConfig -impl core::marker::Send for j2k_cuda_runtime::CudaEvent -impl core::marker::Send for j2k_cuda_runtime::CudaPinnedHostBuffer -impl core::marker::Send for j2k_cuda_runtime::CudaStream -impl core::ops::drop::Drop for j2k_cuda_runtime::CudaEvent -impl core::ops::drop::Drop for j2k_cuda_runtime::CudaPinnedHostBuffer -impl core::ops::drop::Drop for j2k_cuda_runtime::CudaStream -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kEncodeStatus -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kPacketizationBlock -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kPacketizationStatus -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kPacketizationSubband -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kPacketizationTagNodeState -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaHtj2kStatus -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kIdwtJob -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kInverseMctJob -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kStoreGray16Job -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kStoreGray8Job -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kStoreRgb16Job -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kStoreRgb16MctJob -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJ2kStoreRgb8Job -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJpegEntropyCheckpoint -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJpegEntropyOverflowState -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJpegEntropySyncState -impl j2k_core::accelerator::GpuAbi for j2k_cuda_runtime::CudaJpegHuffmanTable -impl j2k_cuda_runtime::CudaDwt53Output -impl j2k_cuda_runtime::CudaDwt97Output -impl j2k_cuda_runtime::CudaEvent -impl j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock -impl j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks -impl j2k_cuda_runtime::CudaHtj2kDecodeOutput -impl j2k_cuda_runtime::CudaHtj2kEncodeStatus -impl j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock -impl j2k_cuda_runtime::CudaHtj2kEncodedCodeBlocks -impl j2k_cuda_runtime::CudaHtj2kPacketizationStatus -impl j2k_cuda_runtime::CudaHtj2kPacketizedTile -impl j2k_cuda_runtime::CudaHtj2kStatus -impl j2k_cuda_runtime::CudaJ2kDeinterleavedComponents -impl j2k_cuda_runtime::CudaJ2kQuantizedSubband -impl j2k_cuda_runtime::CudaJ2kResidentComponents -impl j2k_cuda_runtime::CudaJ2kResidentQuantizedSubband -impl j2k_cuda_runtime::CudaJpegChunkedEntropyConfig -impl j2k_cuda_runtime::CudaJpegChunkedEntropyReport -impl j2k_cuda_runtime::CudaJpegHuffmanTable -impl j2k_cuda_runtime::CudaKernelBatchOutput -impl j2k_cuda_runtime::CudaKernelContiguousBatchOutput -impl j2k_cuda_runtime::CudaKernelModule -impl j2k_cuda_runtime::CudaKernelOutput -impl j2k_cuda_runtime::CudaPinnedHostBuffer -impl j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput -impl j2k_cuda_runtime::CudaPooledKernelOutput -impl j2k_cuda_runtime::CudaQueuedExecution -impl j2k_cuda_runtime::CudaQueuedHtj2kCleanup -impl j2k_cuda_runtime::CudaResidentDwt53Output -impl j2k_cuda_runtime::CudaResidentDwt97Output -impl j2k_cuda_runtime::CudaStream -impl j2k_cuda_runtime::CudaDeviceBufferView<'_, T> -impl j2k_cuda_runtime::CudaDeviceBufferViewMut<'_, T> -pub const j2k_cuda_runtime::CudaHtj2kEncodeStatus::NAME: &'static str -pub const j2k_cuda_runtime::CudaHtj2kPacketizationBlock::NAME: &'static str -pub const j2k_cuda_runtime::CudaHtj2kPacketizationStatus::NAME: &'static str -pub const j2k_cuda_runtime::CudaHtj2kPacketizationSubband::NAME: &'static str -pub const j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState::NAME: &'static str -pub const j2k_cuda_runtime::CudaHtj2kPacketizationTagNodeState::NAME: &'static str -pub const j2k_cuda_runtime::CudaHtj2kStatus::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kIdwtJob::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kInverseMctJob::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kStoreGray16Job::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kStoreGray8Job::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kStoreRgb16Job::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kStoreRgb16MctJob::NAME: &'static str -pub const j2k_cuda_runtime::CudaJ2kStoreRgb8Job::NAME: &'static str -pub const j2k_cuda_runtime::CudaJpegEntropyCheckpoint::NAME: &'static str -pub const j2k_cuda_runtime::CudaJpegEntropyOverflowState::NAME: &'static str -pub const j2k_cuda_runtime::CudaJpegEntropySyncState::NAME: &'static str -pub const j2k_cuda_runtime::CudaJpegHuffmanTable::NAME: &'static str -pub enum j2k_cuda_runtime::CudaJpegRgb8Sampling -pub fn j2k_cuda_runtime::CudaBufferPool::take_with_trace(&self, usize) -> core::result::Result<(j2k_cuda_runtime::CudaPooledDeviceBuffer, j2k_cuda_runtime::CudaBufferPoolTakeTrace), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaBufferPool::upload_i16(&self, &[i16]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaBufferPool::upload_i16_pinned(&self, &[i16]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::allocate_htj2k_codeblock_coefficients_with_pool(&self, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::copy_device_to_device_with_kernel(&self, &j2k_cuda_runtime::CudaDeviceBuffer) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::copy_with_cuda_oxide_kernel(&self, &[u8]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::copy_with_kernel(&self, &[u8]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::create_event(&self) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::create_stream(&self) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks(&self, &[u8], &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], j2k_cuda_runtime::CudaHtj2kDecodeTables<'_>, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_cleanup_dequantize_multi_with_resources_and_pool_timed(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCleanupTarget<'_>], &j2k_cuda_runtime::CudaBufferPool, bool) -> core::result::Result<(j2k_cuda_runtime::CudaExecutionStats, j2k_cuda_runtime::CudaHtj2kDecodeStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_cleanup_multi_enqueue_with_resources_and_pool(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCleanupTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_cleanup_multi_with_resources_and_pool(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCleanupTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_cleanup_multi_with_resources_and_pool_timed(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCleanupTarget<'_>], &j2k_cuda_runtime::CudaBufferPool, bool) -> core::result::Result<(j2k_cuda_runtime::CudaExecutionStats, j2k_cuda_runtime::CudaHtj2kDecodeStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_cleanup_with_resources_and_pool(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_cleanup_with_resources_untimed_and_pool(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_untimed(&self, &[u8], &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], j2k_cuda_runtime::CudaHtj2kDecodeTables<'_>, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_with_resources(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_with_resources_and_pool(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_with_resources_untimed(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_htj2k_codeblocks_with_resources_untimed_and_pool(&self, &j2k_cuda_runtime::CudaHtj2kDecodeResources, &[j2k_cuda_runtime::CudaHtj2kCodeBlockJob], usize, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_jpeg_420_rgb8_owned(&self, &j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_jpeg_420_rgb8_owned_into(&self, &j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan<'_>, &j2k_cuda_runtime::CudaDeviceBuffer, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_jpeg_rgb8_owned(&self, &j2k_cuda_runtime::CudaJpegRgb8DecodePlan<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::decode_jpeg_rgb8_owned_into(&self, &j2k_cuda_runtime::CudaJpegRgb8DecodePlan<'_>, &j2k_cuda_runtime::CudaDeviceBuffer, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::diagnose_jpeg_420_entropy_self_sync(&self, &j2k_cuda_runtime::CudaJpegChunkedEntropyPlan<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblock(&self, &[i32], u32, u32, u8, j2k_cuda_runtime::CudaHtj2kEncodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblock_regions_resident(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob], j2k_cuda_runtime::CudaHtj2kEncodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblock_regions_resident_with_resources(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob], &j2k_cuda_runtime::CudaHtj2kEncodeResources) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblock_regions_resident_with_resources_and_pool(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob], &j2k_cuda_runtime::CudaHtj2kEncodeResources, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblock_with_resources(&self, &[i32], u32, u32, u8, &j2k_cuda_runtime::CudaHtj2kEncodeResources) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks(&self, &[i32], &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob], j2k_cuda_runtime::CudaHtj2kEncodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks_multi_resident_compact_with_resources_and_pool(&self, &[j2k_cuda_runtime::CudaHtj2kEncodeResidentTarget<'_>], &j2k_cuda_runtime::CudaHtj2kEncodeResources, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks_multi_resident_with_resources_and_pool(&self, &[j2k_cuda_runtime::CudaHtj2kEncodeResidentTarget<'_>], &j2k_cuda_runtime::CudaHtj2kEncodeResources, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks_resident(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob], j2k_cuda_runtime::CudaHtj2kEncodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks_resident_with_resources(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob], &j2k_cuda_runtime::CudaHtj2kEncodeResources) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks_resident_with_resources_and_pool(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob], &j2k_cuda_runtime::CudaHtj2kEncodeResources, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::encode_htj2k_codeblocks_with_resources(&self, &[i32], &[j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob], &j2k_cuda_runtime::CudaHtj2kEncodeResources) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_deinterleave_strided_to_f32_resident(&self, j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_deinterleave_to_f32(&self, &[u8], usize, u8, u8, bool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_deinterleave_to_f32_resident(&self, &[u8], usize, u8, u8, bool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_dequantize_htj2k_codeblocks_multi_device(&self, &[j2k_cuda_runtime::CudaHtj2kDequantizeTarget<'_>]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_dequantize_htj2k_codeblocks_multi_device_untimed_with_pool(&self, &[j2k_cuda_runtime::CudaHtj2kDequantizeTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_dequantize_htj2k_codeblocks_multi_device_with_pool(&self, &[j2k_cuda_runtime::CudaHtj2kDequantizeTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_dequantize_queued_htj2k_cleanup_with_pool(&self, &j2k_cuda_runtime::CudaQueuedHtj2kCleanup) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_dwt53(&self, &[f32], u32, u32, u8) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_dwt53_resident_component(&self, &j2k_cuda_runtime::CudaJ2kResidentComponents, u8, u32, u32, u8) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_dwt97(&self, &[f32], u32, u32, u8) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_dwt97_resident_component(&self, &j2k_cuda_runtime::CudaJ2kResidentComponents, u8, u32, u32, u8) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_ict(&self, &mut [f32], &mut [f32], &mut [f32]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_ict_resident(&self, &mut j2k_cuda_runtime::CudaJ2kResidentComponents) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_rct(&self, &mut [f32], &mut [f32], &mut [f32]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_forward_rct_resident(&self, &mut j2k_cuda_runtime::CudaJ2kResidentComponents) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_batch_device_enqueue_with_pool(&self, &[j2k_cuda_runtime::CudaJ2kIdwtTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_batch_device_untimed_with_pool(&self, &[j2k_cuda_runtime::CudaJ2kIdwtTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_batch_device_with_pool(&self, &[j2k_cuda_runtime::CudaJ2kIdwtTarget<'_>], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_batch_sequence_enqueue_with_pool(&self, &[&[j2k_cuda_runtime::CudaJ2kIdwtTarget<'_>]], &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_single_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kIdwtJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_single_device_untimed(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kIdwtJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_single_device_untimed_with_pool(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kIdwtJob, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_dwt_single_device_with_pool(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kIdwtJob, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_inverse_mct_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kInverseMctJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_quantize_subband(&self, &[f32], j2k_cuda_runtime::CudaJ2kQuantizeJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_quantize_subband_region_resident(&self, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_quantize_subband_resident(&self, &j2k_cuda_runtime::CudaDeviceBuffer, usize, j2k_cuda_runtime::CudaJ2kQuantizeJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_gray16_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kStoreGray16Job) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_gray8_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kStoreGray8Job) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_rgb16_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kStoreRgb16Job) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_rgb16_mct_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kStoreRgb16MctJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_rgb8_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kStoreRgb8Job) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_rgb8_mct_batch_contiguous_device(&self, &[j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget<'_>]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_rgb8_mct_batch_device(&self, &[j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget<'_>]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_store_rgb8_mct_device(&self, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, &j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaJ2kStoreRgb8MctJob) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_dwt97(&self, &[f32], usize, usize, usize, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_dwt97_batch(&self, &[f32], usize, usize, usize, usize, usize) -> core::result::Result<(alloc::vec::Vec, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_dwt97_batch_with_pool(&self, &[f32], usize, usize, usize, usize, usize, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result<(alloc::vec::Vec, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_htj2k97_codeblock_batch(&self, &[f32], usize, usize, usize, usize, usize, j2k_cuda_runtime::CudaHtj2k97QuantizeParams) -> core::result::Result<(j2k_cuda_runtime::CudaHtj2k97CodeblockBands, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_htj2k97_codeblock_batch_resident(&self, &[f32], usize, usize, usize, usize, usize, j2k_cuda_runtime::CudaHtj2k97QuantizeParams) -> core::result::Result<(j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_htj2k97_codeblock_batch_resident_with_pool(&self, &[f32], usize, usize, usize, usize, usize, j2k_cuda_runtime::CudaHtj2k97QuantizeParams, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result<(j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_htj2k97_codeblock_batch_with_pool(&self, &[f32], usize, usize, usize, usize, usize, j2k_cuda_runtime::CudaHtj2k97QuantizeParams, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result<(j2k_cuda_runtime::CudaHtj2k97CodeblockBands, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_htj2k97_codeblock_i16_batch_resident_with_pool(&self, &[i16], usize, usize, usize, usize, usize, j2k_cuda_runtime::CudaHtj2k97QuantizeParams, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result<(j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands, j2k_cuda_runtime::CudaDwt97BatchStageTimings), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::j2k_transcode_reversible_dwt53(&self, &[i16], usize, usize, usize, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::packetize_htj2k_cleanup_packets(&self, &[u8], &[j2k_cuda_runtime::CudaHtj2kPacketizationPacket], &[j2k_cuda_runtime::CudaHtj2kPacketizationSubband], &[j2k_cuda_runtime::CudaHtj2kPacketizationBlock]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::packetize_htj2k_cleanup_packets_with_tag_state(&self, &[u8], &[j2k_cuda_runtime::CudaHtj2kPacketizationPacket], &[j2k_cuda_runtime::CudaHtj2kPacketizationSubband], &[j2k_cuda_runtime::CudaHtj2kPacketizationBlock], &[j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState], &[j2k_cuda_runtime::CudaHtj2kPacketizationTagNodeState]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::pinned_host_buffer(&self, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::preload_kernel_module(&self, j2k_cuda_runtime::CudaKernelName) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::time_default_stream_named_us(&self, &str, impl core::ops::function::FnOnce() -> core::result::Result) -> core::result::Result<(T, u128), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::time_default_stream_named_us_if(&self, bool, &str, impl core::ops::function::FnOnce() -> core::result::Result) -> core::result::Result<(T, u128), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::time_default_stream_us(&self, impl core::ops::function::FnOnce() -> core::result::Result) -> core::result::Result<(T, u128), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaContext::upload_htj2k_decode_resources(&self, &[u8], j2k_cuda_runtime::CudaHtj2kDecodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::upload_htj2k_decode_resources_with_tables(&self, &[u8], &j2k_cuda_runtime::CudaHtj2kDecodeTableResources) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::upload_htj2k_decode_resources_with_tables_and_pool(&self, &[u8], &j2k_cuda_runtime::CudaHtj2kDecodeTableResources, &j2k_cuda_runtime::CudaBufferPool) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::upload_htj2k_decode_table_resources(&self, j2k_cuda_runtime::CudaHtj2kDecodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::upload_htj2k_encode_resources(&self, j2k_cuda_runtime::CudaHtj2kEncodeTables<'_>) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::upload_i32_pinned(&self, &[i32]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaContext::with_nvtx_range(&self, &str, impl core::ops::function::FnOnce() -> core::result::Result) -> core::result::Result -pub fn j2k_cuda_runtime::CudaDeviceBuffer::typed_view(&self) -> core::result::Result, j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaDeviceBuffer::typed_view_mut(&mut self) -> core::result::Result, j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaDeviceBufferView<'_, T>::device_ptr(&self) -> u64 -pub fn j2k_cuda_runtime::CudaDeviceBufferView<'_, T>::is_empty(&self) -> bool -pub fn j2k_cuda_runtime::CudaDeviceBufferView<'_, T>::len(&self) -> usize -pub fn j2k_cuda_runtime::CudaDeviceBufferViewMut<'_, T>::device_ptr(&self) -> u64 -pub fn j2k_cuda_runtime::CudaDeviceBufferViewMut<'_, T>::is_empty(&self) -> bool -pub fn j2k_cuda_runtime::CudaDeviceBufferViewMut<'_, T>::len(&self) -> usize -pub fn j2k_cuda_runtime::CudaDwt53Output::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaDwt53Output::levels(&self) -> &[j2k_cuda_runtime::CudaDwt53LevelShape] -pub fn j2k_cuda_runtime::CudaDwt53Output::ll_dimensions(&self) -> (u32, u32) -pub fn j2k_cuda_runtime::CudaDwt53Output::transformed(&self) -> &[f32] -pub fn j2k_cuda_runtime::CudaDwt97Output::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaDwt97Output::levels(&self) -> &[j2k_cuda_runtime::CudaDwt53LevelShape] -pub fn j2k_cuda_runtime::CudaDwt97Output::ll_dimensions(&self) -> (u32, u32) -pub fn j2k_cuda_runtime::CudaDwt97Output::transformed(&self) -> &[f32] -pub fn j2k_cuda_runtime::CudaEvent::drop(&mut self) -pub fn j2k_cuda_runtime::CudaEvent::elapsed_time_us(&Self, &Self) -> core::result::Result -pub fn j2k_cuda_runtime::CudaEvent::record(&self, &j2k_cuda_runtime::CudaStream) -> core::result::Result<(), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaEvent::synchronize(&self) -> core::result::Result<(), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::cleanup_length(&self) -> u32 -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::into_parts(self) -> (core::ops::range::Range, u32, u32, u8, u8) -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::num_coding_passes(&self) -> u8 -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::num_zero_bitplanes(&self) -> u8 -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::payload_range(&self) -> core::ops::range::Range -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::refinement_length(&self) -> u32 -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kEncodeStageTimings -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock::status(&self) -> j2k_cuda_runtime::CudaHtj2kEncodeStatus -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks::code_blocks(&self) -> &[j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock] -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks::into_payload_and_code_blocks(self) -> (alloc::vec::Vec, alloc::vec::Vec) -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks::payload(&self) -> &[u8] -pub fn j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kEncodeStageTimings -pub fn j2k_cuda_runtime::CudaHtj2kDecodeOutput::coefficients(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaHtj2kDecodeOutput::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaHtj2kDecodeOutput::into_parts(self) -> (j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaExecutionStats, alloc::vec::Vec) -pub fn j2k_cuda_runtime::CudaHtj2kDecodeOutput::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kDecodeStageTimings -pub fn j2k_cuda_runtime::CudaHtj2kDecodeOutput::statuses(&self) -> &[j2k_cuda_runtime::CudaHtj2kStatus] -pub fn j2k_cuda_runtime::CudaHtj2kEncodeStatus::is_ok(self) -> bool -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::cleanup_length(&self) -> u32 -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::data(&self) -> &[u8] -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::into_parts(self) -> (alloc::vec::Vec, u32, u32, u8, u8) -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::num_coding_passes(&self) -> u8 -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::num_zero_bitplanes(&self) -> u8 -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::refinement_length(&self) -> u32 -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kEncodeStageTimings -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock::status(&self) -> j2k_cuda_runtime::CudaHtj2kEncodeStatus -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlocks::code_blocks(&self) -> &[j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock] -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlocks::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlocks::into_code_blocks(self) -> alloc::vec::Vec -pub fn j2k_cuda_runtime::CudaHtj2kEncodedCodeBlocks::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kEncodeStageTimings -pub fn j2k_cuda_runtime::CudaHtj2kPacketizationStatus::is_ok(self) -> bool -pub fn j2k_cuda_runtime::CudaHtj2kPacketizedTile::data(&self) -> &[u8] -pub fn j2k_cuda_runtime::CudaHtj2kPacketizedTile::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaHtj2kPacketizedTile::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kPacketizationStageTimings -pub fn j2k_cuda_runtime::CudaHtj2kPacketizedTile::statuses(&self) -> &[j2k_cuda_runtime::CudaHtj2kPacketizationStatus] -pub fn j2k_cuda_runtime::CudaHtj2kStatus::is_ok(self) -> bool -pub fn j2k_cuda_runtime::CudaJ2kDeinterleavedComponents::components(&self) -> &[alloc::vec::Vec] -pub fn j2k_cuda_runtime::CudaJ2kDeinterleavedComponents::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaJ2kDeinterleavedComponents::into_components(self) -> alloc::vec::Vec> -pub fn j2k_cuda_runtime::CudaJ2kQuantizedSubband::coefficients(&self) -> &[i32] -pub fn j2k_cuda_runtime::CudaJ2kQuantizedSubband::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaJ2kResidentComponents::buffer(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaJ2kResidentComponents::download_components(&self) -> core::result::Result>, j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaJ2kResidentComponents::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaJ2kResidentComponents::num_components(&self) -> u8 -pub fn j2k_cuda_runtime::CudaJ2kResidentComponents::num_pixels(&self) -> usize -pub fn j2k_cuda_runtime::CudaJ2kResidentQuantizedSubband::buffer(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaJ2kResidentQuantizedSubband::coefficient_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaJ2kResidentQuantizedSubband::download_coefficients(&self) -> core::result::Result, j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaJ2kResidentQuantizedSubband::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::default() -> Self -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::subsequence_bits(self) -> u32 -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::subsequence_count_for_entropy_bytes(self, usize) -> core::result::Result -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::validate(self) -> core::result::Result<(), j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyReport::failed_state_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyReport::max_overflow_bits(&self) -> core::option::Option -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyReport::subsequence_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaJpegChunkedEntropyReport::synchronized_overflow_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaJpegHuffmanTable::from_jpeg_bits_values([u8; 16], u16, [u8; 256]) -> core::result::Result -pub fn j2k_cuda_runtime::CudaKernelBatchOutput::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaKernelBatchOutput::into_parts(self) -> (alloc::vec::Vec, j2k_cuda_runtime::CudaExecutionStats) -pub fn j2k_cuda_runtime::CudaKernelBatchOutput::outputs(&self) -> &[j2k_cuda_runtime::CudaDeviceBuffer] -pub fn j2k_cuda_runtime::CudaKernelContiguousBatchOutput::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaKernelContiguousBatchOutput::into_parts(self) -> (j2k_cuda_runtime::CudaDeviceBuffer, alloc::vec::Vec, j2k_cuda_runtime::CudaExecutionStats) -pub fn j2k_cuda_runtime::CudaKernelContiguousBatchOutput::output(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaKernelContiguousBatchOutput::ranges(&self) -> &[j2k_cuda_runtime::CudaDeviceBufferRange] -pub fn j2k_cuda_runtime::CudaKernelModule::entrypoint(&self) -> &'static str -pub fn j2k_cuda_runtime::CudaKernelModule::kernel(&self) -> j2k_cuda_runtime::CudaKernelName -pub fn j2k_cuda_runtime::CudaKernelOutput::buffer(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaKernelOutput::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaKernelOutput::into_parts(self) -> (j2k_cuda_runtime::CudaDeviceBuffer, j2k_cuda_runtime::CudaExecutionStats) -pub fn j2k_cuda_runtime::CudaPinnedHostBuffer::as_mut_slice(&mut self) -> &mut [u8] -pub fn j2k_cuda_runtime::CudaPinnedHostBuffer::as_slice(&self) -> &[u8] -pub fn j2k_cuda_runtime::CudaPinnedHostBuffer::drop(&mut self) -pub fn j2k_cuda_runtime::CudaPinnedHostBuffer::is_empty(&self) -> bool -pub fn j2k_cuda_runtime::CudaPinnedHostBuffer::len(&self) -> usize -pub fn j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput::coefficients(&self) -> core::option::Option<&j2k_cuda_runtime::CudaDeviceBuffer> -pub fn j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput::into_parts(self) -> (j2k_cuda_runtime::CudaPooledDeviceBuffer, j2k_cuda_runtime::CudaExecutionStats, alloc::vec::Vec) -pub fn j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput::stage_timings(&self) -> j2k_cuda_runtime::CudaHtj2kDecodeStageTimings -pub fn j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput::statuses(&self) -> &[j2k_cuda_runtime::CudaHtj2kStatus] -pub fn j2k_cuda_runtime::CudaPooledKernelOutput::buffer(&self) -> core::option::Option<&j2k_cuda_runtime::CudaDeviceBuffer> -pub fn j2k_cuda_runtime::CudaPooledKernelOutput::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaPooledKernelOutput::into_parts(self) -> (j2k_cuda_runtime::CudaPooledDeviceBuffer, j2k_cuda_runtime::CudaExecutionStats) -pub fn j2k_cuda_runtime::CudaQueuedExecution::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaQueuedExecution::resource_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaQueuedHtj2kCleanup::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaQueuedHtj2kCleanup::finish(self) -> core::result::Result -pub fn j2k_cuda_runtime::CudaQueuedHtj2kCleanup::resource_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaResidentDwt53Output::buffer(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaResidentDwt53Output::download_transformed(&self) -> core::result::Result, j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaResidentDwt53Output::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaResidentDwt53Output::levels(&self) -> &[j2k_cuda_runtime::CudaDwt53LevelShape] -pub fn j2k_cuda_runtime::CudaResidentDwt53Output::ll_dimensions(&self) -> (u32, u32) -pub fn j2k_cuda_runtime::CudaResidentDwt53Output::sample_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaResidentDwt97Output::buffer(&self) -> &j2k_cuda_runtime::CudaDeviceBuffer -pub fn j2k_cuda_runtime::CudaResidentDwt97Output::download_transformed(&self) -> core::result::Result, j2k_cuda_runtime::CudaError> -pub fn j2k_cuda_runtime::CudaResidentDwt97Output::execution(&self) -> j2k_cuda_runtime::CudaExecutionStats -pub fn j2k_cuda_runtime::CudaResidentDwt97Output::levels(&self) -> &[j2k_cuda_runtime::CudaDwt53LevelShape] -pub fn j2k_cuda_runtime::CudaResidentDwt97Output::ll_dimensions(&self) -> (u32, u32) -pub fn j2k_cuda_runtime::CudaResidentDwt97Output::sample_count(&self) -> usize -pub fn j2k_cuda_runtime::CudaStream::drop(&mut self) -pub fn j2k_cuda_runtime::CudaStream::synchronize(&self) -> core::result::Result<(), j2k_cuda_runtime::CudaError> -pub j2k_cuda_runtime::CudaBufferPoolTakeTrace::allocation_byte_len: usize -pub j2k_cuda_runtime::CudaBufferPoolTakeTrace::free_count_before: usize -pub j2k_cuda_runtime::CudaBufferPoolTakeTrace::requested_len: usize -pub j2k_cuda_runtime::CudaBufferPoolTakeTrace::reused: bool -pub j2k_cuda_runtime::CudaBufferPoolTakeTrace::scanned_count: usize -pub j2k_cuda_runtime::CudaDeviceBufferRange::len: usize -pub j2k_cuda_runtime::CudaDeviceBufferRange::offset: usize -pub j2k_cuda_runtime::CudaDwt53LevelShape::height: u32 -pub j2k_cuda_runtime::CudaDwt53LevelShape::high_height: u32 -pub j2k_cuda_runtime::CudaDwt53LevelShape::high_width: u32 -pub j2k_cuda_runtime::CudaDwt53LevelShape::low_height: u32 -pub j2k_cuda_runtime::CudaDwt53LevelShape::low_width: u32 -pub j2k_cuda_runtime::CudaDwt53LevelShape::width: u32 -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::column_lift_us: u128 -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::ht_codeblock_dispatches: usize -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::ht_encode_us: u128 -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::idct_row_lift_us: u128 -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::pack_upload_us: u128 -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::quantize_codeblock_us: u128 -pub j2k_cuda_runtime::CudaDwt97BatchStageTimings::readback_us: u128 -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::hh: alloc::vec::Vec -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::high_height: usize -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::high_width: usize -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::hl: alloc::vec::Vec -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::item_count: usize -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::lh: alloc::vec::Vec -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::ll: alloc::vec::Vec -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::low_height: usize -pub j2k_cuda_runtime::CudaHtj2k97CodeblockBands::low_width: usize -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::hh: j2k_cuda_runtime::CudaPooledDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::high_height: usize -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::high_width: usize -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::hl: j2k_cuda_runtime::CudaPooledDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::item_count: usize -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::lh: j2k_cuda_runtime::CudaPooledDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::ll: j2k_cuda_runtime::CudaPooledDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::low_height: usize -pub j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands::low_width: usize -pub j2k_cuda_runtime::CudaHtj2k97QuantizeParams::cb_height: usize -pub j2k_cuda_runtime::CudaHtj2k97QuantizeParams::cb_width: usize -pub j2k_cuda_runtime::CudaHtj2k97QuantizeParams::inv_delta_hh: f32 -pub j2k_cuda_runtime::CudaHtj2k97QuantizeParams::inv_delta_hl: f32 -pub j2k_cuda_runtime::CudaHtj2k97QuantizeParams::inv_delta_lh: f32 -pub j2k_cuda_runtime::CudaHtj2k97QuantizeParams::inv_delta_ll: f32 -pub j2k_cuda_runtime::CudaHtj2kCleanupTarget::coefficients: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2kCleanupTarget::jobs: &'a [j2k_cuda_runtime::CudaHtj2kCodeBlockJob] -pub j2k_cuda_runtime::CudaHtj2kCleanupTarget::output_words: usize -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::cleanup_length: u32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::dequantization_step: f32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::height: u32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::missing_bit_planes: u8 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::num_bitplanes: u8 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::number_of_coding_passes: u8 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::output_offset: u32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::output_stride: u32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::payload_len: u32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::payload_offset: u64 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::refinement_length: u32 -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::stripe_causal: bool -pub j2k_cuda_runtime::CudaHtj2kCodeBlockJob::width: u32 -pub j2k_cuda_runtime::CudaHtj2kDecodeStageTimings::dequant_us: u128 -pub j2k_cuda_runtime::CudaHtj2kDecodeStageTimings::ht_cleanup_us: u128 -pub j2k_cuda_runtime::CudaHtj2kDecodeStageTimings::ht_refine_us: u128 -pub j2k_cuda_runtime::CudaHtj2kDecodeStageTimings::status_d2h_us: u128 -pub j2k_cuda_runtime::CudaHtj2kDecodeTables::uvlc_table0: &'a [u16; 320] -pub j2k_cuda_runtime::CudaHtj2kDecodeTables::uvlc_table1: &'a [u16; 256] -pub j2k_cuda_runtime::CudaHtj2kDecodeTables::vlc_table0: &'a [u16; 1024] -pub j2k_cuda_runtime::CudaHtj2kDecodeTables::vlc_table1: &'a [u16; 1024] -pub j2k_cuda_runtime::CudaHtj2kDequantizeTarget::coefficients: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2kDequantizeTarget::jobs: &'a [j2k_cuda_runtime::CudaHtj2kCodeBlockJob] -pub j2k_cuda_runtime::CudaHtj2kDequantizeTarget::output_words: usize -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob::coefficient_offset: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob::height: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob::target_coding_passes: u8 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob::total_bitplanes: u8 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob::width: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob::coefficient_offset: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob::coefficient_stride: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob::height: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob::target_coding_passes: u8 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob::total_bitplanes: u8 -pub j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob::width: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeResidentTarget::coefficient_count: usize -pub j2k_cuda_runtime::CudaHtj2kEncodeResidentTarget::coefficients: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaHtj2kEncodeResidentTarget::jobs: &'a [j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob] -pub j2k_cuda_runtime::CudaHtj2kEncodeStageTimings::ht_compact_us: u128 -pub j2k_cuda_runtime::CudaHtj2kEncodeStageTimings::ht_encode_us: u128 -pub j2k_cuda_runtime::CudaHtj2kEncodeStageTimings::ht_kernel_us: u128 -pub j2k_cuda_runtime::CudaHtj2kEncodeStageTimings::ht_output_readback_us: u128 -pub j2k_cuda_runtime::CudaHtj2kEncodeStageTimings::ht_status_readback_us: u128 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::code: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::data_len: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::detail: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::missing_bit_planes: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::number_of_coding_passes: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::reserved0: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::reserved1: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeStatus::reserved2: u32 -pub j2k_cuda_runtime::CudaHtj2kEncodeTables::uvlc_table: &'a [u8] -pub j2k_cuda_runtime::CudaHtj2kEncodeTables::vlc_table0: &'a [u16; 2048] -pub j2k_cuda_runtime::CudaHtj2kEncodeTables::vlc_table1: &'a [u16; 2048] -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::cleanup_length: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::data_len: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::data_offset: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::inclusion_layer: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::l_block: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::num_coding_passes: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::num_zero_bitplanes: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::previously_included: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationBlock::refinement_length: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationPacket::block_count: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationPacket::block_start: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationPacket::layer: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationPacket::output_capacity: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationPacket::subband_count: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationPacket::subband_start: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationStageTimings::packetize_us: u128 -pub j2k_cuda_runtime::CudaHtj2kPacketizationStatus::code: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationStatus::detail: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationStatus::output_len: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationStatus::reserved0: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubband::block_count: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubband::block_start: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubband::num_cbs_x: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubband::num_cbs_y: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState::inclusion_node_start: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState::node_count: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState::reserved0: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationSubbandTagState::zero_bitplane_node_start: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationTagNodeState::current: u32 -pub j2k_cuda_runtime::CudaHtj2kPacketizationTagNodeState::known: u32 -pub j2k_cuda_runtime::CudaHtj2kStatus::code: u32 -pub j2k_cuda_runtime::CudaHtj2kStatus::detail: u32 -pub j2k_cuda_runtime::CudaHtj2kStatus::reserved0: u32 -pub j2k_cuda_runtime::CudaHtj2kStatus::reserved1: u32 -pub j2k_cuda_runtime::CudaJ2kIdwtJob::hh_rect: j2k_cuda_runtime::CudaJ2kRect -pub j2k_cuda_runtime::CudaJ2kIdwtJob::hl_rect: j2k_cuda_runtime::CudaJ2kRect -pub j2k_cuda_runtime::CudaJ2kIdwtJob::irreversible97: u32 -pub j2k_cuda_runtime::CudaJ2kIdwtJob::lh_rect: j2k_cuda_runtime::CudaJ2kRect -pub j2k_cuda_runtime::CudaJ2kIdwtJob::ll_rect: j2k_cuda_runtime::CudaJ2kRect -pub j2k_cuda_runtime::CudaJ2kIdwtJob::rect: j2k_cuda_runtime::CudaJ2kRect -pub j2k_cuda_runtime::CudaJ2kIdwtTarget::hh: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kIdwtTarget::hl: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kIdwtTarget::job: j2k_cuda_runtime::CudaJ2kIdwtJob -pub j2k_cuda_runtime::CudaJ2kIdwtTarget::lh: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kIdwtTarget::ll: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kIdwtTarget::output: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kInverseMctJob::addend0: f32 -pub j2k_cuda_runtime::CudaJ2kInverseMctJob::addend1: f32 -pub j2k_cuda_runtime::CudaJ2kInverseMctJob::addend2: f32 -pub j2k_cuda_runtime::CudaJ2kInverseMctJob::irreversible97: u32 -pub j2k_cuda_runtime::CudaJ2kInverseMctJob::len: u32 -pub j2k_cuda_runtime::CudaJ2kQuantizeJob::range_bits: u8 -pub j2k_cuda_runtime::CudaJ2kQuantizeJob::reversible: bool -pub j2k_cuda_runtime::CudaJ2kQuantizeJob::step_exponent: u16 -pub j2k_cuda_runtime::CudaJ2kQuantizeJob::step_mantissa: u16 -pub j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob::height: u32 -pub j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob::quantization: j2k_cuda_runtime::CudaJ2kQuantizeJob -pub j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob::stride: u32 -pub j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob::width: u32 -pub j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob::x0: u32 -pub j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob::y0: u32 -pub j2k_cuda_runtime::CudaJ2kRect::x0: u32 -pub j2k_cuda_runtime::CudaJ2kRect::x1: u32 -pub j2k_cuda_runtime::CudaJ2kRect::y0: u32 -pub j2k_cuda_runtime::CudaJ2kRect::y1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::addend: f32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::bit_depth: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::copy_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::copy_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::input_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::output_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::output_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::output_x: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::output_y: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::source_x: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray16Job::source_y: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::addend: f32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::bit_depth: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::copy_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::copy_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::input_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::output_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::output_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::output_x: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::output_y: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::source_x: u32 -pub j2k_cuda_runtime::CudaJ2kStoreGray8Job::source_y: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::addend0: f32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::addend1: f32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::addend2: f32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::bit_depth0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::bit_depth1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::bit_depth2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::copy_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::copy_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::input_width0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::input_width1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::input_width2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::output_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::output_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::output_x: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::output_y: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::rgba: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::source_x0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::source_x1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::source_x2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::source_y0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::source_y1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16Job::source_y2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16MctJob::irreversible97: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb16MctJob::store: j2k_cuda_runtime::CudaJ2kStoreRgb16Job -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::addend0: f32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::addend1: f32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::addend2: f32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::bit_depth0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::bit_depth1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::bit_depth2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::copy_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::copy_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::input_width0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::input_width1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::input_width2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::output_height: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::output_width: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::output_x: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::output_y: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::rgba: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::source_x0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::source_x1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::source_x2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::source_y0: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::source_y1: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8Job::source_y2: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8MctJob::irreversible97: u32 -pub j2k_cuda_runtime::CudaJ2kStoreRgb8MctJob::store: j2k_cuda_runtime::CudaJ2kStoreRgb8Job -pub j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget::job: j2k_cuda_runtime::CudaJ2kStoreRgb8MctJob -pub j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget::plane0: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget::plane1: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget::plane2: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::bit_depth: u8 -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::buffer: &'a j2k_cuda_runtime::CudaDeviceBuffer -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::byte_offset: usize -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::height: u32 -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::num_components: u8 -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::pitch_bytes: usize -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::signed: bool -pub j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels::width: u32 -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::cb_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::cb_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::cb_quant: [u16; 64] -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::cr_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::cr_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::cr_quant: [u16; 64] -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::dimensions: (u32, u32) -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::entropy_bytes: &'a [u8] -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::entropy_checkpoints: &'a [j2k_cuda_runtime::CudaJpegEntropyCheckpoint] -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::mcu_rows: u32 -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::mcus_per_row: u32 -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::y_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::y_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan::y_quant: [u16; 64] -pub j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::max_overflow_subsequences: u32 -pub j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::sequence_len: u32 -pub j2k_cuda_runtime::CudaJpegChunkedEntropyConfig::subsequence_words: u32 -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::cb_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::cb_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::config: j2k_cuda_runtime::CudaJpegChunkedEntropyConfig -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::cr_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::cr_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::entropy_bytes: &'a [u8] -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::y_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegChunkedEntropyPlan::y_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegChunkedEntropyReport::config: j2k_cuda_runtime::CudaJpegChunkedEntropyConfig -pub j2k_cuda_runtime::CudaJpegChunkedEntropyReport::entropy_bytes: usize -pub j2k_cuda_runtime::CudaJpegChunkedEntropyReport::execution: j2k_cuda_runtime::CudaExecutionStats -pub j2k_cuda_runtime::CudaJpegChunkedEntropyReport::overflows: alloc::vec::Vec -pub j2k_cuda_runtime::CudaJpegChunkedEntropyReport::states: alloc::vec::Vec -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::bit_acc: u64 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::bit_count: u32 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::cb_prev_dc: i32 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::cr_prev_dc: i32 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::entropy_pos: u32 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::mcu_index: u32 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::reserved: u32 -pub j2k_cuda_runtime::CudaJpegEntropyCheckpoint::y_prev_dc: i32 -pub j2k_cuda_runtime::CudaJpegEntropyOverflowState::code: u32 -pub j2k_cuda_runtime::CudaJpegEntropyOverflowState::from_subsequence: u32 -pub j2k_cuda_runtime::CudaJpegEntropyOverflowState::overflow_bits: u32 -pub j2k_cuda_runtime::CudaJpegEntropyOverflowState::reserved: [u32; 3] -pub j2k_cuda_runtime::CudaJpegEntropyOverflowState::synchronized: u32 -pub j2k_cuda_runtime::CudaJpegEntropyOverflowState::to_subsequence: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::bit_pos: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::block_phase: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::code: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::end_bit: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::reserved: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::start_bit: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::symbol_count: u32 -pub j2k_cuda_runtime::CudaJpegEntropySyncState::zigzag_index: u32 -pub j2k_cuda_runtime::CudaJpegHuffmanTable::max_code: [i32; 17] -pub j2k_cuda_runtime::CudaJpegHuffmanTable::val_offset: [i32; 17] -pub j2k_cuda_runtime::CudaJpegHuffmanTable::values: [u8; 256] -pub j2k_cuda_runtime::CudaJpegHuffmanTable::values_len: u32 -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::cb_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::cb_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::cb_quant: [u16; 64] -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::cr_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::cr_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::cr_quant: [u16; 64] -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::dimensions: (u32, u32) -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::entropy_bytes: &'a [u8] -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::entropy_checkpoints: &'a [j2k_cuda_runtime::CudaJpegEntropyCheckpoint] -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::mcu_rows: u32 -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::mcus_per_row: u32 -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::sampling: j2k_cuda_runtime::CudaJpegRgb8Sampling -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::y_ac_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::y_dc_table: j2k_cuda_runtime::CudaJpegHuffmanTable -pub j2k_cuda_runtime::CudaJpegRgb8DecodePlan::y_quant: [u16; 64] -pub j2k_cuda_runtime::CudaJpegRgb8Sampling::Fast420 -pub j2k_cuda_runtime::CudaJpegRgb8Sampling::Fast422 -pub j2k_cuda_runtime::CudaJpegRgb8Sampling::Fast444 -pub j2k_cuda_runtime::CudaKernelName::CopyU8 -pub j2k_cuda_runtime::CudaKernelName::Htj2kCompactCodeblocks -pub j2k_cuda_runtime::CudaKernelName::Htj2kDecodeCodeblocks -pub j2k_cuda_runtime::CudaKernelName::Htj2kDecodeCodeblocksMultiCleanupDequantize -pub j2k_cuda_runtime::CudaKernelName::Htj2kEncodeCodeblock -pub j2k_cuda_runtime::CudaKernelName::Htj2kEncodeCodeblocks -pub j2k_cuda_runtime::CudaKernelName::Htj2kEncodeCodeblocksMultiInput -pub j2k_cuda_runtime::CudaKernelName::Htj2kEncodeCodeblocksMultiInputCleanup -pub j2k_cuda_runtime::CudaKernelName::Htj2kEncodeCodeblocksMultiInputCleanup64 -pub j2k_cuda_runtime::CudaKernelName::Htj2kPacketizeCleanup -pub j2k_cuda_runtime::CudaKernelName::J2kDeinterleaveToF32 -pub j2k_cuda_runtime::CudaKernelName::J2kDequantizeHtj2kCleanupJobsMulti -pub j2k_cuda_runtime::CudaKernelName::J2kDequantizeHtj2kCodeblocks -pub j2k_cuda_runtime::CudaKernelName::J2kDequantizeHtj2kCodeblocksMulti -pub j2k_cuda_runtime::CudaKernelName::J2kForwardDwt53Horizontal -pub j2k_cuda_runtime::CudaKernelName::J2kForwardDwt53Vertical -pub j2k_cuda_runtime::CudaKernelName::J2kForwardDwt97Horizontal -pub j2k_cuda_runtime::CudaKernelName::J2kForwardDwt97Vertical -pub j2k_cuda_runtime::CudaKernelName::J2kForwardIct -pub j2k_cuda_runtime::CudaKernelName::J2kForwardRct -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtHorizontal -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtHorizontal53 -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtHorizontal97 -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtInterleave -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtInterleaveHorizontal53Multi -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtInterleaveHorizontal97Multi -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtVertical -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtVertical53 -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtVertical53Multi -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtVertical97 -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtVertical97Multi -pub j2k_cuda_runtime::CudaKernelName::J2kIdwtVertical97MultiCols4 -pub j2k_cuda_runtime::CudaKernelName::J2kInverseDwtSingle -pub j2k_cuda_runtime::CudaKernelName::J2kInverseMct -pub j2k_cuda_runtime::CudaKernelName::J2kQuantizeSubband -pub j2k_cuda_runtime::CudaKernelName::J2kQuantizeSubbandStrided -pub j2k_cuda_runtime::CudaKernelName::J2kStoreGray16 -pub j2k_cuda_runtime::CudaKernelName::J2kStoreGray8 -pub j2k_cuda_runtime::CudaKernelName::J2kStoreRgb16 -pub j2k_cuda_runtime::CudaKernelName::J2kStoreRgb16Mct -pub j2k_cuda_runtime::CudaKernelName::J2kStoreRgb8 -pub j2k_cuda_runtime::CudaKernelName::J2kStoreRgb8Mct -pub j2k_cuda_runtime::CudaKernelName::J2kStoreRgb8MctBatch -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::hh: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::high_height: usize -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::high_width: usize -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::hl: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::lh: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::ll: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::low_height: usize -pub j2k_cuda_runtime::CudaTranscodeDwt97Bands::low_width: usize -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::hh: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::high_height: usize -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::high_width: usize -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::hl: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::lh: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::ll: alloc::vec::Vec -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::low_height: usize -pub j2k_cuda_runtime::CudaTranscodeReversible53Bands::low_width: usize -pub struct j2k_cuda_runtime::CudaBufferPoolTakeTrace -pub struct j2k_cuda_runtime::CudaDeviceBufferRange -pub struct j2k_cuda_runtime::CudaDeviceBufferView<'a, T> -pub struct j2k_cuda_runtime::CudaDeviceBufferViewMut<'a, T> -pub struct j2k_cuda_runtime::CudaDwt53LevelShape -pub struct j2k_cuda_runtime::CudaDwt53Output -pub struct j2k_cuda_runtime::CudaDwt97BatchStageTimings -pub struct j2k_cuda_runtime::CudaDwt97Output -pub struct j2k_cuda_runtime::CudaEvent -pub struct j2k_cuda_runtime::CudaHtj2k97CodeblockBands -pub struct j2k_cuda_runtime::CudaHtj2k97DeviceCodeblockBands -pub struct j2k_cuda_runtime::CudaHtj2k97QuantizeParams -pub struct j2k_cuda_runtime::CudaHtj2kCleanupTarget<'a> -pub struct j2k_cuda_runtime::CudaHtj2kCodeBlockJob -pub struct j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlock -pub struct j2k_cuda_runtime::CudaHtj2kCompactEncodedCodeBlocks -pub struct j2k_cuda_runtime::CudaHtj2kDecodeOutput -pub struct j2k_cuda_runtime::CudaHtj2kDecodeResources -pub struct j2k_cuda_runtime::CudaHtj2kDecodeStageTimings -pub struct j2k_cuda_runtime::CudaHtj2kDecodeTableResources -pub struct j2k_cuda_runtime::CudaHtj2kDecodeTables<'a> -pub struct j2k_cuda_runtime::CudaHtj2kDequantizeTarget<'a> -pub struct j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockJob -pub struct j2k_cuda_runtime::CudaHtj2kEncodeCodeBlockRegionJob -pub struct j2k_cuda_runtime::CudaHtj2kEncodeResidentTarget<'a> -pub struct j2k_cuda_runtime::CudaHtj2kEncodeResources -pub struct j2k_cuda_runtime::CudaHtj2kEncodeStageTimings -pub struct j2k_cuda_runtime::CudaHtj2kEncodeTables<'a> -pub struct j2k_cuda_runtime::CudaHtj2kEncodedCodeBlock -pub struct j2k_cuda_runtime::CudaHtj2kEncodedCodeBlocks -pub struct j2k_cuda_runtime::CudaHtj2kPacketizationPacket -pub struct j2k_cuda_runtime::CudaHtj2kPacketizationStageTimings -pub struct j2k_cuda_runtime::CudaHtj2kPacketizedTile -pub struct j2k_cuda_runtime::CudaJ2kDeinterleavedComponents -pub struct j2k_cuda_runtime::CudaJ2kIdwtTarget<'a> -pub struct j2k_cuda_runtime::CudaJ2kQuantizeJob -pub struct j2k_cuda_runtime::CudaJ2kQuantizeSubbandRegionJob -pub struct j2k_cuda_runtime::CudaJ2kQuantizedSubband -pub struct j2k_cuda_runtime::CudaJ2kResidentComponents -pub struct j2k_cuda_runtime::CudaJ2kResidentQuantizedSubband -pub struct j2k_cuda_runtime::CudaJ2kStoreRgb8MctTarget<'a> -pub struct j2k_cuda_runtime::CudaJ2kStridedInterleavedPixels<'a> -pub struct j2k_cuda_runtime::CudaJpeg420Rgb8DecodePlan<'a> -pub struct j2k_cuda_runtime::CudaJpegChunkedEntropyConfig -pub struct j2k_cuda_runtime::CudaJpegChunkedEntropyPlan<'a> -pub struct j2k_cuda_runtime::CudaJpegChunkedEntropyReport -pub struct j2k_cuda_runtime::CudaJpegRgb8DecodePlan<'a> -pub struct j2k_cuda_runtime::CudaKernelBatchOutput -pub struct j2k_cuda_runtime::CudaKernelContiguousBatchOutput -pub struct j2k_cuda_runtime::CudaKernelModule -pub struct j2k_cuda_runtime::CudaKernelOutput -pub struct j2k_cuda_runtime::CudaPinnedHostBuffer -pub struct j2k_cuda_runtime::CudaPooledHtj2kDecodeOutput -pub struct j2k_cuda_runtime::CudaPooledKernelOutput -pub struct j2k_cuda_runtime::CudaQueuedExecution -pub struct j2k_cuda_runtime::CudaQueuedHtj2kCleanup -pub struct j2k_cuda_runtime::CudaResidentDwt53Output -pub struct j2k_cuda_runtime::CudaResidentDwt97Output -pub struct j2k_cuda_runtime::CudaStream -pub struct j2k_cuda_runtime::CudaTranscodeDwt97Bands -pub struct j2k_cuda_runtime::CudaTranscodeReversible53Bands -``` - -#### Added candidate API items - -```text -pub fn j2k_cuda_runtime::CudaContext::retain_primary(usize) -> core::result::Result -pub j2k_cuda_runtime::CudaError::CompletionFailed -pub j2k_cuda_runtime::CudaError::CompletionFailed::completion: alloc::boxed::Box -pub j2k_cuda_runtime::CudaError::CompletionFailed::primary: alloc::boxed::Box -pub j2k_cuda_runtime::CudaError::HostAllocationFailed -pub j2k_cuda_runtime::CudaError::HostAllocationFailed::bytes: usize -pub j2k_cuda_runtime::CudaError::HostAllocationTooLarge -pub j2k_cuda_runtime::CudaError::HostAllocationTooLarge::cap: usize -pub j2k_cuda_runtime::CudaError::HostAllocationTooLarge::requested: usize -pub j2k_cuda_runtime::CudaError::HostAllocationTooLarge::what: &'static str -pub j2k_cuda_runtime::CudaError::InternalInvariant -pub j2k_cuda_runtime::CudaError::InternalInvariant::what: &'static str -pub j2k_cuda_runtime::CudaError::ResourceReleaseFailed -pub j2k_cuda_runtime::CudaError::ResourceReleaseFailed::primary: alloc::boxed::Box -pub j2k_cuda_runtime::CudaError::ResourceReleaseFailed::release: alloc::boxed::Box -``` - -### `j2k-profile` - -Baseline items: 1. Candidate items: 1. Computed release type: `major`. Rustdoc-hidden candidate items: 117. Full hidden-inventory fingerprint: `fnv1a64:a1546f56ae38f2e3`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. diff --git a/engineering/reviewed-public-api-diff-0.7.5.md b/engineering/reviewed-public-api-diff-0.7.5.md deleted file mode 100644 index 9d72a398..00000000 --- a/engineering/reviewed-public-api-diff-0.7.5.md +++ /dev/null @@ -1,770 +0,0 @@ -# Reviewed public API diff for j2k 0.7.5 - -This report is generated by `cargo xtask semver --write-report`. Normal `cargo xtask semver` regenerates it in memory and fails if this committed file is stale. Every ordinary added/removed fingerprint and every full rustdoc-hidden candidate-inventory fingerprint requires an exact reviewed entry in `engineering/public-api-review-0.7.5.yml`; report regeneration never updates that review config. - -- Baseline registry version: `0.7.3` -- Baseline source snapshot: `v0.7.3` peeled to `494eebc3ef20895d331da86221b1d8c4bd4cabf8` -- Candidate version: `0.7.5` -- Compatibility exception: `0.7.5` is an explicitly reviewed source-incompatible patch candidate; compatibility checks use `major` while package versions remain `0.7.5`. -- Tool pins: Rust `1.96`, `cargo-semver-checks 0.48.0`, `cargo-public-api 0.52.0`, rustdoc `nightly-2026-06-28`, target `aarch64-apple-darwin` - -## Summary - -| Package | Baseline | Candidate | Computed release type | Added | Removed/changed | Removed fingerprint | Added fingerprint | Rustdoc-hidden items | Hidden inventory fingerprint | -| --- | --- | --- | --- | ---: | ---: | --- | --- | ---: | --- | -| `j2k` | `0.7.3` | `0.7.5` | `minor` | 221 | 1 | `fnv1a64:2bb387c8d09725f1` | `fnv1a64:44c04bf4ec370245` | 103 | `fnv1a64:2439f331dd8532b9` | -| `j2k-core` | `0.7.3` | `0.7.5` | `minor` | 24 | 21 | `fnv1a64:e3cc7ab60eb765cd` | `fnv1a64:d41e22eaacbb6b8c` | 189 | `fnv1a64:b87aa26da547e491` | -| `j2k-codec-math` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 0 | `none` | -| `j2k-jpeg` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 550 | `fnv1a64:d2bd76732f32e066` | -| `j2k-tilecodec` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 32 | `fnv1a64:eb677842559d9b0e` | -| `j2k-jpeg-metal` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 83 | `fnv1a64:8c83730972447ab6` | -| `j2k-metal` | `0.7.3` | `0.7.5` | `minor` | 91 | 0 | `none` | `fnv1a64:2b83a651e326c970` | 299 | `fnv1a64:a496e2469837d3a8` | -| `j2k-jpeg-cuda` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 124 | `fnv1a64:0b31ccb3e7974bc4` | -| `j2k-cuda` | `0.7.3` | `0.7.5` | `minor` | 106 | 0 | `none` | `fnv1a64:4c809347b1ded1da` | 181 | `fnv1a64:6bb25d5241c4e86a` | -| `j2k-transcode` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 455 | `fnv1a64:fdd61f6fdda4a9ab` | -| `j2k-transcode-cuda` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 17 | `fnv1a64:3e3e69d35c4a62a5` | -| `j2k-metal-support` | `0.7.3` | `0.7.5` | `minor` | 16 | 0 | `none` | `fnv1a64:759663efe6a53439` | 11 | `fnv1a64:671e50d4d121b419` | -| `j2k-transcode-metal` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 49 | `fnv1a64:5bf8a22a33753a2d` | -| `j2k-native` | `0.7.3` | `0.7.5` | `minor` | 19 | 0 | `none` | `fnv1a64:4313e3ca2306917e` | 661 | `fnv1a64:14c8dc9c142b3008` | -| `j2k-types` | `0.7.3` | `0.7.5` | `minor` | 14 | 0 | `none` | `fnv1a64:cec0bd880fac46b9` | 54 | `fnv1a64:4b30413a7bfffeb5` | -| `j2k-cuda-runtime` | `0.7.3` | `0.7.5` | `minor` | 5 | 0 | `none` | `fnv1a64:9cec81a67572ffb6` | 1089 | `fnv1a64:d33ffdcb13c73dd5` | -| `j2k-profile` | `0.7.3` | `0.7.5` | `minor` | 0 | 0 | `none` | `none` | 117 | `fnv1a64:a1546f56ae38f2e3` | -| `j2k-ml` | `new/unpublished` | `0.7.5` | `new` | 106 | 0 | `none` | `fnv1a64:b40c6fa16266dd04` | 0 | `none` | - -## New packages without a 0.7.3 registry baseline - -- `j2k-ml` `0.7.5`: 106 ordinary public API items, fingerprint `fnv1a64:b40c6fa16266dd04`; 0 rustdoc-hidden public API items, full-inventory fingerprint `none`. - -## Published-package details - -### `j2k` - -Baseline items: 541. Candidate items: 761. Computed release type: `minor`. Rustdoc-hidden candidate items: 103. Full hidden-inventory fingerprint: `fnv1a64:2439f331dd8532b9`. - -#### Removed or changed baseline API items - -```text -pub use j2k::DecoderContext -``` - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k::BatchAlpha -#[non_exhaustive] pub enum j2k::BatchCodecRoute -#[non_exhaustive] pub enum j2k::BatchErrorStage -#[non_exhaustive] pub enum j2k::BatchItemError -#[non_exhaustive] pub enum j2k::BatchLayout -#[non_exhaustive] pub enum j2k::BatchWaveletTransform -#[non_exhaustive] pub enum j2k::CpuBatchSamples -#[non_exhaustive] pub enum j2k::DecodeRequest -#[non_exhaustive] pub enum j2k::NonRepresentableReason -#[non_exhaustive] pub enum j2k::PreparationDepth -impl core::default::Default for j2k::BatchDecodeOptions -impl core::default::Default for j2k::DecodeSettings -impl core::fmt::Debug for j2k::CpuBatchDecoder -impl core::fmt::Display for j2k::BatchErrorStage -impl core::fmt::Display for j2k::NonRepresentableReason -impl j2k::BatchDecoder for j2k::CpuBatchDecoder -impl j2k::BatchGroupInfo -impl j2k::CpuBatchDecodeResult -impl j2k::CpuBatchDecoder -impl j2k::CpuBatchGroup -impl j2k::CpuBatchSamples -impl j2k::CpuBatchWorkspaceStats -impl j2k::DecodeSettings -impl j2k::EncodedImage -impl j2k::PreparedBatch -impl j2k::PreparedBatchGroup -impl j2k::PreparedClassicPlan -impl j2k::PreparedHtj2kPlan -impl j2k::PreparedImage -pub const fn j2k::CpuBatchDecoder::options(&self) -> j2k::BatchDecodeOptions -pub const fn j2k::CpuBatchGroup::samples(&self) -> &j2k::CpuBatchSamples -pub const fn j2k::CpuBatchSamples::sample_type(&self) -> j2k_core::sample::SampleType -pub const fn j2k::CpuBatchWorkspaceStats::component_owner_reuses(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::compressed_arena_reuses(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::cross_image_entropy_windows(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::decode_calls(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::entropy_job_dispatches(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::flattened_classic_jobs(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::flattened_cleanup_jobs(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::flattened_group_plans(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::flattened_magref_jobs(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::flattened_payload_jobs(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::flattened_sigprop_jobs(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::idwt_owner_reuses(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::output_compaction_copied_samples(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::output_group_allocations(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::preparation_calls(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::preparation_worker_reuses(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::prepared_plan_decode_calls(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::retained_component_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::retained_compressed_arena_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::retained_idwt_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::retained_prepared_plan_classic_workspace_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::retained_prepared_plan_ht_workspace_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::retained_scratch_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::retained_tier1_bytes(self) -> usize -pub const fn j2k::CpuBatchWorkspaceStats::scratch_capacity_retries(self) -> u64 -pub const fn j2k::CpuBatchWorkspaceStats::tier1_owner_reuses(self) -> u64 -pub const fn j2k::DecodeSettings::is_strict(self) -> bool -pub const fn j2k::DecodeSettings::lenient() -> Self -pub const fn j2k::DecodeSettings::lenient_tolerance_enabled(self) -> bool -pub const fn j2k::DecodeSettings::strict() -> Self -pub const fn j2k::PreparedBatch::options(&self) -> j2k::BatchDecodeOptions -pub const fn j2k::PreparedBatchGroup::options(&self) -> j2k::BatchDecodeOptions -pub fn j2k::BatchDecodeOptions::default() -> Self -pub fn j2k::BatchDecoder::decode_batch(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::BatchDecoder::decode_prepared(&mut self, &j2k::PreparedBatch) -> core::result::Result -pub fn j2k::BatchDecoder::decode_prepared_images(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::BatchDecoder::options(&self) -> j2k::BatchDecodeOptions -pub fn j2k::BatchDecoder::prepare_batch(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::BatchDecoder::prepare_prepared_images(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::BatchErrorStage::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k::BatchGroupInfo::samples_per_image(&self) -> core::option::Option -pub fn j2k::CpuBatchDecodeResult::errors(&self) -> &[j2k::IndexedBatchError] -pub fn j2k::CpuBatchDecodeResult::groups(&self) -> &[j2k::CpuBatchGroup] -pub fn j2k::CpuBatchDecodeResult::into_parts(self) -> (alloc::vec::Vec, alloc::vec::Vec) -pub fn j2k::CpuBatchDecoder::decode(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::decode_batch(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::decode_prepared(&mut self, &j2k::PreparedBatch) -> core::result::Result -pub fn j2k::CpuBatchDecoder::decode_prepared(&mut self, &j2k::PreparedBatch) -> core::result::Result -pub fn j2k::CpuBatchDecoder::decode_prepared_images(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::decode_prepared_images(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k::CpuBatchDecoder::new(j2k::BatchDecodeOptions) -> Self -pub fn j2k::CpuBatchDecoder::options(&self) -> j2k::BatchDecodeOptions -pub fn j2k::CpuBatchDecoder::prepare(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::prepare_batch(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::prepare_prepared_images(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::prepare_prepared_images(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k::CpuBatchDecoder::retained_worker_count(&self) -> usize -pub fn j2k::CpuBatchDecoder::workspace_stats(&self) -> j2k::CpuBatchWorkspaceStats -pub fn j2k::CpuBatchGroup::decoded_rects(&self) -> &[j2k_core::types::Rect] -pub fn j2k::CpuBatchGroup::info(&self) -> &j2k::BatchGroupInfo -pub fn j2k::CpuBatchGroup::into_parts(self) -> (j2k::BatchGroupInfo, alloc::vec::Vec, alloc::vec::Vec, alloc::vec::Vec>, j2k::CpuBatchSamples) -pub fn j2k::CpuBatchGroup::source_indices(&self) -> &[usize] -pub fn j2k::CpuBatchGroup::warnings(&self) -> &[alloc::vec::Vec] -pub fn j2k::CpuBatchSamples::is_empty(&self) -> bool -pub fn j2k::CpuBatchSamples::len(&self) -> usize -pub fn j2k::DecodeSettings::default() -> Self -pub fn j2k::EncodedImage::full(alloc::sync::Arc<[u8]>) -> Self -pub fn j2k::EncodedImage::new(alloc::sync::Arc<[u8]>, j2k::DecodeRequest) -> Self -pub fn j2k::NonRepresentableReason::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k::PreparedBatch::errors(&self) -> &[j2k::IndexedBatchError] -pub fn j2k::PreparedBatch::groups(&self) -> &[j2k::PreparedBatchGroup] -pub fn j2k::PreparedBatch::into_parts(self) -> (alloc::sync::Arc<[j2k::PreparedBatchGroup]>, alloc::sync::Arc<[j2k::IndexedBatchError]>, j2k::BatchDecodeOptions) -pub fn j2k::PreparedBatchGroup::images(&self) -> &[j2k::PreparedImage] -pub fn j2k::PreparedBatchGroup::info(&self) -> &j2k::BatchGroupInfo -pub fn j2k::PreparedBatchGroup::source_indices(&self) -> &[usize] -pub fn j2k::PreparedClassicPlan::is_color(&self) -> bool -pub fn j2k::PreparedClassicPlan::is_empty(&self) -> bool -pub fn j2k::PreparedClassicPlan::is_grayscale(&self) -> bool -pub fn j2k::PreparedClassicPlan::is_rgba(&self) -> bool -pub fn j2k::PreparedClassicPlan::payload(&self, usize) -> core::option::Option -pub fn j2k::PreparedClassicPlan::payload_count(&self) -> usize -pub fn j2k::PreparedClassicPlan::payloads(&self) -> impl core::iter::traits::exact_size::ExactSizeIterator + '_ -pub fn j2k::PreparedClassicPlan::range(&self, usize) -> core::option::Option -pub fn j2k::PreparedClassicPlan::range_count(&self) -> usize -pub fn j2k::PreparedClassicPlan::ranges(&self) -> impl core::iter::traits::exact_size::ExactSizeIterator + '_ -pub fn j2k::PreparedHtj2kPlan::is_color(&self) -> bool -pub fn j2k::PreparedHtj2kPlan::is_empty(&self) -> bool -pub fn j2k::PreparedHtj2kPlan::is_grayscale(&self) -> bool -pub fn j2k::PreparedHtj2kPlan::is_rgba(&self) -> bool -pub fn j2k::PreparedHtj2kPlan::payload(&self, usize) -> core::option::Option -pub fn j2k::PreparedHtj2kPlan::payload_count(&self) -> usize -pub fn j2k::PreparedHtj2kPlan::payloads(&self) -> impl core::iter::traits::exact_size::ExactSizeIterator + '_ -pub fn j2k::PreparedImage::bytes(&self) -> &alloc::sync::Arc<[u8]> -pub fn j2k::PreparedImage::classic_plan(&self) -> core::option::Option<&j2k::PreparedClassicPlan> -pub fn j2k::PreparedImage::codestream_range(&self) -> j2k_types::decode_payload::J2kCodestreamRange -pub fn j2k::PreparedImage::decode_settings(&self) -> j2k::DecodeSettings -pub fn j2k::PreparedImage::htj2k_plan(&self) -> core::option::Option<&j2k::PreparedHtj2kPlan> -pub fn j2k::PreparedImage::plan(&self) -> j2k::DeviceDecodePlan -pub fn j2k::PreparedImage::preparation_depth(&self) -> j2k::PreparationDepth -pub fn j2k::PreparedImage::request(&self) -> j2k::DecodeRequest -pub fn j2k::PreparedImage::source_index(&self) -> usize -pub fn j2k::PreparedImage::support(&self) -> &j2k::J2kSupportInfo -pub fn j2k::prepare_batch(alloc::vec::Vec, j2k::BatchDecodeOptions) -> core::result::Result -pub fn j2k::prepare_batch_from_images(alloc::vec::Vec, j2k::BatchDecodeOptions) -> core::result::Result -pub j2k::BatchAlpha::None -pub j2k::BatchAlpha::Premultiplied -pub j2k::BatchAlpha::Straight -pub j2k::BatchCodecRoute::Classic -pub j2k::BatchCodecRoute::Htj2k -pub j2k::BatchDecodeOptions::layout: j2k::BatchLayout -pub j2k::BatchDecodeOptions::settings: j2k::DecodeSettings -pub j2k::BatchDecodeOptions::workers: core::option::Option -pub j2k::BatchErrorStage::Decode -pub j2k::BatchErrorStage::Prepare -pub j2k::BatchGroupInfo::alpha: j2k::BatchAlpha -pub j2k::BatchGroupInfo::color: j2k_core::pixel::PixelLayout -pub j2k::BatchGroupInfo::colorspace: j2k_core::types::Colorspace -pub j2k::BatchGroupInfo::dimensions: (u32, u32) -pub j2k::BatchGroupInfo::layout: j2k::BatchLayout -pub j2k::BatchGroupInfo::payload_kind: j2k_core::passthrough::CompressedPayloadKind -pub j2k::BatchGroupInfo::precision: u8 -pub j2k::BatchGroupInfo::route: j2k::BatchCodecRoute -pub j2k::BatchGroupInfo::sample_type: j2k_core::sample::SampleType -pub j2k::BatchGroupInfo::signed: bool -pub j2k::BatchGroupInfo::transfer_syntax: j2k_core::passthrough::CompressedTransferSyntax -pub j2k::BatchGroupInfo::transform: j2k::BatchWaveletTransform -pub j2k::BatchItemError::Codec -pub j2k::BatchItemError::Codec::source: alloc::sync::Arc -pub j2k::BatchItemError::Codec::stage: j2k::BatchErrorStage -pub j2k::BatchItemError::NonRepresentableBatchOutput -pub j2k::BatchItemError::NonRepresentableBatchOutput::reason: j2k::NonRepresentableReason -pub j2k::BatchItemError::PreparedDecodeSettingsMismatch -pub j2k::BatchItemError::PreparedDecodeSettingsMismatch::prepared: j2k::DecodeSettings -pub j2k::BatchItemError::PreparedDecodeSettingsMismatch::requested: j2k::DecodeSettings -pub j2k::BatchLayout::Nchw -pub j2k::BatchLayout::Nhwc -pub j2k::BatchWaveletTransform::Irreversible97 -pub j2k::BatchWaveletTransform::Reversible53 -pub j2k::CpuBatchSamples::I16(alloc::vec::Vec) -pub j2k::CpuBatchSamples::U16(alloc::vec::Vec) -pub j2k::CpuBatchSamples::U8(alloc::vec::Vec) -pub j2k::DecodeRequest::Full -pub j2k::DecodeRequest::Reduced -pub j2k::DecodeRequest::Reduced::scale: j2k_core::scale::Downscale -pub j2k::DecodeRequest::Region -pub j2k::DecodeRequest::Region::roi: j2k_core::types::Rect -pub j2k::DecodeRequest::RegionReduced -pub j2k::DecodeRequest::RegionReduced::roi: j2k_core::types::Rect -pub j2k::DecodeRequest::RegionReduced::scale: j2k_core::scale::Downscale -pub j2k::EncodedImage::bytes: alloc::sync::Arc<[u8]> -pub j2k::EncodedImage::request: j2k::DecodeRequest -pub j2k::IndexedBatchError::index: usize -pub j2k::IndexedBatchError::source: j2k::BatchItemError -pub j2k::NonRepresentableReason::ComponentSubsampling -pub j2k::NonRepresentableReason::MixedPrecision -pub j2k::NonRepresentableReason::MixedSignedness -pub j2k::NonRepresentableReason::MixedWaveletTransform -pub j2k::NonRepresentableReason::PrecisionAboveSixteen -pub j2k::NonRepresentableReason::UnsupportedColor -pub j2k::NonRepresentableReason::UnsupportedComponentCount -pub j2k::PreparationDepth::ClassicOffsetPlan -pub j2k::PreparationDepth::Htj2kOffsetPlan -pub j2k::PreparationDepth::MetadataOnly -pub struct j2k::BatchDecodeOptions -pub struct j2k::BatchGroupInfo -pub struct j2k::CpuBatchDecodeResult -pub struct j2k::CpuBatchDecoder -pub struct j2k::CpuBatchGroup -pub struct j2k::CpuBatchWorkspaceStats -pub struct j2k::DecodeSettings -pub struct j2k::EncodedImage -pub struct j2k::IndexedBatchError -pub struct j2k::PreparedBatch -pub struct j2k::PreparedBatchGroup -pub struct j2k::PreparedClassicPlan -pub struct j2k::PreparedHtj2kPlan -pub struct j2k::PreparedImage -pub trait j2k::BatchDecoder -pub type j2k::BatchDecoder::Error: core::convert::From -pub type j2k::BatchDecoder::Output -pub type j2k::CpuBatchDecoder::Error = j2k_core::batch::BatchInfrastructureError -pub type j2k::CpuBatchDecoder::Output = j2k::CpuBatchDecodeResult -pub use j2k::BatchColor -pub use j2k::BatchInfrastructureError -pub use j2k::ClassicCodeBlockPayload -pub use j2k::Htj2kPayloadRanges -pub use j2k::J2kCodestreamRange -pub use j2k::NativeSampleType -``` - -### `j2k-core` - -Baseline items: 484. Candidate items: 487. Computed release type: `minor`. Rustdoc-hidden candidate items: 189. Full hidden-inventory fingerprint: `fnv1a64:b87aa26da547e491`. - -#### Removed or changed baseline API items - -```text -impl j2k_core::DecoderContext -pub fn j2k_core::DecoderContext::cache_stats(&self) -> j2k_core::CacheStats -pub fn j2k_core::DecoderContext::clear(&mut self) -pub fn j2k_core::DecoderContext::codec(&self) -> &C -pub fn j2k_core::DecoderContext::codec_mut(&mut self) -> &mut C -pub fn j2k_core::DecoderContext::into_inner(self) -> C -pub fn j2k_core::DecoderContext::new() -> Self -pub fn j2k_core::TileBatchDecode::decode_tile(&mut j2k_core::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region(&mut j2k_core::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region_scaled(&mut j2k_core::DecoderContext, &mut Self::Pool, j2k_core::PixelFormat, j2k_core::TileRegionScaledDecodeJob<'_, '_>) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_scaled(&mut j2k_core::DecoderContext, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_scaled_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_scaled_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_to_device(&mut j2k_core::DecoderContext<::Context>, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeManyDevice::decode_tiles_to_device(&mut j2k_core::DecoderContext, &mut Self::Pool, &[&[u8]], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_scaled_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, j2k_core::TileRegionScaledDeviceDecodeRequest<'_>) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_scaled_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_to_device(&mut j2k_core::DecoderContext, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result -pub struct j2k_core::DecoderContext -``` - -#### Added candidate API items - -```text -impl j2k_core::PixelLayout -impl j2k_core::Sample for i16 -pub const fn j2k_core::PixelLayout::channels(self) -> usize -pub const i16::BITS: u8 -pub const i16::TYPE: j2k_core::SampleType -pub fn j2k_core::TileBatchDecode::decode_tile(&mut Self::Context, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region(&mut Self::Context, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Rect) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_region_scaled(&mut Self::Context, &mut Self::Pool, j2k_core::PixelFormat, j2k_core::TileRegionScaledDecodeJob<'_, '_>) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecode::decode_tile_scaled(&mut Self::Context, &mut Self::Pool, &[u8], &mut [u8], usize, j2k_core::PixelFormat, j2k_core::Downscale) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_scaled_to_device(&mut ::Context, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_region_to_device(&mut ::Context, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_scaled_to_device(&mut ::Context, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeDevice::decode_tile_to_device(&mut ::Context, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result<::DeviceSurface, Self::Error> where Self: j2k_core::TileBatchDecodeSubmit::Context, DeviceSurface = ::DeviceSurface> -pub fn j2k_core::TileBatchDecodeManyDevice::decode_tiles_to_device(&mut Self::Context, &mut Self::Pool, &[&[u8]], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result, Self::Error> -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_scaled_to_device(&mut Self::Context, &mut Self::Session, &mut Self::Pool, j2k_core::TileRegionScaledDeviceDecodeRequest<'_>) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_region_to_device(&mut Self::Context, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Rect, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_scaled_to_device(&mut Self::Context, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::Downscale, j2k_core::BackendRequest) -> core::result::Result -pub fn j2k_core::TileBatchDecodeSubmit::submit_tile_to_device(&mut Self::Context, &mut Self::Session, &mut Self::Pool, &[u8], j2k_core::PixelFormat, j2k_core::BackendRequest) -> core::result::Result -pub j2k_core::BatchInfrastructureError::UnsupportedContract -pub j2k_core::BatchInfrastructureError::UnsupportedContract::what: &'static str -pub j2k_core::PixelFormat::GrayI16 -pub j2k_core::PixelFormat::RgbI16 -pub j2k_core::PixelFormat::RgbaI16 -pub j2k_core::SampleType::I16 -``` - -### `j2k-codec-math` - -Baseline items: 100. Candidate items: 100. Computed release type: `minor`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-jpeg` - -Baseline items: 586. Candidate items: 586. Computed release type: `minor`. Rustdoc-hidden candidate items: 550. Full hidden-inventory fingerprint: `fnv1a64:d2bd76732f32e066`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-tilecodec` - -Baseline items: 31. Candidate items: 31. Computed release type: `minor`. Rustdoc-hidden candidate items: 32. Full hidden-inventory fingerprint: `fnv1a64:eb677842559d9b0e`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-jpeg-metal` - -Baseline items: 170. Candidate items: 170. Computed release type: `minor`. Rustdoc-hidden candidate items: 83. Full hidden-inventory fingerprint: `fnv1a64:8c83730972447ab6`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-metal` - -Baseline items: 181. Candidate items: 272. Computed release type: `minor`. Rustdoc-hidden candidate items: 299. Full hidden-inventory fingerprint: `fnv1a64:a496e2469837d3a8`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -impl core::fmt::Debug for j2k_metal::MetalBatchDecoder -impl core::fmt::Debug for j2k_metal::MetalBatchGroup -impl core::fmt::Debug for j2k_metal::MetalResidentBatch -impl core::fmt::Debug for j2k_metal::SubmittedMetalGroupDecodeInto -impl core::fmt::Debug for j2k_metal::SubmittedMetalPreparedBatch -impl j2k::owned_batch::prepared::BatchDecoder for j2k_metal::MetalBatchDecoder -impl j2k_core::traits::DeviceSubmission for j2k_metal::SubmittedMetalGroupDecodeInto -impl j2k_core::traits::DeviceSubmission for j2k_metal::SubmittedMetalPreparedBatch -impl j2k_metal::MetalBatchDecodeResult -impl j2k_metal::MetalBatchDecoder -impl j2k_metal::MetalBatchGroup -impl j2k_metal::MetalBatchGroupCompletion -impl j2k_metal::MetalBatchGroupError -impl j2k_metal::MetalResidentBatch -impl j2k_metal::SubmittedMetalGroupDecodeInto -impl j2k_metal::SubmittedMetalPreparedBatch -pub const fn j2k_metal::MetalBatchDecoder::options(&self) -> j2k::owned_batch::contracts::BatchDecodeOptions -pub const fn j2k_metal::MetalResidentBatch::byte_len(&self) -> usize -pub const fn j2k_metal::MetalResidentBatch::byte_offset(&self) -> usize -pub const fn j2k_metal::MetalResidentBatch::image_count(&self) -> usize -pub const fn j2k_metal::MetalResidentBatch::image_stride_bytes(&self) -> usize -pub fn j2k_metal::MetalBackendSession::with_command_queue(metal::device::Device, metal::commandqueue::CommandQueue) -> core::result::Result -pub fn j2k_metal::MetalBatchDecodeResult::errors(&self) -> &[j2k::owned_batch::errors::IndexedBatchError] -pub fn j2k_metal::MetalBatchDecodeResult::group_errors(&self) -> &[j2k_metal::MetalBatchGroupError] -pub fn j2k_metal::MetalBatchDecodeResult::groups(&self) -> &[j2k_metal::MetalBatchGroup] -pub fn j2k_metal::MetalBatchDecodeResult::into_parts(self) -> (alloc::vec::Vec, alloc::vec::Vec, alloc::vec::Vec) -pub fn j2k_metal::MetalBatchDecoder::backend_session(&self) -> &j2k_metal::MetalBackendSession -pub fn j2k_metal::MetalBatchDecoder::decode_batch(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::decode_prepared(&mut self, &j2k::owned_batch::prepared::PreparedBatch) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::decode_prepared(&mut self, &j2k::owned_batch::prepared::PreparedBatch) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::decode_prepared_group(&mut self, &j2k::owned_batch::prepared::PreparedBatchGroup) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::decode_prepared_group_into(&mut self, &j2k::owned_batch::prepared::PreparedBatchGroup, &j2k_metal_support::resident::destination::MetalImageDestination) -> core::result::Result<(), j2k_metal::Error> -pub fn j2k_metal::MetalBatchDecoder::decode_prepared_images(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal::MetalBatchDecoder::options(&self) -> j2k::owned_batch::contracts::BatchDecodeOptions -pub fn j2k_metal::MetalBatchDecoder::prepare(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::prepare_prepared_images(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::submissions(&self) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::submit_batch(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::submit_prepared(&mut self, &j2k::owned_batch::prepared::PreparedBatch) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::submit_prepared_group_into(&mut self, &j2k::owned_batch::prepared::PreparedBatchGroup, j2k_metal_support::resident::destination::MetalImageDestination) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::submit_prepared_group_into_for_consumer_queue(&mut self, &j2k::owned_batch::prepared::PreparedBatchGroup, j2k_metal_support::resident::destination::MetalImageDestination, &metal::commandqueue::CommandQueueRef) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::system_default() -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::system_default_with_options(j2k::owned_batch::contracts::BatchDecodeOptions) -> core::result::Result -pub fn j2k_metal::MetalBatchDecoder::validate_destination(&self, &j2k_metal_support::resident::destination::MetalImageDestination, (u32, u32), j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_metal::Error> -pub fn j2k_metal::MetalBatchDecoder::with_backend_session(j2k_metal::MetalBackendSession) -> Self -pub fn j2k_metal::MetalBatchDecoder::with_backend_session_and_options(j2k_metal::MetalBackendSession, j2k::owned_batch::contracts::BatchDecodeOptions) -> Self -pub fn j2k_metal::MetalBatchGroup::decoded_rects(&self) -> &[j2k_core::types::Rect] -pub fn j2k_metal::MetalBatchGroup::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal::MetalBatchGroup::info(&self) -> &j2k::owned_batch::contracts::BatchGroupInfo -pub fn j2k_metal::MetalBatchGroup::into_parts(self) -> j2k_metal::MetalBatchGroupParts -pub fn j2k_metal::MetalBatchGroup::into_resident_batch(self) -> core::option::Option -pub fn j2k_metal::MetalBatchGroup::resident_batch(&self) -> core::option::Option<&j2k_metal::MetalResidentBatch> -pub fn j2k_metal::MetalBatchGroup::source_indices(&self) -> &[usize] -pub fn j2k_metal::MetalBatchGroup::surfaces(&self) -> &[j2k_metal::Surface] -pub fn j2k_metal::MetalBatchGroup::warnings(&self) -> &[alloc::vec::Vec] -pub fn j2k_metal::MetalBatchGroupCompletion::decoded_rects(&self) -> &[j2k_core::types::Rect] -pub fn j2k_metal::MetalBatchGroupCompletion::into_parts(self) -> (alloc::vec::Vec, alloc::vec::Vec>) -pub fn j2k_metal::MetalBatchGroupCompletion::warnings(&self) -> &[alloc::vec::Vec] -pub fn j2k_metal::MetalBatchGroupError::into_parts(self) -> (alloc::vec::Vec, j2k_metal::Error) -pub fn j2k_metal::MetalBatchGroupError::source(&self) -> &j2k_metal::Error -pub fn j2k_metal::MetalBatchGroupError::source_indices(&self) -> &[usize] -pub fn j2k_metal::MetalResidentBatch::device_registry_id(&self) -> u64 -pub fn j2k_metal::MetalResidentBatch::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal::SubmittedMetalGroupDecodeInto::enqueue_consumer_wait(&mut self, &metal::commandqueue::CommandQueueRef) -> core::result::Result<(), j2k_metal::Error> -pub fn j2k_metal::SubmittedMetalGroupDecodeInto::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal::SubmittedMetalGroupDecodeInto::wait(self) -> core::result::Result -pub fn j2k_metal::SubmittedMetalGroupDecodeInto::wait(self) -> core::result::Result -pub fn j2k_metal::SubmittedMetalPreparedBatch::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal::SubmittedMetalPreparedBatch::is_empty(&self) -> bool -pub fn j2k_metal::SubmittedMetalPreparedBatch::len(&self) -> usize -pub fn j2k_metal::SubmittedMetalPreparedBatch::wait(self) -> core::result::Result -pub fn j2k_metal::SubmittedMetalPreparedBatch::wait(self) -> core::result::Result -pub struct j2k_metal::MetalBatchDecodeResult -pub struct j2k_metal::MetalBatchDecoder -pub struct j2k_metal::MetalBatchGroup -pub struct j2k_metal::MetalBatchGroupCompletion -pub struct j2k_metal::MetalBatchGroupError -pub struct j2k_metal::MetalResidentBatch -pub struct j2k_metal::SubmittedMetalGroupDecodeInto -pub struct j2k_metal::SubmittedMetalPreparedBatch -pub type j2k_metal::MetalBatchDecoder::Error = j2k_metal::Error -pub type j2k_metal::MetalBatchDecoder::Output = j2k_metal::MetalBatchDecodeResult -pub type j2k_metal::MetalBatchGroupParts = (j2k::owned_batch::contracts::BatchGroupInfo, alloc::vec::Vec, alloc::vec::Vec, alloc::vec::Vec>, alloc::vec::Vec) -pub type j2k_metal::SubmittedMetalGroupDecodeInto::Error = j2k_metal::Error -pub type j2k_metal::SubmittedMetalGroupDecodeInto::Output = j2k_metal::MetalBatchGroupCompletion -pub type j2k_metal::SubmittedMetalPreparedBatch::Error = j2k_metal::Error -pub type j2k_metal::SubmittedMetalPreparedBatch::Output = j2k_metal::MetalBatchDecodeResult -pub unsafe fn j2k_metal::MetalResidentBatch::metal_buffer(&self) -> &metal::buffer::Buffer -pub use j2k_metal::MetalImageDestination -pub use j2k_metal::MetalImageLayout -``` - -### `j2k-jpeg-cuda` - -Baseline items: 71. Candidate items: 71. Computed release type: `minor`. Rustdoc-hidden candidate items: 124. Full hidden-inventory fingerprint: `fnv1a64:0b31ccb3e7974bc4`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-cuda` - -Baseline items: 123. Candidate items: 229. Computed release type: `minor`. Rustdoc-hidden candidate items: 181. Full hidden-inventory fingerprint: `fnv1a64:6bb25d5241c4e86a`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_cuda::CudaBatchError -impl core::fmt::Debug for j2k_cuda::SubmittedCudaExternalBatch -impl core::fmt::Debug for j2k_cuda::SubmittedCudaResidentBatch -impl j2k::owned_batch::prepared::BatchDecoder for j2k_cuda::CudaBatchDecoder -impl j2k_cuda::CudaBatchDecodeResult -impl j2k_cuda::CudaBatchDecoder -impl j2k_cuda::CudaBatchGroup -impl j2k_cuda::CudaBatchGroupError -impl j2k_cuda::CudaDecodePoolDiagnostics -impl j2k_cuda::CudaDecodePoolSnapshot -impl j2k_cuda::CudaExternalBatchGroup -impl j2k_cuda::CudaResidentBatchBuffer -impl j2k_cuda::SubmittedCudaExternalBatch -impl j2k_cuda::SubmittedCudaResidentBatch -pub const fn j2k_cuda::CudaBatchDecoder::options(&self) -> j2k::owned_batch::contracts::BatchDecodeOptions -pub const fn j2k_cuda::CudaBatchDecoder::session(&self) -> &j2k_cuda::CudaSession -pub const fn j2k_cuda::CudaBatchDecoder::with_session_and_options(j2k_cuda::CudaSession, j2k::owned_batch::contracts::BatchDecodeOptions) -> Self -pub const fn j2k_cuda::CudaBatchGroup::dense_output(&self) -> &j2k_cuda::CudaResidentBatchBuffer -pub const fn j2k_cuda::CudaBatchGroup::info(&self) -> &j2k::owned_batch::contracts::BatchGroupInfo -pub const fn j2k_cuda::CudaDecodePoolSnapshot::peak_retained_bytes_upper_bound(self) -> usize -pub const fn j2k_cuda::CudaDecodePoolSnapshot::retained_bytes(self) -> usize -pub const fn j2k_cuda::CudaExternalBatchGroup::info(&self) -> &j2k::owned_batch::contracts::BatchGroupInfo -pub enum j2k_cuda::CudaExternalBatchTryFinish -pub fn j2k_cuda::CudaBatchDecodeResult::errors(&self) -> &[j2k::owned_batch::errors::IndexedBatchError] -pub fn j2k_cuda::CudaBatchDecodeResult::group_errors(&self) -> &[j2k_cuda::CudaBatchGroupError] -pub fn j2k_cuda::CudaBatchDecodeResult::groups(&self) -> &[j2k_cuda::CudaBatchGroup] -pub fn j2k_cuda::CudaBatchDecodeResult::into_parts(self) -> (alloc::vec::Vec, alloc::vec::Vec, alloc::vec::Vec) -pub fn j2k_cuda::CudaBatchDecoder::decode_batch(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::decode_pool_diagnostics(&self) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::decode_prepared(&mut self, &j2k::owned_batch::prepared::PreparedBatch) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::decode_prepared(&mut self, &j2k::owned_batch::prepared::PreparedBatch) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::decode_prepared_images(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::diagnostics(&self) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::new() -> Self -pub fn j2k_cuda::CudaBatchDecoder::options(&self) -> j2k::owned_batch::contracts::BatchDecodeOptions -pub fn j2k_cuda::CudaBatchDecoder::prepare(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::prepare_prepared_images(&self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::session_mut(&mut self) -> &mut j2k_cuda::CudaSession -pub fn j2k_cuda::CudaBatchDecoder::submit_batch(&mut self, alloc::vec::Vec) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::submit_prepared(&mut self, &j2k::owned_batch::prepared::PreparedBatch) -> core::result::Result -pub fn j2k_cuda::CudaBatchDecoder::with_options(j2k::owned_batch::contracts::BatchDecodeOptions) -> Self -pub fn j2k_cuda::CudaBatchDecoder::with_session(j2k_cuda::CudaSession) -> Self -pub fn j2k_cuda::CudaBatchGroup::decoded_rects(&self) -> &[j2k_core::types::Rect] -pub fn j2k_cuda::CudaBatchGroup::into_parts(self) -> (j2k::owned_batch::contracts::BatchGroupInfo, alloc::vec::Vec, alloc::vec::Vec, alloc::vec::Vec>, alloc::vec::Vec, j2k_cuda::CudaResidentBatchBuffer) -pub fn j2k_cuda::CudaBatchGroup::source_indices(&self) -> &[usize] -pub fn j2k_cuda::CudaBatchGroup::surfaces(&self) -> &[j2k_cuda::Surface] -pub fn j2k_cuda::CudaBatchGroup::warnings(&self) -> &[alloc::vec::Vec] -pub fn j2k_cuda::CudaBatchGroupError::into_parts(self) -> (alloc::vec::Vec, j2k_cuda::Error) -pub fn j2k_cuda::CudaBatchGroupError::source(&self) -> &j2k_cuda::Error -pub fn j2k_cuda::CudaBatchGroupError::source_indices(&self) -> &[usize] -pub fn j2k_cuda::CudaDecodePoolDiagnostics::peak_retained_bytes_upper_bound(self) -> usize -pub fn j2k_cuda::CudaDecodePoolDiagnostics::retained_bytes(self) -> usize -pub fn j2k_cuda::CudaExternalBatchGroup::decoded_rects(&self) -> &[j2k_core::types::Rect] -pub fn j2k_cuda::CudaExternalBatchGroup::ranges(&self) -> &[j2k_cuda_runtime::memory::CudaDeviceBufferRange] -pub fn j2k_cuda::CudaExternalBatchGroup::source_indices(&self) -> &[usize] -pub fn j2k_cuda::CudaExternalBatchGroup::warnings(&self) -> &[alloc::vec::Vec] -pub fn j2k_cuda::CudaResidentBatchBuffer::buffer(&self) -> &j2k_cuda_runtime::memory::CudaDeviceBuffer -pub fn j2k_cuda::CudaResidentBatchBuffer::ranges(&self) -> &[j2k_cuda_runtime::memory::CudaDeviceBufferRange] -pub fn j2k_cuda::CudaSession::decode_pool_diagnostics(&self) -> core::result::Result -pub fn j2k_cuda::CudaSession::diagnostics(&self) -> core::result::Result -pub fn j2k_cuda::SubmittedCudaExternalBatch::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_cuda::SubmittedCudaExternalBatch::group(&self) -> &j2k_cuda::CudaExternalBatchGroup -pub fn j2k_cuda::SubmittedCudaExternalBatch::is_complete(&self) -> core::result::Result -pub fn j2k_cuda::SubmittedCudaExternalBatch::try_finish(self) -> core::result::Result -pub fn j2k_cuda::SubmittedCudaExternalBatch::wait(self) -> core::result::Result -pub fn j2k_cuda::SubmittedCudaResidentBatch::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_cuda::SubmittedCudaResidentBatch::is_complete(&self) -> core::result::Result -pub fn j2k_cuda::SubmittedCudaResidentBatch::pending_group_count(&self) -> usize -pub fn j2k_cuda::SubmittedCudaResidentBatch::wait(self) -> core::result::Result -pub j2k_cuda::CudaBatchError::GroupExecution -pub j2k_cuda::CudaBatchError::GroupExecution::source: alloc::boxed::Box -pub j2k_cuda::CudaBatchError::GroupExecution::source_indices: alloc::vec::Vec -pub j2k_cuda::CudaBatchError::Infrastructure(j2k_core::batch::BatchInfrastructureError) -pub j2k_cuda::CudaDecodePoolDiagnostics::batch_decode: core::option::Option -pub j2k_cuda::CudaDecodePoolDiagnostics::decode: core::option::Option -pub j2k_cuda::CudaDecodePoolSnapshot::cached_buffers: usize -pub j2k_cuda::CudaDecodePoolSnapshot::cached_bytes: usize -pub j2k_cuda::CudaDecodePoolSnapshot::deferred_buffers: usize -pub j2k_cuda::CudaDecodePoolSnapshot::deferred_bytes: usize -pub j2k_cuda::CudaDecodePoolSnapshot::peak_cached_bytes: usize -pub j2k_cuda::CudaDecodePoolSnapshot::peak_deferred_bytes: usize -pub j2k_cuda::CudaDecodePoolSnapshot::reuse_holds: usize -pub j2k_cuda::CudaExternalBatchTryFinish::Complete(j2k_cuda::CudaExternalBatchGroup) -pub j2k_cuda::CudaExternalBatchTryFinish::Pending(j2k_cuda::SubmittedCudaExternalBatch) -pub j2k_cuda::CudaSessionDiagnostics::pools: j2k_cuda::CudaDecodePoolDiagnostics -pub j2k_cuda::CudaSessionDiagnostics::runtime: core::option::Option -pub j2k_cuda::Error::CudaTier1JobFailed -pub j2k_cuda::Error::CudaTier1JobFailed::original_job_index: usize -pub j2k_cuda::Error::CudaTier1JobFailed::source: j2k_cuda_runtime::error::CudaError -pub j2k_cuda::Error::CudaTier1JobFailed::source_index: usize -pub j2k_cuda::Error::HtJobChunkPlan(j2k_core::batch::gpu_job_chunk::HtGpuJobChunkPlanError) -pub struct j2k_cuda::CudaBatchDecodeResult -pub struct j2k_cuda::CudaBatchDecoder -pub struct j2k_cuda::CudaBatchGroup -pub struct j2k_cuda::CudaBatchGroupError -pub struct j2k_cuda::CudaDecodePoolDiagnostics -pub struct j2k_cuda::CudaDecodePoolSnapshot -pub struct j2k_cuda::CudaExternalBatchGroup -pub struct j2k_cuda::CudaResidentBatchBuffer -pub struct j2k_cuda::CudaSessionDiagnostics -pub struct j2k_cuda::SubmittedCudaExternalBatch -pub struct j2k_cuda::SubmittedCudaResidentBatch -pub type j2k_cuda::CudaBatchDecoder::Error = j2k_cuda::CudaBatchError -pub type j2k_cuda::CudaBatchDecoder::Output = j2k_cuda::CudaBatchDecodeResult -pub unsafe fn j2k_cuda::CudaBatchDecoder::decode_batch_into(&mut self, &j2k::owned_batch::prepared::PreparedBatchGroup, &mut j2k_cuda_runtime::memory::CudaExternalDeviceBufferViewMut<'_>) -> core::result::Result -pub unsafe fn j2k_cuda::CudaBatchDecoder::submit_batch_into(&mut self, &j2k::owned_batch::prepared::PreparedBatchGroup, &mut j2k_cuda_runtime::memory::CudaExternalDeviceBufferViewMut<'_>) -> core::result::Result -``` - -### `j2k-transcode` - -Baseline items: 426. Candidate items: 426. Computed release type: `minor`. Rustdoc-hidden candidate items: 455. Full hidden-inventory fingerprint: `fnv1a64:fdd61f6fdda4a9ab`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-transcode-cuda` - -Baseline items: 49. Candidate items: 49. Computed release type: `minor`. Rustdoc-hidden candidate items: 17. Full hidden-inventory fingerprint: `fnv1a64:3e3e69d35c4a62a5`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-metal-support` - -Baseline items: 162. Candidate items: 178. Computed release type: `minor`. Rustdoc-hidden candidate items: 11. Full hidden-inventory fingerprint: `fnv1a64:671e50d4d121b419`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -impl core::fmt::Debug for j2k_metal_support::MetalImageDestination -impl j2k_metal_support::MetalImageDestination -pub const fn j2k_metal_support::MetalImageDestination::buffer_len(&self) -> usize -pub const fn j2k_metal_support::MetalImageDestination::device_registry_id(&self) -> u64 -pub const fn j2k_metal_support::MetalImageDestination::layout(&self) -> j2k_metal_support::MetalImageLayout -pub const fn j2k_metal_support::MetalImageLayout::image_count(self) -> usize -pub const fn j2k_metal_support::MetalImageLayout::image_offset_bytes(self, usize) -> core::option::Option -pub const fn j2k_metal_support::MetalImageLayout::image_stride_bytes(self) -> usize -pub fn j2k_metal_support::MetalImageDestination::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result -pub fn j2k_metal_support::MetalImageDestination::validate_batch(&self, (u32, u32), j2k_core::pixel::PixelFormat, usize) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::MetalImageDestination::validate_device(&self, &metal::device::DeviceRef) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::MetalImageDestination::validate_image(&self, (u32, u32), j2k_core::pixel::PixelFormat) -> core::result::Result<(), j2k_metal_support::MetalSupportError> -pub fn j2k_metal_support::MetalImageLayout::new_batch(usize, (u32, u32), usize, j2k_core::pixel::PixelFormat, usize, usize) -> core::result::Result -pub struct j2k_metal_support::MetalImageDestination -pub unsafe fn j2k_metal_support::MetalImageDestination::from_exclusive_buffer(metal::buffer::Buffer, j2k_metal_support::MetalImageLayout) -> core::result::Result -pub unsafe fn j2k_metal_support::MetalImageDestination::raw_buffer(&self) -> &metal::buffer::Buffer -``` - -### `j2k-transcode-metal` - -Baseline items: 99. Candidate items: 99. Computed release type: `minor`. Rustdoc-hidden candidate items: 49. Full hidden-inventory fingerprint: `fnv1a64:5bf8a22a33753a2d`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-native` - -Baseline items: 358. Candidate items: 377. Computed release type: `minor`. Rustdoc-hidden candidate items: 661. Full hidden-inventory fingerprint: `fnv1a64:14c8dc9c142b3008`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -impl j2k_native::DecoderWorkspace -impl j2k_native::DecoderWorkspaceStats -pub const fn j2k_native::DecoderContext<'_>::workspace_stats(&self) -> j2k_native::DecoderWorkspaceStats -pub const fn j2k_native::DecoderWorkspace::stats(&self) -> j2k_native::DecoderWorkspaceStats -pub const fn j2k_native::DecoderWorkspaceStats::component_owner_reuses(self) -> u64 -pub const fn j2k_native::DecoderWorkspaceStats::decode_calls(self) -> u64 -pub const fn j2k_native::DecoderWorkspaceStats::idwt_owner_reuses(self) -> u64 -pub const fn j2k_native::DecoderWorkspaceStats::retained_component_bytes(self) -> usize -pub const fn j2k_native::DecoderWorkspaceStats::retained_idwt_bytes(self) -> usize -pub const fn j2k_native::DecoderWorkspaceStats::retained_scratch_bytes(self) -> usize -pub const fn j2k_native::DecoderWorkspaceStats::retained_tier1_bytes(self) -> usize -pub const fn j2k_native::DecoderWorkspaceStats::scratch_capacity_retries(self) -> u64 -pub const fn j2k_native::DecoderWorkspaceStats::tier1_owner_reuses(self) -> u64 -pub fn j2k_native::DecoderContext<'_>::from_workspace(j2k_native::DecoderWorkspace) -> Self -pub fn j2k_native::DecoderContext<'_>::into_workspace(self) -> j2k_native::DecoderWorkspace -pub j2k_native::DirectPlanUnsupportedReason::RgbaFourComponentRgbCodestream -pub j2k_native::DirectPlanUnsupportedReason::RgbaRgbImageWithAlpha -pub struct j2k_native::DecoderWorkspace -pub struct j2k_native::DecoderWorkspaceStats -``` - -### `j2k-types` - -Baseline items: 351. Candidate items: 365. Computed release type: `minor`. Rustdoc-hidden candidate items: 54. Full hidden-inventory fingerprint: `fnv1a64:4b30413a7bfffeb5`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -impl j2k_types::J2kClassicCodeBlockPayload -impl j2k_types::J2kCodestreamRange -pub const fn j2k_types::J2kClassicCodeBlockPayload::end_range(self) -> core::option::Option -pub const fn j2k_types::J2kCodestreamRange::end(self) -> core::option::Option -pub j2k_types::HtCodeBlockPayloadRanges::cleanup: j2k_types::J2kCodestreamRange -pub j2k_types::HtCodeBlockPayloadRanges::refinement: core::option::Option -pub j2k_types::J2kClassicCodeBlockPayload::combined_length: usize -pub j2k_types::J2kClassicCodeBlockPayload::first_range: usize -pub j2k_types::J2kClassicCodeBlockPayload::range_count: usize -pub j2k_types::J2kCodestreamRange::length: usize -pub j2k_types::J2kCodestreamRange::offset: usize -pub struct j2k_types::HtCodeBlockPayloadRanges -pub struct j2k_types::J2kClassicCodeBlockPayload -pub struct j2k_types::J2kCodestreamRange -``` - -### `j2k-cuda-runtime` - -Baseline items: 95. Candidate items: 100. Computed release type: `minor`. Rustdoc-hidden candidate items: 1089. Full hidden-inventory fingerprint: `fnv1a64:d33ffdcb13c73dd5`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -pub j2k_cuda_runtime::CudaError::KernelJobStatus -pub j2k_cuda_runtime::CudaError::KernelJobStatus::code: u32 -pub j2k_cuda_runtime::CudaError::KernelJobStatus::detail: u32 -pub j2k_cuda_runtime::CudaError::KernelJobStatus::job_index: usize -pub j2k_cuda_runtime::CudaError::KernelJobStatus::kernel: &'static str -``` - -### `j2k-profile` - -Baseline items: 1. Candidate items: 1. Computed release type: `minor`. Rustdoc-hidden candidate items: 117. Full hidden-inventory fingerprint: `fnv1a64:a1546f56ae38f2e3`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. diff --git a/engineering/reviewed-public-api-diff-0.8.0.md b/engineering/reviewed-public-api-diff-0.8.0.md deleted file mode 100644 index 7ffc4199..00000000 --- a/engineering/reviewed-public-api-diff-0.8.0.md +++ /dev/null @@ -1,286 +0,0 @@ -# Reviewed public API diff for j2k 0.8.0 - -This report is generated by `cargo xtask semver --write-report`. Normal `cargo xtask semver` regenerates it in memory and fails if this committed file is stale. Every ordinary added/removed fingerprint and every full rustdoc-hidden candidate-inventory fingerprint requires an exact reviewed entry in `engineering/public-api-review-0.8.0.yml`; report regeneration never updates that review config. - -- Baseline registry version: `0.7.5` -- Baseline source snapshot: `v0.7.5` peeled to `a89abb6e7eba469c44b3735740712c2a85be0499` -- Candidate version: `0.8.0` -- Active intentional-break transition: only `0.8.0` may compare against `v0.7.5` -- Required next semver baseline: `v0.8.0` at version `0.8.0` before any later candidate -- Tool pins: Rust `1.96`, `cargo-semver-checks 0.48.0`, `cargo-public-api 0.52.0`, rustdoc `nightly-2026-06-28`, target `aarch64-apple-darwin` - -## Summary - -| Package | Baseline | Candidate | Computed release type | Added | Removed/changed | Removed fingerprint | Added fingerprint | Rustdoc-hidden items | Hidden inventory fingerprint | -| --- | --- | --- | --- | ---: | ---: | --- | --- | ---: | --- | -| `j2k-core` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 189 | `fnv1a64:b87aa26da547e491` | -| `j2k-profile` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 117 | `fnv1a64:a1546f56ae38f2e3` | -| `j2k-types` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 54 | `fnv1a64:4b30413a7bfffeb5` | -| `j2k-codec-math` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 0 | `none` | -| `j2k-cuda-runtime` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 1089 | `fnv1a64:d33ffdcb13c73dd5` | -| `j2k-metal-support` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 11 | `fnv1a64:671e50d4d121b419` | -| `j2k-native` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 663 | `fnv1a64:722e2b73b10d9585` | -| `j2k-jpeg` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 550 | `fnv1a64:d2bd76732f32e066` | -| `j2k-tilecodec` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 32 | `fnv1a64:eb677842559d9b0e` | -| `j2k` | `0.7.5` | `0.8.0` | `major` | 4 | 1 | `fnv1a64:66f96e29b35dc974` | `fnv1a64:af14d7bd483fd32d` | 104 | `fnv1a64:4c828a7f3b5307a4` | -| `j2k-transcode` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 455 | `fnv1a64:fdd61f6fdda4a9ab` | -| `j2k-transcode-cuda` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 17 | `fnv1a64:3e3e69d35c4a62a5` | -| `j2k-jpeg-metal` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 83 | `fnv1a64:8c83730972447ab6` | -| `j2k-metal` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 299 | `fnv1a64:a496e2469837d3a8` | -| `j2k-transcode-metal` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 49 | `fnv1a64:5bf8a22a33753a2d` | -| `j2k-jpeg-cuda` | `0.7.5` | `0.8.0` | `major` | 0 | 0 | `none` | `none` | 124 | `fnv1a64:0b31ccb3e7974bc4` | -| `j2k-cuda` | `0.7.5` | `0.8.0` | `major` | 18 | 0 | `none` | `fnv1a64:a160bbc72d2879f1` | 181 | `fnv1a64:6bb25d5241c4e86a` | -| `j2k-ml` | `0.7.5` | `0.8.0` | `major` | 8 | 0 | `none` | `fnv1a64:fa307c9021bb7e35` | 0 | `none` | - -## Published-package details - -### `j2k-core` - -Baseline items: 487. Candidate items: 487. Computed release type: `major`. Rustdoc-hidden candidate items: 189. Full hidden-inventory fingerprint: `fnv1a64:b87aa26da547e491`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-profile` - -Baseline items: 1. Candidate items: 1. Computed release type: `major`. Rustdoc-hidden candidate items: 117. Full hidden-inventory fingerprint: `fnv1a64:a1546f56ae38f2e3`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-types` - -Baseline items: 365. Candidate items: 365. Computed release type: `major`. Rustdoc-hidden candidate items: 54. Full hidden-inventory fingerprint: `fnv1a64:4b30413a7bfffeb5`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-codec-math` - -Baseline items: 100. Candidate items: 100. Computed release type: `major`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-cuda-runtime` - -Baseline items: 100. Candidate items: 100. Computed release type: `major`. Rustdoc-hidden candidate items: 1089. Full hidden-inventory fingerprint: `fnv1a64:d33ffdcb13c73dd5`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-metal-support` - -Baseline items: 178. Candidate items: 178. Computed release type: `major`. Rustdoc-hidden candidate items: 11. Full hidden-inventory fingerprint: `fnv1a64:671e50d4d121b419`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-native` - -Baseline items: 377. Candidate items: 377. Computed release type: `major`. Rustdoc-hidden candidate items: 663. Full hidden-inventory fingerprint: `fnv1a64:722e2b73b10d9585`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-jpeg` - -Baseline items: 586. Candidate items: 586. Computed release type: `major`. Rustdoc-hidden candidate items: 550. Full hidden-inventory fingerprint: `fnv1a64:d2bd76732f32e066`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-tilecodec` - -Baseline items: 31. Candidate items: 31. Computed release type: `major`. Rustdoc-hidden candidate items: 32. Full hidden-inventory fingerprint: `fnv1a64:eb677842559d9b0e`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k` - -Baseline items: 761. Candidate items: 764. Computed release type: `major`. Rustdoc-hidden candidate items: 104. Full hidden-inventory fingerprint: `fnv1a64:4c828a7f3b5307a4`. - -#### Removed or changed baseline API items - -```text -pub j2k::J2kDecodeWarning::LenientDecodeMode -``` - -#### Added candidate API items - -```text -pub fn j2k::J2kDecoder<'_>::decode_region_scaled_pow2_into(&mut self, &mut j2k::J2kScratchPool, &mut [u8], usize, j2k_core::pixel::PixelFormat, j2k_core::types::Rect, u8) -> core::result::Result, j2k::J2kError> -pub fn j2k::J2kDecoder<'a>::new_with_settings(&'a [u8], j2k::DecodeSettings) -> core::result::Result -pub fn j2k::J2kView<'a>::parse_with_settings(&'a [u8], j2k::DecodeSettings) -> core::result::Result -pub j2k::J2kDecodeWarning::LenientMetadataRecovery -``` - -### `j2k-transcode` - -Baseline items: 426. Candidate items: 426. Computed release type: `major`. Rustdoc-hidden candidate items: 455. Full hidden-inventory fingerprint: `fnv1a64:fdd61f6fdda4a9ab`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-transcode-cuda` - -Baseline items: 49. Candidate items: 49. Computed release type: `major`. Rustdoc-hidden candidate items: 17. Full hidden-inventory fingerprint: `fnv1a64:3e3e69d35c4a62a5`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-jpeg-metal` - -Baseline items: 170. Candidate items: 170. Computed release type: `major`. Rustdoc-hidden candidate items: 83. Full hidden-inventory fingerprint: `fnv1a64:8c83730972447ab6`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-metal` - -Baseline items: 272. Candidate items: 272. Computed release type: `major`. Rustdoc-hidden candidate items: 299. Full hidden-inventory fingerprint: `fnv1a64:a496e2469837d3a8`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-transcode-metal` - -Baseline items: 99. Candidate items: 99. Computed release type: `major`. Rustdoc-hidden candidate items: 49. Full hidden-inventory fingerprint: `fnv1a64:5bf8a22a33753a2d`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-jpeg-cuda` - -Baseline items: 71. Candidate items: 71. Computed release type: `major`. Rustdoc-hidden candidate items: 124. Full hidden-inventory fingerprint: `fnv1a64:0b31ccb3e7974bc4`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -None. - -### `j2k-cuda` - -Baseline items: 229. Candidate items: 247. Computed release type: `major`. Rustdoc-hidden candidate items: 181. Full hidden-inventory fingerprint: `fnv1a64:6bb25d5241c4e86a`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -#[non_exhaustive] pub enum j2k_cuda::CudaEncodeFallbackReason -impl core::default::Default for j2k_cuda::CudaLosslessEncoder -impl j2k_cuda::CudaLosslessEncodeResult -impl j2k_cuda::CudaLosslessEncoder -pub const fn j2k_cuda::CudaLosslessEncodeResult::actual_backend(&self) -> j2k_core::backend::BackendKind -pub const fn j2k_cuda::CudaLosslessEncodeResult::dispatch_report(&self) -> j2k_types::J2kEncodeDispatchReport -pub const fn j2k_cuda::CudaLosslessEncodeResult::encoded(&self) -> &j2k::encode::contracts::EncodedJ2k -pub const fn j2k_cuda::CudaLosslessEncodeResult::fallback_reason(&self) -> core::option::Option -pub const fn j2k_cuda::CudaLosslessEncodeResult::requested_backend(&self) -> j2k::encode::contracts::EncodeBackendPreference -pub fn j2k_cuda::CudaLosslessEncodeResult::into_encoded(self) -> j2k::encode::contracts::EncodedJ2k -pub fn j2k_cuda::CudaLosslessEncoder::default() -> Self -pub fn j2k_cuda::CudaLosslessEncoder::encode(&mut self, j2k::encode::samples::J2kLosslessSamples<'_>, &j2k::encode::contracts::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k_cuda::CudaLosslessEncoder::encode_strict_cuda(&mut self, j2k::encode::samples::J2kLosslessSamples<'_>, &j2k::encode::contracts::J2kLosslessEncodeOptions) -> core::result::Result -pub fn j2k_cuda::CudaLosslessEncoder::new() -> Self -pub j2k_cuda::CudaEncodeFallbackReason::DeviceRouteIncomplete -pub j2k_cuda::CudaEncodeFallbackReason::DeviceUnavailable -pub struct j2k_cuda::CudaLosslessEncodeResult -pub struct j2k_cuda::CudaLosslessEncoder -``` - -### `j2k-ml` - -Baseline items: 93. Candidate items: 101. Computed release type: `major`. Rustdoc-hidden candidate items: 0. Full hidden-inventory fingerprint: `none`. - -#### Removed or changed baseline API items - -None. - -#### Added candidate API items - -```text -pub type j2k_ml::CudaUploadBurnDecoder = j2k_ml::CudaBurnDecoder -pub type j2k_ml::MetalUploadBurnDecoder = j2k_ml::MetalBurnDecoder -pub type j2k_ml::SubmittedCudaUploadBurnBatch = j2k_ml::SubmittedCudaBurnBatch -pub type j2k_ml::SubmittedMetalUploadBurnBatch = j2k_ml::SubmittedMetalBurnBatch -pub type j2k_ml::cuda::CudaUploadBurnDecoder = j2k_ml::CudaBurnDecoder -pub type j2k_ml::cuda::SubmittedCudaUploadBurnBatch = j2k_ml::SubmittedCudaBurnBatch -pub type j2k_ml::metal::MetalUploadBurnDecoder = j2k_ml::MetalBurnDecoder -pub type j2k_ml::metal::SubmittedMetalUploadBurnBatch = j2k_ml::SubmittedMetalBurnBatch -``` diff --git a/scripts/ci_plan.py b/scripts/ci_plan.py index fe6d7ac9..b357f261 100644 --- a/scripts/ci_plan.py +++ b/scripts/ci_plan.py @@ -31,7 +31,7 @@ } ) SHARED_GPU_PACKAGES = frozenset({"j2k-ml"}) -DOCUMENTATION_PREFIXES = ("docs/", "engineering/") +DOCUMENTATION_PREFIXES = ("docs/",) DOCUMENTATION_PATHS = frozenset( { "CHANGELOG.md", @@ -47,8 +47,7 @@ ) QUALITY_EVIDENCE_PREFIXES = ( "docs/stable-api-", - "engineering/public-api-review-", - "engineering/reviewed-public-api-diff-", + "docs/release-evidence/public-api/", ) BROAD_PATHS = frozenset( { diff --git a/scripts/tests/test_ci_plan.py b/scripts/tests/test_ci_plan.py index eee46811..ac020286 100644 --- a/scripts/tests/test_ci_plan.py +++ b/scripts/tests/test_ci_plan.py @@ -102,12 +102,21 @@ def test_docs_only_change_stays_cheap(self) -> None: self.assertFalse(plan.metal) self.assertFalse(plan.metal_compile) + def test_unknown_top_level_documentation_folder_fails_closed(self) -> None: + plan = self.classify("engineering/notes.md") + + self.assertFalse(plan.docs) + self.assertTrue(plan.rust) + self.assertTrue(plan.cuda) + self.assertTrue(plan.metal) + self.assertTrue(plan.metal_compile) + def test_machine_readable_api_evidence_requires_fail_closed_quality_lanes(self) -> None: for path in ( "docs/stable-api-1.0.public-api.txt", "docs/stable-api-1.0.implementation-public-api.txt", - "engineering/public-api-review-0.7.5.yml", - "engineering/reviewed-public-api-diff-0.7.5.md", + "docs/release-evidence/public-api/public-api-review-0.8.1.yml", + "docs/release-evidence/public-api/reviewed-public-api-diff-0.8.1.md", ): with self.subTest(path=path): plan = self.classify(path) diff --git a/xtask/src/semver.rs b/xtask/src/semver.rs index dc4655c7..a69348f8 100644 --- a/xtask/src/semver.rs +++ b/xtask/src/semver.rs @@ -28,8 +28,8 @@ const SEMVER_TOOLCHAIN: &str = "1.96"; const SEMVER_BASELINE_VERSION: &str = "0.8.0"; const SEMVER_BASELINE_TAG: &str = "v0.8.0"; const SEMVER_BASELINE_COMMIT: &str = "53e0ad3d4f75f492af55413e0dab5a5834bd09c6"; -const API_DIFF_REPORT: &str = "engineering/reviewed-public-api-diff-0.8.1.md"; -const API_REVIEW_CONFIG: &str = "engineering/public-api-review-0.8.1.yml"; +const API_DIFF_REPORT: &str = "docs/release-evidence/public-api/reviewed-public-api-diff-0.8.1.md"; +const API_REVIEW_CONFIG: &str = "docs/release-evidence/public-api/public-api-review-0.8.1.yml"; #[derive(Clone, Copy, Debug, Eq, PartialEq)] struct BaselineTransition<'a> { diff --git a/xtask/tests/repo_lint_support/docs_and_workflows_policy/stable_api_evidence.rs b/xtask/tests/repo_lint_support/docs_and_workflows_policy/stable_api_evidence.rs index 37898bf6..4e50c037 100644 --- a/xtask/tests/repo_lint_support/docs_and_workflows_policy/stable_api_evidence.rs +++ b/xtask/tests/repo_lint_support/docs_and_workflows_policy/stable_api_evidence.rs @@ -15,23 +15,34 @@ struct SummaryEvidence { #[test] fn reviewed_api_diff_artifacts_cover_every_ordinary_and_hidden_fingerprint() { let root = repo_root(); - let report = fs::read_to_string(root.join("engineering/reviewed-public-api-diff-0.7.5.md")) - .expect("read reviewed API diff report"); - let config_source = fs::read_to_string(root.join("engineering/public-api-review-0.7.5.yml")) - .expect("read public API review config"); + let report = fs::read_to_string( + root.join("docs/release-evidence/public-api/reviewed-public-api-diff-0.8.1.md"), + ) + .expect("read reviewed API diff report"); + let config_source = fs::read_to_string( + root.join("docs/release-evidence/public-api/public-api-review-0.8.1.yml"), + ) + .expect("read public API review config"); let config: serde_yaml_ng::Value = serde_yaml_ng::from_str(&config_source).expect("parse public API review config"); let config = config.as_mapping().expect("review config root mapping"); assert_eq!( config.get("version").and_then(serde_yaml_ng::Value::as_u64), - Some(2), + Some(3), "review config schema must cover hidden inventory evidence" ); assert_eq!( config .get("candidate_version") .and_then(serde_yaml_ng::Value::as_str), - Some("0.7.5") + Some("0.8.1") + ); + assert!( + config + .get("break_ledger") + .and_then(serde_yaml_ng::Value::as_sequence) + .is_some_and(Vec::is_empty), + "the additive 0.8.1 review must not carry a source-break exception" ); let reviews = config .get("reviews") @@ -53,10 +64,8 @@ fn reviewed_api_diff_artifacts_cover_every_ordinary_and_hidden_fingerprint() { "Hidden inventory fingerprint", "Full hidden-inventory fingerprint", ]), - PatternCheck::new("reviewed API diff patch exception", &report).required(&[ - "explicitly reviewed source-incompatible patch candidate", - "compatibility checks use `major`", - ]), + PatternCheck::new("reviewed API report candidate", &report) + .required(&["- Candidate version: `0.8.1`"]), ]); } diff --git a/xtask/tests/repo_lint_support/public_docs_policy/repository_hygiene.rs b/xtask/tests/repo_lint_support/public_docs_policy/repository_hygiene.rs index f763e58b..68720161 100644 --- a/xtask/tests/repo_lint_support/public_docs_policy/repository_hygiene.rs +++ b/xtask/tests/repo_lint_support/public_docs_policy/repository_hygiene.rs @@ -152,14 +152,6 @@ fn release_facing_docs_match_the_latest_release_tag() { "docs/env-vars.md", format!("Stable: supported for the published v{minor_line} contract."), ), - ( - "engineering/burn-community-notice-draft.md", - format!("`j2k-ml {version}` is published on crates.io."), - ), - ( - "engineering/j2k-ml-adoption-release.md", - format!("# `j2k-ml {version}` adoption follow-up"), - ), ]; for (relative, expected) in checks { let source = fs::read_to_string(root.join(relative)) @@ -169,6 +161,11 @@ fn release_facing_docs_match_the_latest_release_tag() { "{relative} must describe latest release tag v{version} with `{expected}`" ); } +} + +#[test] +fn static_site_release_status_uses_canonical_sources() { + let root = repo_root(); for relative in [ "docs/index.html", @@ -180,11 +177,14 @@ fn release_facing_docs_match_the_latest_release_tag() { ] { let source = fs::read_to_string(root.join(relative)) .unwrap_or_else(|err| panic!("read {relative}: {err}")); - let expected = - format!("Release status: j2k {version} is published on crates.io"); assert!( - source.contains(&expected), - "{relative} must describe latest release tag v{version}" + source.contains("https://github.com/frames-sg/j2k/blob/main/docs/release.md") + && source.contains("https://crates.io/crates/j2k"), + "{relative} must point to the canonical release policy and crates.io" + ); + assert!( + !source.contains("Release status: j2k "), + "{relative} must not duplicate a mutable release number" ); } }