Struct ContentLightLevelInfo

pub struct ContentLightLevelInfo { pub max_content_light_level: u32, pub max_frame_average_light_level: u32 }

Content light level information of HDR content.

See https://www.w3.org/TR/png-3/#cLLI-chunk for more details.

Fields

max_content_light_level: u32

Maximum Content Light Level indicates the maximum light level of any single pixel (in cd/m^2, also known as nits) of the entire playback sequence.

The value is expressed in units of 0.0001 cd/m^2 - for example if this field is set to 10000000 then it indicates 1000 cd/m^2.

A value of zero means that the value is unknown or not currently calculable.

max_frame_average_light_level: u32

Maximum Frame Average Light Level indicates the maximum value of the frame average light level (in cd/m^2, also known as nits) of the entire playback sequence. It is calculated by first averaging the decoded luminance values of all the pixels in each frame, and then using the value for the frame with the highest value.

The value is expressed in units of 0.0001 cd/m^2 - for example if this field is set to 10000000 then it indicates 1000 cd/m^2.

A value of zero means that the value is unknown or not currently calculable.

Trait Implementations

impl Clone for ContentLightLevelInfo

fn clone(&self) -> Self

impl Copy for ContentLightLevelInfo

impl Debug for ContentLightLevelInfo

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

impl Eq for ContentLightLevelInfo

impl PartialEq for ContentLightLevelInfo

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

impl StructuralPartialEq for ContentLightLevelInfo

Auto Trait Implementations

impl Freeze for ContentLightLevelInfo

impl RefUnwindSafe for ContentLightLevelInfo

impl Send for ContentLightLevelInfo

impl Sync for ContentLightLevelInfo

impl Unpin for ContentLightLevelInfo

impl UnsafeUnpin for ContentLightLevelInfo

impl UnwindSafe for ContentLightLevelInfo

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> CloneToUninit for ContentLightLevelInfo where T: Clone,

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

impl<T> From<T> for ContentLightLevelInfo

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for ContentLightLevelInfo where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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