Skip to main content

Decoder

Struct Decoder 

Source
pub struct Decoder<'a> { /* private fields */ }
Expand description

Ultra HDR decoder.

Decodes Ultra HDR JPEGs, extracting the SDR base image, gain map, and metadata. Can reconstruct HDR content at various display brightness levels.

The decoder borrows the input data to avoid an unconditional copy.

Implementations§

Source§

impl<'a> Decoder<'a>

Source

pub fn new(data: &'a [u8]) -> Result<Self>

Create a new decoder from JPEG data.

The decoder borrows the data — no copy is made.

Source

pub fn is_ultrahdr(&self) -> bool

Check if this is a valid Ultra HDR image.

Source

pub fn metadata(&self) -> Option<&GainMapMetadata>

Get the gain map metadata.

Source

pub fn primary_jpeg(&self) -> Option<&[u8]>

Get the raw primary (SDR base) JPEG data.

Use this to decode the base image with your own JPEG codec.

Source

pub fn gainmap_jpeg(&self) -> Option<&[u8]>

Get the raw gain map JPEG data.

Use this to decode the gain map with your own JPEG codec.

Source

pub fn decode_sdr(&self) -> Result<RawImage>

Decode the SDR base image.

This method is not available in the library. Access the raw JPEG bytes via Decoder::primary_jpeg and decode with your own codec.

Source

pub fn decode_gainmap(&self) -> Result<GainMap>

Decode the gain map.

This method is not available in the library. Access the raw JPEG bytes via Decoder::gainmap_jpeg and decode with your own codec.

Source

pub fn icc_profile(&self) -> Option<Vec<u8>>

Get the ICC profile from the primary image if present.

Auto Trait Implementations§

§

impl<'a> Freeze for Decoder<'a>

§

impl<'a> RefUnwindSafe for Decoder<'a>

§

impl<'a> Send for Decoder<'a>

§

impl<'a> Sync for Decoder<'a>

§

impl<'a> Unpin for Decoder<'a>

§

impl<'a> UnsafeUnpin for Decoder<'a>

§

impl<'a> UnwindSafe for Decoder<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.