Skip to main content

TileBatchDecode

Trait TileBatchDecode 

Source
pub trait TileBatchDecode: ImageCodec {
    type Context: CodecContext;

    // Required methods
    fn decode_tile<'a>(
        ctx: &mut DecoderContext<Self::Context>,
        pool: &mut Self::Pool,
        input: &'a [u8],
        out: &mut [u8],
        stride: usize,
        fmt: PixelFormat,
    ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
    fn decode_tile_region<'a>(
        ctx: &mut DecoderContext<Self::Context>,
        pool: &mut Self::Pool,
        input: &'a [u8],
        out: &mut [u8],
        stride: usize,
        fmt: PixelFormat,
        roi: Rect,
    ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
    fn decode_tile_scaled<'a>(
        ctx: &mut DecoderContext<Self::Context>,
        pool: &mut Self::Pool,
        input: &'a [u8],
        out: &mut [u8],
        stride: usize,
        fmt: PixelFormat,
        scale: Downscale,
    ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;
    fn decode_tile_region_scaled<'a>(
        ctx: &mut DecoderContext<Self::Context>,
        pool: &mut Self::Pool,
        input: &'a [u8],
        out: &mut [u8],
        stride: usize,
        fmt: PixelFormat,
        roi: Rect,
        scale: Downscale,
    ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>;

    // Provided method
    fn decode_tile_request<'a>(
        ctx: &mut DecoderContext<Self::Context>,
        pool: &mut Self::Pool,
        input: &'a [u8],
        out: &mut [u8],
        stride: usize,
        fmt: PixelFormat,
        request: DecodeRequest,
    ) -> 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<'a>( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &'a [u8], out: &mut [u8], stride: usize, fmt: PixelFormat, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>

Decode one tile into caller-owned output.

Source

fn decode_tile_region<'a>( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &'a [u8], out: &mut [u8], stride: usize, fmt: PixelFormat, roi: Rect, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>

Decode one tile region into caller-owned output.

Source

fn decode_tile_scaled<'a>( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &'a [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.

Source

fn decode_tile_region_scaled<'a>( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &'a [u8], out: &mut [u8], stride: usize, fmt: PixelFormat, roi: Rect, scale: Downscale, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>

Decode one tile region at reduced resolution into caller-owned output.

Provided Methods§

Source

fn decode_tile_request<'a>( ctx: &mut DecoderContext<Self::Context>, pool: &mut Self::Pool, input: &'a [u8], out: &mut [u8], stride: usize, fmt: PixelFormat, request: DecodeRequest, ) -> Result<DecodeOutcome<Self::Warning>, Self::Error>

Decode one tile for a normalized full/ROI/scaled request.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§