#[non_exhaustive]#[repr(u32)]pub enum ColorRange {
Full = 1,
Limited = 2,
}Expand description
Quantization range (color_range in the EdgeFirst schema).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Implementations§
Source§impl ColorRange
impl ColorRange
Sourcepub const fn code(self) -> u32
pub const fn code(self) -> u32
The shared code for this variant. Identical on every surface.
const, deliberately: a downstream binding that cannot
write Variant = OtherEnum::Variant.code() in a #[pyclass]
discriminant position (PyO3 requires a literal there) can
still pin that literal to this value with a
const _: () = assert!(...) – a build-time check instead
of a hand-synced comment. See PyTensorMemory/PyPixelFormat
in crates/python-common/src/tensor.rs for the consumer.
Sourcepub fn from_code(code: u32) -> Option<Self>
pub fn from_code(code: u32) -> Option<Self>
Reject an unknown code rather than guessing at one.
Sourcepub fn from_str_code(s: &str) -> Option<Self>
pub fn from_str_code(s: &str) -> Option<Self>
Reject an unknown string rather than guessing at one.
Source§impl ColorRange
impl ColorRange
Sourcepub fn from_v4l2(v: u32) -> Option<Self>
pub fn from_v4l2(v: u32) -> Option<Self>
Map a raw V4L2 quantization field to a ColorRange.
Returns None for V4L2_QUANTIZATION_DEFAULT (0) and any
unrecognised value.
Source§impl ColorRange
impl ColorRange
Sourcepub fn scaling(self) -> RangeScaling
pub fn scaling(self) -> RangeScaling
The luma/chroma quantization swings for this range — the canonical 0/255/255 (full) or 16/219/224 (limited) studio-swing constants shared by every YUV↔RGB conversion path.
Trait Implementations§
Source§impl Clone for ColorRange
impl Clone for ColorRange
impl Copy for ColorRange
Source§impl Debug for ColorRange
impl Debug for ColorRange
Source§impl<'de> Deserialize<'de> for ColorRange
impl<'de> Deserialize<'de> for ColorRange
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for ColorRange
impl Display for ColorRange
impl Eq for ColorRange
Source§impl Hash for ColorRange
impl Hash for ColorRange
Source§impl PartialEq for ColorRange
impl PartialEq for ColorRange
Source§impl Serialize for ColorRange
impl Serialize for ColorRange
impl StructuralPartialEq for ColorRange
Auto Trait Implementations§
impl Freeze for ColorRange
impl RefUnwindSafe for ColorRange
impl Send for ColorRange
impl Sync for ColorRange
impl Unpin for ColorRange
impl UnsafeUnpin for ColorRange
impl UnwindSafe for ColorRange
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more