RFR: 8160327: Support for thumbnails present in APP1 marker for JPEG [v3]

Jeremy duke at openjdk.org
Fri Feb 21 02:31:42 UTC 2025


> This adds support for parsing thumbnails in an APP1 Exif marker.
> 
> This builds on an unfinished proposal by Brian Burkhalter (around 2016). In that previous work the only additional meta info he parsed was the image creation time; this PR similarly includes the same property. (I can't speak to why he included that property, but it looks like he has a lot of experience with ImageIO so I trust his judgment.)
> 
> The test addresses the original images attached to the ticket plus a few extra images I found on my computer that include unusual properties. (Possibly those images are malformed, but if they exist in the wild and other platforms support them then I'd prefer to support them too.)

Jeremy has updated the pull request incrementally with four additional commits since the last revision:

 - 8160327: alphabetize imports
   
   This is in response to:
   https://github.com/openjdk/jdk/pull/22898#discussion_r1956718373
 - 8160327: fallback to using MarkerSegment if ExifMarkerSegment fails
   
   This is in response to:
   https://github.com/openjdk/jdk/pull/22898#discussion_r1955194737
   
   "I would have supposed that if there's an Exif segment we don't like it would be best to just act like the segment isn't there."
 - 8160327: include support for JFIF *and* EXIF thumbnails together
   
   This is in response to:
   https://github.com/openjdk/jdk/pull/22898#issuecomment-2666324177
   
   As mentioned here ( https://github.com/openjdk/jdk/pull/22898#issuecomment-2666949882 ) we'll need to update some documentation about thumbnails.
 - 8160327: moving test + resources to separate directory
   
   This is in response to:
   https://github.com/openjdk/jdk/pull/22898#issuecomment-2657721887

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/22898/files
  - new: https://git.openjdk.org/jdk/pull/22898/files/20d44cfb..a67369a6

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22898&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22898&range=01-02

  Stats: 143 lines in 11 files changed: 60 ins; 55 del; 28 mod
  Patch: https://git.openjdk.org/jdk/pull/22898.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22898/head:pull/22898

PR: https://git.openjdk.org/jdk/pull/22898


More information about the client-libs-dev mailing list