Skip to content

Add WebP support to ext/exif#74

Closed
iliaal wants to merge 1 commit into
masterfrom
feature/webp-exif
Closed

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

Conversation

@iliaal
Copy link
Copy Markdown
Owner

@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 php#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
@iliaal
Copy link
Copy Markdown
Owner Author

iliaal commented Jun 2, 2026

Submitted upstream: php#22213.

@iliaal iliaal closed this Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WebP format is not supported by exif

1 participant