pub struct ChromaOps;Expand description
Chroma subsampling operations.
Implementations§
Source§impl ChromaOps
impl ChromaOps
Sourcepub fn rgba_to_ycbcr(
rgba: &[u8],
width: u32,
height: u32,
format: ChromaSubsampling,
coefficients: YcbcrCoefficients,
) -> Result<Vec<u8>>
pub fn rgba_to_ycbcr( rgba: &[u8], width: u32, height: u32, format: ChromaSubsampling, coefficients: YcbcrCoefficients, ) -> Result<Vec<u8>>
Convert packed RGBA to planar YCbCr with the specified chroma subsampling.
Output layout: Y plane (full size), then Cb plane, then Cr plane
(subsampled according to format).
§Errors
Returns an error if dimensions are invalid or buffer sizes don’t match.
Sourcepub fn ycbcr_to_rgba(
ycbcr: &[u8],
width: u32,
height: u32,
format: ChromaSubsampling,
coefficients: YcbcrCoefficients,
) -> Result<Vec<u8>>
pub fn ycbcr_to_rgba( ycbcr: &[u8], width: u32, height: u32, format: ChromaSubsampling, coefficients: YcbcrCoefficients, ) -> Result<Vec<u8>>
Convert planar YCbCr back to packed RGBA.
Input layout: Y plane (full size), then Cb plane, then Cr plane
(subsampled according to format).
§Errors
Returns an error if dimensions are invalid or buffer sizes don’t match.
Auto Trait Implementations§
impl Freeze for ChromaOps
impl RefUnwindSafe for ChromaOps
impl Send for ChromaOps
impl Sync for ChromaOps
impl Unpin for ChromaOps
impl UnsafeUnpin for ChromaOps
impl UnwindSafe for ChromaOps
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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