pub enum EncoderMode {
Reference,
Experimental,
}Expand description
Controls whether the encoder matches libjxl’s algorithm choices or uses its own improvements.
Both modes produce valid JPEG XL bitstreams decodable by any conformant decoder. The difference is in encoder-side decisions: strategy selection heuristics, cost models, entropy coding parameters, tree learning, etc.
Variants§
Reference
Match libjxl’s algorithm choices at the configured effort level.
Output is statistically equivalent to cjxl at the same effort and
distance — same RD curve within measurement noise. Use this when
comparing against libjxl or when reproducibility matters.
Experimental
Use encoder-specific improvements and research features.
May produce better rate-distortion performance than libjxl at the same effort level, but output will differ. Use this for production encoding where quality per byte is the goal.
Trait Implementations§
Source§impl Clone for EncoderMode
impl Clone for EncoderMode
Source§fn clone(&self) -> EncoderMode
fn clone(&self) -> EncoderMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EncoderMode
impl Debug for EncoderMode
Source§impl Default for EncoderMode
impl Default for EncoderMode
Source§fn default() -> EncoderMode
fn default() -> EncoderMode
Source§impl PartialEq for EncoderMode
impl PartialEq for EncoderMode
impl Copy for EncoderMode
impl Eq for EncoderMode
impl StructuralPartialEq for EncoderMode
Auto Trait Implementations§
impl Freeze for EncoderMode
impl RefUnwindSafe for EncoderMode
impl Send for EncoderMode
impl Sync for EncoderMode
impl Unpin for EncoderMode
impl UnsafeUnpin for EncoderMode
impl UnwindSafe for EncoderMode
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
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>
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>
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