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§
Sourcetype Context: CodecContext
type Context: CodecContext
Codec-specific context cached across tiles.
Required Methods§
Sourcefn 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<'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.
Sourcefn 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_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.
Sourcefn 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_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.
Sourcefn 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>
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§
Sourcefn 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>
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".