Skip to main content

TileBatchDecode

Trait TileBatchDecode 

Source
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§

Source

type Context: CodecContext

Codec-specific context cached across tiles.

Required Methods§

Source

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.

Source

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.

Source

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.

Source

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".

Implementors§