pub enum Lz77Method {
Rle,
Greedy,
Optimal,
}Expand description
LZ77 method selection.
Variants§
Rle
RLE-only: only matches consecutive identical values (distance = 1). Fast but limited compression on photographic content.
Greedy
Full backward references with hash chains (greedy matching). Finds matches at arbitrary distances within a sliding window. 1-3% better compression on photos, slower.
Optimal
Optimal backward references via Viterbi DP (from libjxl ApplyLZ77_Optimal). Considers all viable matches at each position and finds the minimum-cost parse via dynamic programming. Best compression, slowest.
Trait Implementations§
Source§impl Clone for Lz77Method
impl Clone for Lz77Method
Source§fn clone(&self) -> Lz77Method
fn clone(&self) -> Lz77Method
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 Lz77Method
impl Debug for Lz77Method
Source§impl Default for Lz77Method
impl Default for Lz77Method
Source§fn default() -> Lz77Method
fn default() -> Lz77Method
Returns the “default value” for a type. Read more
Source§impl PartialEq for Lz77Method
impl PartialEq for Lz77Method
impl Copy for Lz77Method
impl Eq for Lz77Method
impl StructuralPartialEq for Lz77Method
Auto Trait Implementations§
impl Freeze for Lz77Method
impl RefUnwindSafe for Lz77Method
impl Send for Lz77Method
impl Sync for Lz77Method
impl Unpin for Lz77Method
impl UnsafeUnpin for Lz77Method
impl UnwindSafe for Lz77Method
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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