#![no_std]
#![warn(unreachable_pub)]
extern crate alloc;
pub mod accelerator;
pub mod backend;
pub mod batch;
mod buffer;
pub mod context;
pub mod device;
pub mod error;
pub mod passthrough;
pub mod pixel;
pub mod row_sink;
pub mod sample;
pub mod scale;
pub mod scratch;
pub mod traits;
pub mod types;
pub use accelerator::{
AcceleratorSession, BackendFailureKind, DeviceMemoryRange, ExecutionStats, GpuAbi,
SurfaceResidency,
};
pub use backend::{BackendCapabilities, BackendKind, BackendRequest, CpuFeatures};
pub use batch::{
collect_indexed_batch_results, tile_batch_worker_count, IndexedBatchResult, TileBatchError,
TileBatchOptions, TileDecodeJob, TileRegionDecodeJob, TileRegionScaledDecodeJob,
TileScaledDecodeJob,
};
pub use buffer::{
copy_tight_pixels_to_strided_output, ensure_allocation_within_cap, strided_output_len,
strided_output_len_capped, validate_strided_output_buffer, DEFAULT_MAX_HOST_ALLOCATION_BYTES,
};
pub use context::{CacheStats, CodecContext, DecoderContext};
pub use device::validate_cuda_surface_backend_request;
pub use error::{BufferError, CodecError, InputError, NotImplemented, Unsupported};
pub use passthrough::{
CompressedPayloadKind, CompressedTransferSyntax, PassthroughCandidate, PassthroughDecision,
PassthroughRejectReason, PassthroughRequirements,
};
pub use pixel::{PixelFormat, PixelLayout};
pub use row_sink::RowSink;
pub use sample::{Sample, SampleType};
pub use scale::Downscale;
pub use scratch::ScratchPool;
pub use traits::{
submit_ready_device, DecodeRowsError, DeviceSubmission, DeviceSubmitSession, DeviceSurface,
ImageCodec, ImageDecode, ImageDecodeDevice, ImageDecodeRows, ImageDecodeSubmit,
ReadySubmission, TileBatchDecode, TileBatchDecodeDevice, TileBatchDecodeManyDevice,
TileBatchDecodeSubmit, TileDecompress,
};
pub use types::{
CodedUnitLayout, Colorspace, DecodeOutcome, DecodeRequest, Info, Rect, TileLayout, WarningKind,
};