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
$this->writeStatus($io, '!', \sprintf('parameters_%s has no `mime/type::` prefix — the same options apply to every supported mime type. Recommended: %s', $format->value, $suggestion));
688
+
++$this->warningCount;
689
+
$this->captureFirstFailure(\sprintf(
690
+
"parameters_%s uses the legacy single-options format (no `mime/type::` prefix). It passes the same options to every supported mime. Replace with:\n %s",
$this->writeStatus($io, '!', \sprintf('parameters for %s @ %s could not be resolved — falls back to old single-options format', $format->value, $mimeType));
702
+
if (null ===$this->configuration->getParametersFor($format, $mimeType)) {
$this->writeStatus($io, '!', \sprintf('parameters_%s has no entry for %s — append `|%s`', $format->value, $mimeType, $mimeSuggestion));
673
705
++$this->warningCount;
674
706
$this->captureFirstFailure(\sprintf(
675
-
"Converter parameters cannot be resolved for format %s and mime type %s.\nThe parameters_%s string should look like 'image/jpeg::Q=85|image/png::Q=75'. Check the parameters_%s setting in the extension config.",
707
+
'parameters_%s is missing a `%s::…` entry. Append `|%s` to the existing value so files of that mime type are converted.',
676
708
$format->value,
677
709
$mimeType,
678
-
$format->value,
679
-
$format->value,
710
+
$mimeSuggestion,
680
711
));
681
712
}
682
713
}
683
714
}
684
715
716
+
/**
717
+
* Looks at the currently-configured converter and returns the recommended
718
+
* parameter string for the given output format. Defaults to the
719
+
* ImageMagick recipe (which is what ext_conf_template ships) so the
720
+
* suggestion is always concrete instead of "see README".
|[`use_system_settings`](#use_system_settings)|`1`| Reuse GFX color profile settings (MagickConverter) |
167
169
168
-
Each non-webp format adds its own `converter_<format>`, `parameters_<format>`, and `mime_types_<format>` settings in dedicated `cat=avif` / `cat=jxl` tabs of the Extension Configuration form. See [`formats_enabled`](#formats_enabled) below.
170
+
Each non-webp format adds its own `converter_<format>`, `parameters_<format>`, and `mime_types_<format>` settings in dedicated `cat=avif` / `cat=jxl` tabs of the Extension Configuration form. See [`formats_enabled`](#formats_enabled)and the per-format `parameters_avif` / `parameters_jxl` sections below.
169
171
170
172
### `async`
171
173
@@ -231,17 +233,12 @@ Comma-separated list of output formats this install should produce. Each enabled
231
233
232
234
Each non-webp format reads its converter and parameters from per-format keys (in their own `cat=avif` / `cat=jxl` tabs in the Extension Configuration form):
Both `parameters_avif` and `parameters_jxl` ship with ImageMagick-compatible defaults so enabling a format works out of the box on the typical TYPO3 host. Tune to your stack — recipes for libvips and external binaries are under [`parameters_avif`](#parameters_avif) and [`parameters_jxl`](#parameters_jxl) below.
245
242
246
243
### `hide_webp`
247
244
@@ -333,6 +330,51 @@ Options are passed straight to libvips's `webpsave` — see the [option referenc
333
330
> [!IMPORTANT]
334
331
> Set `ffi.enable=true` in php.ini (not `preload` — jcupitt/vips does not support FFI preloading). On PHP 8.3+ also set `zend.max_allowed_stack_size=-1`; without it the default stack limit can cause spurious conversion failures.
335
332
333
+
### `parameters_avif`
334
+
335
+
Same `mime/type::params|…` syntax as [`parameters`](#parameters). Default targets ImageMagick (matches the default `converter_avif`):
AVIF at quality ~60 typically matches WebP at quality ~85 in filesize, often at better SSIM. For ImageMagick, `-quality` covers the common case; advanced encoders also accept `-define heic:speed=2` (slower, better compression) on builds with the libheif AV1 delegate.
348
+
349
+
References:
350
+
351
+
-[libheif AV1 encoder options](https://github.com/strukturag/libheif/blob/master/aom-options.md) (used by ImageMagick when compiled with libheif)
352
+
-[libvips `heifsave` reference](https://www.libvips.org/API/current/VipsForeignSave.html#vips-heifsave) (the libvips AVIF entry point)
Copy file name to clipboardExpand all lines: ext_conf_template.txt
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -23,14 +23,14 @@ async = 0
23
23
# cat=async; type=int+; label=Random sleep (ms) between conversions in the worker (0 = no sleep); each pause is randomized between half and 1.5x of this value
0 commit comments