Skip to main content

GainMapMetadata

Struct GainMapMetadata 

Source
pub struct GainMapMetadata {
    pub is_multichannel: bool,
    pub use_base_colour_space: bool,
    pub base_hdr_headroom_n: u32,
    pub base_hdr_headroom_d: u32,
    pub alternate_hdr_headroom_n: u32,
    pub alternate_hdr_headroom_d: u32,
    pub channels: [GainMapChannel; 3],
}
Expand description

Gain map metadata from a ToneMapImage (tmap) derived image item.

Describes how to apply a gain map to convert between SDR and HDR renditions. The gain map is a separate AV1-encoded image that, combined with this metadata, allows reconstructing an HDR image from the SDR base.

See ISO 21496-1:2025 for the full specification.

Fields§

§is_multichannel: bool

If true, each RGB channel has independent gain map parameters. If false, channels[0] applies to all three channels.

§use_base_colour_space: bool

If true, the gain map is encoded in the base image’s colour space. If false, it’s in the alternate image’s colour space.

§base_hdr_headroom_n: u32

Base HDR headroom (numerator).

§base_hdr_headroom_d: u32

Base HDR headroom (denominator).

§alternate_hdr_headroom_n: u32

Alternate HDR headroom (numerator).

§alternate_hdr_headroom_d: u32

Alternate HDR headroom (denominator).

§channels: [GainMapChannel; 3]

Per-channel parameters. For single-channel mode, only index 0 is meaningful (indices 1 and 2 are copies of index 0).

Trait Implementations§

Source§

impl Clone for GainMapMetadata

Source§

fn clone(&self) -> GainMapMetadata

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GainMapMetadata

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for GainMapMetadata

Source§

fn eq(&self, other: &GainMapMetadata) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for GainMapMetadata

Source§

impl StructuralPartialEq for GainMapMetadata

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.