fix(webserver): add AVIF and HEIC write support for ImageMagick#8104
Conversation
|
Download the artifacts for this pull request:
See Testing a PR. |
ImageMagick Format Differences: DDEV v1.24.8 vs v1.25.0docker run -it --rm ddev/ddev-webserver:v1.24.8 convert -list format
docker run -it --rm ddev/ddev-webserver:v1.25.0 convert -list formatSummary
New Formats in v1.25.0
Removed Formats in v1.25.0
Changed Formats (Mode or Module Changes)
Library Version Changes
Notable ChangesHEIC/AVIF Support Regression
New Raw Camera Format Supportv1.25.0 adds support for additional camera raw formats via libraw 0.21.4:
New Image Formats
TIFF Compression Optionsv1.25.0 explicitly documents TIFF compression options in the format listing:
Video Format Addition
|
33896ba to
b9e6d10
Compare
|
One more difference: $ docker run --rm -it ddev/ddev-webserver:v1.24.8 bash -c 'convert -list format | grep -i heic'
AVIF* HEIC rw+ AV1 Image File Format (1.15.1)
HEIC* HEIC rw+ Apple High efficiency Image Format (1.15.1)
$ docker run --rm -it ddev/ddev-webserver:v1.25.0 bash -c 'convert -list format | grep -i heic'
AVCI HEIC --- AVC Image File Format (1.19.8)
AVIF HEIC r-- AV1 Image File Format (1.19.8)
HEIC HEIC r-- High Efficiency Image Format (1.19.8)
HEIF HEIC r-- High Efficiency Image Format (1.19.8)HEIC write support is missing. From https://github.com/strukturag/libheif?tab=readme-ov-file#compiling:
I added decoder And |
There was a problem hiding this comment.
This file is not needed, because it was used for:
And ImageMagick 7 doesn't restrict PDFs.
|
New images pushed, run: ddev utility download-imagesDocker image size comparison:
|
The Issue
From Discord https://discord.com/channels/664580571770388500/1468621986220605552, thanks to @schliesser
How This PR Solves The Issue
rw+in v1.24.8 (bookworm):r--in v1.25.0 (trixie):$ docker run --rm -it ddev/ddev-webserver:v1.25.0 bash -c 'convert -list format | grep -i heic' AVCI HEIC --- AVC Image File Format (1.19.8) AVIF HEIC r-- AV1 Image File Format (1.19.8) HEIC HEIC r-- High Efficiency Image Format (1.19.8) HEIF HEIC r-- High Efficiency Image Format (1.19.8)Install
libheif-plugin-*packages:rw+here:$ docker run --rm -it ddev/ddev-webserver:v1.25.0 bash -c 'sudo apt-get update &>/dev/null && sudo apt-get install libheif-plugin-aomenc libheif-plugin-aomdec libheif-plugin-x265 libheif-plugin-libde265 -y &>/dev/null && convert -list format | grep -i heic' AVCI HEIC --- AVC Image File Format (1.19.8) AVIF HEIC rw+ AV1 Image File Format (1.19.8) HEIC HEIC rw+ High Efficiency Image Format (1.19.8) HEIF HEIC rw+ High Efficiency Image Format (1.19.8)There are also different
libheif-plugin-*packages available https://packages.debian.org/search?searchon=names&keywords=libheif-pluginManual Testing Instructions
avif.php:avif_cli.php:Automated Testing Overview
Release/Deployment Notes