pub enum Ffv1Version {
V0,
V1,
V2,
V3,
}Expand description
FFV1 codec version.
FFV1 has evolved through several versions, with Version 3 being the most widely used and the version standardized in RFC 9043.
Variants§
V0
Version 0 - original, uses Golomb-Rice coding.
V1
Version 1 - adds non-planar colorspace support, uses Golomb-Rice coding.
V2
Version 2 - experimental (rarely used).
V3
Version 3 - RFC 9043 standard, range coder, slice-level CRC.
Implementations§
Source§impl Ffv1Version
impl Ffv1Version
Sourcepub fn from_u8(v: u8) -> CodecResult<Self>
pub fn from_u8(v: u8) -> CodecResult<Self>
Parse version number from integer.
Sourcepub const fn uses_range_coder(self) -> bool
pub const fn uses_range_coder(self) -> bool
Whether this version uses range coding (v3+) or Golomb-Rice (v0/v1).
Sourcepub const fn supports_ec(self) -> bool
pub const fn supports_ec(self) -> bool
Whether this version supports error correction (CRC per slice).
Trait Implementations§
Source§impl Clone for Ffv1Version
impl Clone for Ffv1Version
Source§fn clone(&self) -> Ffv1Version
fn clone(&self) -> Ffv1Version
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 Ffv1Version
impl Debug for Ffv1Version
Source§impl PartialEq for Ffv1Version
impl PartialEq for Ffv1Version
impl Copy for Ffv1Version
impl Eq for Ffv1Version
impl StructuralPartialEq for Ffv1Version
Auto Trait Implementations§
impl Freeze for Ffv1Version
impl RefUnwindSafe for Ffv1Version
impl Send for Ffv1Version
impl Sync for Ffv1Version
impl Unpin for Ffv1Version
impl UnsafeUnpin for Ffv1Version
impl UnwindSafe for Ffv1Version
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