Skip to content

Commit

Permalink
Merge pull request #8056 from radarhere/hdr
Browse files Browse the repository at this point in the history
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
  • Loading branch information
hugovk and radarhere committed Jun 26, 2024
2 parents 2756cd5 + 50d18bf commit 6e1831c
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
Binary file added Tests/images/ultrahdr.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions Tests/test_file_mpo.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,11 @@ def test_eoferror() -> None:
im.seek(n_frames - 1)


def test_ultra_hdr() -> None:
with Image.open("Tests/images/ultrahdr.jpg") as im:
assert im.format == "JPEG"


@pytest.mark.parametrize("test_file", test_files)
def test_image_grab(test_file: str) -> None:
with Image.open(test_file) as im:
Expand Down
4 changes: 4 additions & 0 deletions src/PIL/JpegImagePlugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -831,6 +831,10 @@ def jpeg_factory(fp=None, filename=None):
try:
mpheader = im._getmp()
if mpheader[45057] > 1:
for segment, content in im.applist:
if segment == "APP1" and b' hdrgm:Version="' in content:
# Ultra HDR images are not yet supported
return im
# It's actually an MPO
from .MpoImagePlugin import MpoImageFile

Expand Down

0 comments on commit 6e1831c

Please sign in to comment.