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; }

Property Value

System.Int32