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

5 Commits

Author SHA1 Message Date
DRC
fa789edffe TJ: Support 4:1:0 and 2:4 subsampling
Closes #436
2026-03-14 14:56:36 -04:00
DRC
fa36351738 TJ: Allow resetting JPEG colorspace to default
Since the default JPEG colorspace depends on the source pixel format and
selected subsampling level, it is useful to allow applications to
restore the default behavior if they have previously specified a JPEG
colorspace using TJPARAM_COLORSPACE.

Closes #852
2026-03-14 07:46:55 -04:00
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
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