Save PNG compressed, WebP at effort 4 and AVIF at effort 1 (closes #232)
check / check (push) Waiting to run
check / check (push) Waiting to run
Each output format now has its own govips export with its settings named, in place of govips' generic Export, which sent libvips a zero for some settings it was not given: PNG had no compression and WebP effort 0. PNG now gets libvips' default compression, 6, and WebP its default effort, 4. GIF and JPEG output is unchanged. AVIF was at libvips' default effort, 4, which takes minutes for an 8192x8192 image with one libvips thread, far past the default downstream_timeout. Effort 1, the lowest govips can set, takes about 51 seconds for an image of random pixels, the worst case, and WebP at 4 about 43. A 16-bit source gets 8 bits per sample, not libvips' 12, which take over four times as long. Model: opus-5-5
This commit was merged in pull request #234.
This commit is contained in:
@@ -30,6 +30,21 @@ P2: security: per-IP rate limiting on the image routes
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-08 every output format is saved with settings pixa sets on purpose
|
||||
(closes #232): each format has its own govips export, as JPEG XL does, in
|
||||
place of govips' generic `Export`, which sent libvips a zero for some settings
|
||||
it was not given. PNG gets libvips' default compression, 6, where it had none,
|
||||
and WebP libvips' default effort, 4, where it had 0. GIF was already at
|
||||
libvips' default effort, 7, and JPEG output is unchanged. AVIF is saved at
|
||||
effort 1, the lowest govips can set, where it had libvips' default, 4. With
|
||||
one libvips thread, an 8192x8192 image of random pixels, the worst case, takes
|
||||
about 51 seconds as AVIF at effort 1 and 43 as WebP at effort 4, against the
|
||||
default `downstream_timeout` of 60 seconds. On an image of milder noise, which
|
||||
AVIF at effort 1 saves in about 12 seconds, effort 4 takes minutes. AVIF is
|
||||
also saved with 8 bits per sample from a 16-bit source, which libvips would
|
||||
save with 12: a 16-bit 8192x8192 image of milder noise takes about 54 seconds
|
||||
at effort 1 with 12 bits, nearly all of the default `downstream_timeout`, and
|
||||
about 12 with 8.
|
||||
- 2026-10-08 JPEG XL is the default output (closes #222): a `/v1/image/` URL
|
||||
whose last segment is a size with no format, such as `800x600` or `orig`, is
|
||||
served as JPEG XL and signed as `jxl`, so it has the signature of the same URL
|
||||
|
||||
Reference in New Issue
Block a user