You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bilateral filter — range weights are now precomputed into a 511-entry lookup table, eliminating exp() from the innermost pixel loop. Moire reduction is significantly faster at equivalent quality.
Tone cleanup — smoothstep mapping is now precomputed into a 256-entry lookup table per image instead of running floating-point math per pixel.
Color enhancement — sRGB-to-linear expansion for Oklab conversion is now precomputed into a 256-entry lookup table, replacing three powf(2.4) calls per pixel on color pages.
Bilateral filter raw access — neighbor luma is now computed directly from the raw byte slice already in cache, removing the redundant get_pixel abstraction call per neighbor.
Auto-crop allocation — grayscale images now borrow the existing luma buffer for crop detection instead of always allocating a converted copy.
Image tone classification — tone is now classified once per image in the transform pipeline and passed through to the encoder, eliminating two redundant sampling passes per conversion.
WebP compression effort — encoder method raised from default (4) to maximum (6) for smaller output at the same quality setting. Thread-level set to 0 to prevent libwebp competing with Rayon for cores.
AVIF encoder speed — large-image tier lowered from speed 6 to 5, huge-image tier from 6 to 4 for meaningfully smaller files. Grayscale images additionally benefit from one extra effort level via the existing speed-subtract logic (floor removed).