Skip to main content

HdrMetadata

Struct HdrMetadata 

Source
pub struct HdrMetadata {
    pub transfer: TransferFunction,
    pub content_light_level: Option<ContentLightLevel>,
    pub mastering_display: Option<MasteringDisplay>,
}
๐Ÿ‘ŽDeprecated since 0.2.14:

redundant with zencodec::Metadata and frozen-shaped; carry ContentLightLevel / MasteringDisplay directly. Removal queued for 0.3.0.

Expand description

Describes the HDR characteristics of pixel data.

Bundles transfer function, content light level, and mastering display metadata to provide everything needed for HDR processing.

ยงDeprecated

This bundle is a redundant, weaker duplicate of the codec-layer carrier zencodec::Metadata (which the codecs actually populate, and which also carries CICP, ICC, EXIF/XMP, and orientation). It bundles transfer with CLL/mastering, which the prior art uniformly keeps separate (transfer belongs on the PixelDescriptor; CLL and mastering are independent optional metadata). It has frozen public fields (not #[non_exhaustive]), so the absolute-luminance anchor and gain-map fields HDR needs cannot be added without a break. Scheduled for removal in 0.3.0 โ€” see CHANGELOG.md โ€œQUEUED BREAKING CHANGESโ€. Carry CLL and mastering as the standalone ContentLightLevel / MasteringDisplay types, or use zencodec::Metadata.

Fieldsยง

ยงtransfer: TransferFunction
๐Ÿ‘ŽDeprecated since 0.2.14:

redundant with zencodec::Metadata and frozen-shaped; carry ContentLightLevel / MasteringDisplay directly. Removal queued for 0.3.0.

Transfer function (PQ, HLG, sRGB, Linear, etc.).

ยงcontent_light_level: Option<ContentLightLevel>
๐Ÿ‘ŽDeprecated since 0.2.14:

redundant with zencodec::Metadata and frozen-shaped; carry ContentLightLevel / MasteringDisplay directly. Removal queued for 0.3.0.

Content light level (MaxCLL/MaxFALL). Optional.

ยงmastering_display: Option<MasteringDisplay>
๐Ÿ‘ŽDeprecated since 0.2.14:

redundant with zencodec::Metadata and frozen-shaped; carry ContentLightLevel / MasteringDisplay directly. Removal queued for 0.3.0.

Mastering display color volume. Optional.

Implementationsยง

Sourceยง

impl HdrMetadata

Source

pub fn is_hdr(&self) -> bool

True if this describes HDR content (PQ or HLG transfer function).

Source

pub fn is_sdr(&self) -> bool

True if this describes SDR content.

Source

pub fn hdr10(cll: ContentLightLevel) -> Self

Create HDR10 metadata with PQ transfer.

The mastering display is MasteringDisplay::HDR10_REFERENCE โ€” the generic 1000-nit reference mastering volume, not measured metadata from any real mastering session. Replace it when the source carries an actual SMPTE ST 2086 record.

Source

pub fn hlg() -> Self

Create HLG metadata.

Trait Implementationsยง

Sourceยง

impl Clone for HdrMetadata

Sourceยง

fn clone(&self) -> HdrMetadata

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) ยท Sourceยง

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

Performs copy-assignment from source. Read more
Sourceยง

impl Copy for HdrMetadata

Sourceยง

impl Debug for HdrMetadata

Sourceยง

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

Formats the value using the given formatter. Read more
Sourceยง

impl PartialEq for HdrMetadata

Sourceยง

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) ยท 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 StructuralPartialEq for HdrMetadata

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.