#[non_exhaustive]pub enum LightLevelMethod {
MaxRgb,
LuminanceBt2020,
}Expand description
Per-pixel reduction method for content-light-level measurement.
CTA-861-G Annex P pins MaxCLL as “the largest light level of any pixel” without normatively fixing the per-pixel reduction. Two readings are in production use:
MaxRgb—max(R, G, B)in cd/m². The dominant industry convention (x265, DaVinci Resolve, Psychtoolbox, Dolby Vision L1, libultrahdr). Bounds what a panel must drive on its worst channel and is conservative on saturated colours.LuminanceBt2020— BT.2020 NCL luma (0.2627·R + 0.6780·G + 0.0593·B). Used by some Netflix / Apple TV+ pipelines. Matches photometric luminance, so a saturated red reads at0.2627 ×peak instead of the full peak — closer to perceived brightness, further from panel-drive worst case.
Default is MaxRgb matching the dominant reading.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
MaxRgb
max(R, G, B) per pixel — the CTA-861.3 industry default.
LuminanceBt2020
0.2627·R + 0.6780·G + 0.0593·B per BT.2020 NCL luma weights.
Trait Implementations§
Source§impl Clone for LightLevelMethod
impl Clone for LightLevelMethod
Source§fn clone(&self) -> LightLevelMethod
fn clone(&self) -> LightLevelMethod
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for LightLevelMethod
Source§impl Debug for LightLevelMethod
impl Debug for LightLevelMethod
Source§impl Default for LightLevelMethod
impl Default for LightLevelMethod
Source§fn default() -> LightLevelMethod
fn default() -> LightLevelMethod
Returns the “default value” for a type. Read more
impl Eq for LightLevelMethod
Source§impl Hash for LightLevelMethod
impl Hash for LightLevelMethod
Source§impl PartialEq for LightLevelMethod
impl PartialEq for LightLevelMethod
impl StructuralPartialEq for LightLevelMethod
Auto Trait Implementations§
impl Freeze for LightLevelMethod
impl RefUnwindSafe for LightLevelMethod
impl Send for LightLevelMethod
impl Sync for LightLevelMethod
impl Unpin for LightLevelMethod
impl UnsafeUnpin for LightLevelMethod
impl UnwindSafe for LightLevelMethod
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more