Hello everyone!

Earlier this year, I added support for AVIF images
<https://github.com/libgd/libgd/pull/671> to libgd
<https://github.com/libgd/libgd>. My ultimate goal was to bring support for
this new image format to PHP, so that the world's top CMSs could let sites
serve AVIFs. A few of you kindly guided me as I made my first contributions
to the PHP codebase, propagating libgd's new AVIF support
<https://github.com/php/php-src/pull/7026> into PHP's bundled gd fork,
and adding
AVIF awareness <https://github.com/php/php-src/pull/7091> to non-gd
functions like getimagesize() and imagecreatefromstring().

Unfortunately, when I worked on getimagesize(), AVIF experts advised that
there was no compact, reliable way to determine the size of an AVIF image
without relying on an external library like libavif. We decided
<https://github.com/php/php-src/pull/5127#issuecomment-799825277> that it
was useful to return the information that a given image was an AVIF, but
simply to return 0 for the actual dimensions and other details. The user
would simply need to decode the image to determine this information.

Of course, users would really like
<https://github.com/php/php-src/pull/5127#issuecomment-976241397> to use
getimagesize() to return the actual size. So a colleague has kindly
created standalone
code <https://aomedia-review.googlesource.com/c/libavifinfo/+/148321> (that
doesn't depend on libavif) to do this, with the goal of adding it to PHP.

The code comprises several hundred lines. But - it works, and it works well.

Would it be ok to submit a PR containing this code to add this
functionality? Or does someone have a superior approach?

Thanks, and all best,

Ben

Reply via email to