1
0
mirror of https://github.com/libjpeg-turbo/libjpeg-turbo.git synced 2026-10-23 11:48:53 +03:00

4 Commits

Author SHA1 Message Date
DRC
54bd58cc30 PNG image I/O support
Note that this changes the behavior of tj3GetICCProfile() in the
following ways:

- It can now be called with a compression instance, thus allowing the
  caller to retrieve an ICC profile (or the size thereof) extracted from
  a PNG image by tj3LoadImage*().
- The ICC profile extracted from a JPEG image can now be retrieved
  multiple times.  If I recall, I didn't allow this in TurboJPEG 3.1
  because there were already two buffer copies, one in
  jpeg_read_icc_profile() and another in the JNI wrapper.  That is no
  longer relevant, since the TurboJPEG Java API is now a separate
  project.

These changes should be backward-compatible.  Applications that treat
tj3GetICCProfile() as a mailbox rather than a newsstand will still work.
The changes were necessary in order to:

- allow decompression programs to both extract the ICC profile from a
  JPEG image and embed it into a PNG output image, and
- allow compression programs to retrieve the ICC profile size from a PNG
  input image (which is important when computing the worst-case JPEG
  destination buffer size.)

Closes #645
2026-03-12 17:45:51 -04:00
DRC
4d0df37232 Allow 12-bit output when decompressing 8-bit JPEG
Referring to #867, this is useful for shadow recovery in underexposed
images generated by certain digital cameras.
2026-03-03 16:27:49 -05:00
DRC
61bf3c064a Merge branch 'main' into dev 2026-02-26 14:36:47 -05:00
DRC
ec3e6dcf46 Replace the TurboJPEG Java API with a JNA wrapper
Closes #832
2026-02-25 22:07:45 -05:00