use image::ImageError;
#[derive(Debug, thiserror::Error)]
pub enum HeifError {
#[error("encoder initialization failed: {0}")]
EncoderInit(String),
#[error("decoder initialization failed: {0}")]
DecoderInit(String),
#[error("encode failed: {0}")]
Encode(String),
#[error("decode failed: {0}")]
Decode(String),
#[error("invalid image dimensions: {width}x{height}")]
InvalidDimensions { width: u32, height: u32 },
#[error(transparent)]
Image(#[from] ImageError),
#[error(transparent)]
Io(#[from] std::io::Error),
}
pub type Result<T> = std::result::Result<T, HeifError>;