Skip to content

Add WebP support to ext/exif#22213

Open
iliaal wants to merge 1 commit into
php:masterfrom
iliaal:feature/webp-exif
Open

Add WebP support to ext/exif#22213
iliaal wants to merge 1 commit into
php:masterfrom
iliaal:feature/webp-exif

Conversation

@iliaal
Copy link
Copy Markdown
Contributor

@iliaal iliaal commented Jun 2, 2026

WebP keeps EXIF metadata in a RIFF EXIF chunk whose payload is a raw TIFF block, the same bytes a JPEG carries after its APP1/Exif\0\0 marker, so exif_read_data() can read it by handing the chunk to the existing exif_process_TIFF_in_JPEG() parser, with no new dependency. Chunk scanning is bounded by the declared RIFF size, the EXIF chunk is accepted whether or not the VP8X extended-format flag is set, and an optional leading Exif\0\0 marker is tolerated. The phpinfo supported-filetypes line now lists what exif actually parses (it was missing HEIF too).

Fixes #19904

WebP stores EXIF metadata in a RIFF "EXIF" chunk whose payload is a raw
TIFF block, the same data JPEG carries after its APP1 marker. Walk the
RIFF chunks, locate the EXIF chunk, and hand its payload to the existing
exif_process_TIFF_in_JPEG() parser, so no third-party library is needed.

The chunk is accepted regardless of the VP8X extended-format flag, and an
optional leading "Exif\0\0" marker is skipped when an encoder emits one.

Closes phpGH-19904
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WebP format is not supported by exif

1 participant