pub trait TileBatchDecode: ImageCodec {
type Context: CodecContext;
// Required methods
fn decode_tile(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
input: &[u8],
out: &mut [u8],
stride: usize,
fmt: PixelFormat,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
fn decode_tile_region(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
input: &[u8],
out: &mut [u8],
stride: usize,
fmt: PixelFormat,
roi: Rect,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
fn decode_tile_scaled(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
input: &[u8],
out: &mut [u8],
stride: usize,
fmt: PixelFormat,
scale: Downscale,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
fn decode_tile_region_scaled(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
fmt: PixelFormat,
job: TileRegionScaledDecodeJob<'_, '_>,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
}Expand description
Stateless tile-batch decode helpers that reuse caller-owned context.
Required Associated Types§
Sourcetype Context: CodecContext
type Context: CodecContext
Codec-specific context cached across tiles.
Required Methods§
Sourcefn decode_tile(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
input: &[u8],
out: &mut [u8],
stride: usize,
fmt: PixelFormat,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
fn decode_tile( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &[u8], out: &mut [u8], stride: usize, fmt: PixelFormat, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
Decode one tile into caller-owned output.
§Errors
Returns the codec-specific ImageCodec::Error when the tile input or output layout cannot
be decoded.
Sourcefn decode_tile_region(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
input: &[u8],
out: &mut [u8],
stride: usize,
fmt: PixelFormat,
roi: Rect,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
fn decode_tile_region( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &[u8], out: &mut [u8], stride: usize, fmt: PixelFormat, roi: Rect, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
Decode one tile region into caller-owned output.
§Errors
Returns the codec-specific ImageCodec::Error when the tile, region, or output layout
cannot be decoded.
Sourcefn decode_tile_scaled(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
input: &[u8],
out: &mut [u8],
stride: usize,
fmt: PixelFormat,
scale: Downscale,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
fn decode_tile_scaled( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &[u8], out: &mut [u8], stride: usize, fmt: PixelFormat, scale: Downscale, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
Decode one tile at reduced resolution into caller-owned output.
§Errors
Returns the codec-specific ImageCodec::Error when the tile, scale, or output layout
cannot be decoded.
Sourcefn decode_tile_region_scaled(
ctx: &mut DecoderContext<Self::Context>,
pool: &mut Self::Pool,
fmt: PixelFormat,
job: TileRegionScaledDecodeJob<'_, '_>,
) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
fn decode_tile_region_scaled( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, fmt: PixelFormat, job: TileRegionScaledDecodeJob<'_, '_>, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>
Decode one tile region at reduced resolution into caller-owned output.
§Errors
Returns the codec-specific ImageCodec::Error when the tile, region, scale, or output
layout cannot be decoded.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".