1#![no_std]
8#![warn(unreachable_pub)]
9
10extern crate alloc;
11
12pub mod accelerator;
14pub mod backend;
16pub mod batch;
18mod buffer;
19pub mod context;
21pub mod device;
23pub mod error;
25pub mod passthrough;
27pub mod pixel;
29pub mod row_sink;
31pub mod sample;
33pub mod scale;
35pub mod scratch;
37pub mod traits;
39pub mod types;
41
42pub use accelerator::{
43 AcceleratorSession, BackendFailureKind, DeviceMemoryRange, ExecutionStats, GpuAbi,
44 SurfaceResidency,
45};
46pub use backend::{BackendCapabilities, BackendKind, BackendRequest, CpuFeatures};
47pub use batch::{
48 collect_indexed_batch_results, tile_batch_worker_count, IndexedBatchResult, TileBatchError,
49 TileBatchOptions, TileDecodeJob, TileRegionDecodeJob, TileRegionScaledDecodeJob,
50 TileScaledDecodeJob,
51};
52pub use buffer::{
53 copy_tight_pixels_to_strided_output, ensure_allocation_within_cap, strided_output_len,
54 strided_output_len_capped, validate_strided_output_buffer, DEFAULT_MAX_HOST_ALLOCATION_BYTES,
55};
56pub use context::{CacheStats, CodecContext, DecoderContext};
57pub use device::validate_cuda_surface_backend_request;
58pub use error::{BufferError, CodecError, InputError, NotImplemented, Unsupported};
59pub use passthrough::{
60 CompressedPayloadKind, CompressedTransferSyntax, PassthroughCandidate, PassthroughDecision,
61 PassthroughRejectReason, PassthroughRequirements,
62};
63pub use pixel::{PixelFormat, PixelLayout};
64pub use row_sink::RowSink;
65pub use sample::{Sample, SampleType};
66pub use scale::Downscale;
67pub use scratch::ScratchPool;
68pub use traits::{
69 submit_ready_device, DecodeRowsError, DeviceSubmission, DeviceSubmitSession, DeviceSurface,
70 ImageCodec, ImageDecode, ImageDecodeDevice, ImageDecodeRows, ImageDecodeSubmit,
71 ReadySubmission, TileBatchDecode, TileBatchDecodeDevice, TileBatchDecodeManyDevice,
72 TileBatchDecodeSubmit, TileDecompress,
73};
74pub use types::{
75 CodedUnitLayout, Colorspace, DecodeOutcome, DecodeRequest, Info, Rect, TileLayout, WarningKind,
76};