PeachImage
PeachImage.Formats.Avif.AvifEncoderOptions
AvifEncoderOptions.Effort Property
How exhaustively the lossless encoder searches for the smallest output, 0 (slowest, most thorough) to
9 (fastest, most pruned). Defaults to 2 (“Good Quality”). Mirrors libaom’s own --cpu-used under
AV1’s ALL_INTRA usage mode -- the mode AVIF still-image encoding uses -- so a given value is meant to
be a direct port of libaom’s own per-level search behavior at that cpu-used value, not an
independently-tuned scale (see the project plan, compare-avif-encoding-to-lucky-clover.md).
Validated but not yet load-bearing: this value is threaded through and computed into the
full libaom speed-feature table (every field unit-tested against libaom’s own source), but no search
decision consults it yet – an initial attempt at wiring it into the mode-search prescreen measurably
regressed lossless output size and was reverted rather than shipped as a regression (see
Av1TileEncoder.TileState.SpeedFeatures’s remarks). Every Effort value currently
produces identical lossless output; this will change as that work lands.
Ignored when Lossless is false: Quality-based encoding does not yet have an equivalent effort knob.
public int Effort { get; init; }