#[repr(u8)]pub enum YuvBytesPacking {
MostSignificantBytes = 0,
LeastSignificantBytes = 1,
}
Expand description
Most of the cases of storage bytes is least significant whereas b0000000111111
integers stored in low part.
However most modern hardware encoders (Apple, Android manufacturers) uses most significant bytes
where same number stored as b111111000000
and need to be shifted right before working with this.
This is not the same and endianness. I never met big endian
packing with most significant bytes
so this case may not work fully correct, however, little endian
+ most significant bytes
can be easily derived from HDR camera stream on android and apple platforms.
This may also correspond to either YCBCR_P010
or YCBCR_P210
or kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange
or kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange.
Variants§
Trait Implementations§
Source§impl Clone for YuvBytesPacking
impl Clone for YuvBytesPacking
Source§fn clone(&self) -> YuvBytesPacking
fn clone(&self) -> YuvBytesPacking
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for YuvBytesPacking
impl Debug for YuvBytesPacking
Source§impl From<u8> for YuvBytesPacking
impl From<u8> for YuvBytesPacking
Source§impl PartialEq for YuvBytesPacking
impl PartialEq for YuvBytesPacking
impl Copy for YuvBytesPacking
impl Eq for YuvBytesPacking
impl StructuralPartialEq for YuvBytesPacking
Auto Trait Implementations§
impl Freeze for YuvBytesPacking
impl RefUnwindSafe for YuvBytesPacking
impl Send for YuvBytesPacking
impl Sync for YuvBytesPacking
impl Unpin for YuvBytesPacking
impl UnwindSafe for YuvBytesPacking
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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