Skip to content

Commit a72b596

Browse files
committed
Document JPEG 2000 support for writing YCbCr and reading subsampled color
Read support for subsampled RGB and YCbCr color channels was added in 4f4c3b3 and not documented at the time. Write support for YCbCr appears to date to 61fb89e, the original commit. Retain the existing language about YCbCr input conversion to RGB, even though it's not completely correct. OpenJPEG through 2.5.0 doesn't set color_space in opj_read_header(), so we end up in our OPJ_CLRSPC_UNSPECIFIED fallback path, which guesses sRGB if there's no component subsampling. This means we currently can't round-trip YCbCr via JPEG 2000. The next OpenJPEG release will fix this, so leave the docs as is. Also fix typo: .j2p -> .jp2.
1 parent df83428 commit a72b596

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

docs/handbook/image-file-formats.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -552,12 +552,13 @@ JPEG 2000
552552

553553
.. versionadded:: 2.4.0
554554

555-
Pillow reads and writes JPEG 2000 files containing ``L``, ``LA``, ``RGB`` or
556-
``RGBA`` data. It can also read files containing ``YCbCr`` data, which it
557-
converts on read into ``RGB`` or ``RGBA`` depending on whether or not there is
558-
an alpha channel. Pillow supports JPEG 2000 raw codestreams (``.j2k`` files),
559-
as well as boxed JPEG 2000 files (``.j2p`` or ``.jpx`` files). Pillow does
560-
*not* support files whose components have different sampling frequencies.
555+
Pillow reads and writes JPEG 2000 files containing ``L``, ``LA``, ``RGB``,
556+
``RGBA``, or ``YCbCr`` data. When reading, ``YCbCr`` data is converted to
557+
``RGB`` or ``RGBA`` depending on whether or not there is an alpha channel.
558+
Beginning with version 8.3.0, Pillow can read (but not write) ``RGB``,
559+
``RGBA``, and ``YCbCr`` images with subsampled components. Pillow supports
560+
JPEG 2000 raw codestreams (``.j2k`` files), as well as boxed JPEG 2000 files
561+
(``.jp2`` or ``.jpx`` files).
561562

562563
When loading, if you set the ``mode`` on the image prior to the
563564
:py:meth:`~PIL.Image.Image.load` method being invoked, you can ask Pillow to

0 commit comments

Comments
 (0)