pub enum VideoFrameOp {
Scale {
width: u32,
height: u32,
},
GainAdjust {
gain: f32,
},
Deinterlace,
ColorCorrect {
brightness: f32,
contrast: f32,
saturation: f32,
},
}Expand description
An operation applied to a raw video frame in the frame pipeline.
Variants§
Scale
Scale to a target resolution (nearest-neighbour, luma-plane only for now).
GainAdjust
Adjust gain for all luma samples (multiplicative; values > 1.0 brighten).
Deinterlace
Deinterlace (YADIF-lite: blend odd/even lines, eliminate comb artefacts).
For each odd-indexed row, replaces it with the average of the row above and the row below. Even rows are passed through unchanged.
ColorCorrect
Adjust brightness, contrast, and saturation at the pixel level.
All factors are multiplicative: 1.0 = no change, > 1.0 increases, < 1.0 decreases.
Trait Implementations§
Source§impl Clone for VideoFrameOp
impl Clone for VideoFrameOp
Source§fn clone(&self) -> VideoFrameOp
fn clone(&self) -> VideoFrameOp
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 moreAuto Trait Implementations§
impl Freeze for VideoFrameOp
impl RefUnwindSafe for VideoFrameOp
impl Send for VideoFrameOp
impl Sync for VideoFrameOp
impl Unpin for VideoFrameOp
impl UnsafeUnpin for VideoFrameOp
impl UnwindSafe for VideoFrameOp
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> 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