pub struct JxlDecoder;Expand description
JPEG-XL decoder.
Decodes JPEG-XL files (both bare codestream and ISOBMFF container format) into raw pixel data.
Implementations§
Source§impl JxlDecoder
impl JxlDecoder
Sourcepub fn is_jxl(data: &[u8]) -> bool
pub fn is_jxl(data: &[u8]) -> bool
Check if the data starts with a valid JXL signature.
Returns true for both bare codestream (0xFF 0x0A) and
container format signatures.
Sourcepub fn is_codestream(data: &[u8]) -> bool
pub fn is_codestream(data: &[u8]) -> bool
Check for bare codestream signature.
Sourcepub fn is_container(data: &[u8]) -> bool
pub fn is_container(data: &[u8]) -> bool
Check for ISOBMFF container signature.
Sourcepub fn decode(&self, data: &[u8]) -> CodecResult<DecodedImage>
pub fn decode(&self, data: &[u8]) -> CodecResult<DecodedImage>
Decode a JPEG-XL file from bytes.
§Errors
Returns error if:
- The data does not have a valid JXL signature
- The header is malformed
- The image data is corrupt
- Unsupported features are encountered
Sourcepub fn read_header(&self, data: &[u8]) -> CodecResult<JxlHeader>
pub fn read_header(&self, data: &[u8]) -> CodecResult<JxlHeader>
Read only the header from a JPEG-XL file without fully decoding.
§Errors
Returns error if the signature or header is invalid.
Sourcepub fn decode_animated(&self, data: &[u8]) -> CodecResult<Vec<JxlFrame>>
pub fn decode_animated(&self, data: &[u8]) -> CodecResult<Vec<JxlFrame>>
Decode an animated JPEG-XL codestream into a sequence of frames.
If the codestream is not animated, returns a single frame with
duration_ticks = 0 and is_last = true.
§Errors
Returns error if the codestream is invalid.
Sourcepub fn is_animated(&self, data: &[u8]) -> CodecResult<bool>
pub fn is_animated(&self, data: &[u8]) -> CodecResult<bool>
Check if a codestream is animated by reading just the header.
§Errors
Returns error if the header is invalid.
Sourcepub fn read_animation_header(
&self,
data: &[u8],
) -> CodecResult<Option<JxlAnimation>>
pub fn read_animation_header( &self, data: &[u8], ) -> CodecResult<Option<JxlAnimation>>
Read the animation header from a JPEG-XL file.
Returns None if the file is not animated.
§Errors
Returns error if the header is invalid.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for JxlDecoder
impl RefUnwindSafe for JxlDecoder
impl Send for JxlDecoder
impl Sync for JxlDecoder
impl Unpin for JxlDecoder
impl UnsafeUnpin for JxlDecoder
impl UnwindSafe for JxlDecoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more