Commit Graph

3330 Commits

Author SHA1 Message Date
Benjamin Gilbert
4d7372bfd0 Implement streamtype=1 option for tables-only JPEG encoding
We already support streamtype=2 to skip producing JPEG tables, but
streamtype=1, which skips everything but the tables, was never implemented.
The streamtype=1 stub code dates to Git pre-history, so it's not
immediately clear why.  Implement the missing support.

jpeg_write_tables() can't resume after a full output buffer (it fails with
JERR_CANT_SUSPEND), so it might seem that Pillow needs to pre-compute the
necessary buffer size.  However, in the normal case of producing an
interchange stream, the tables are written via the same libjpeg codepath
during the first jpeg_write_scanlines() call, and table writes aren't
resumable there either.  Thus, any buffer large enough for the normal case
will also be large enough for a tables-only file.

The streamtype option isn't documented and this commit doesn't change that.
It does add a test though.

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-10-24 20:30:45 -05:00
Andrew Murray
91f115bead Fixed im.frombytes() for images with a zero dimension 2023-10-25 08:52:26 +11:00
Andrew Murray
5071692039 Fixed Image.frombytes() for images with a zero dimension 2023-10-25 08:52:06 +11:00
Yay295
6ddf10c747
use format string instead of concatenation
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-10-23 21:46:54 -05:00
Yay295
ef46608974
add mode to error message 2023-10-23 19:26:08 -05:00
Andrew Murray
12e41e84cd Simplified creating raw tiles 2023-10-21 19:12:52 +11:00
Andrew Murray
8fbb610378 Derive bit count from number of modes 2023-10-21 17:33:04 +11:00
Andrew Murray
4a4a1ee6ad Simplified tile creation 2023-10-21 16:03:21 +11:00
Andrew Murray
a54d28a7bc Merge branch 'main' into improved_dds 2023-10-21 14:27:31 +11:00
Andrew Murray
935958c990 Removed unnecessary casting to enums 2023-10-21 14:27:23 +11:00
Andrew Murray
19aeed07bf Merge branch 'main' into gray 2023-10-20 07:47:17 +11:00
Andrew Murray
d682c18ded Use "gray" more consistently 2023-10-19 19:12:01 +11:00
Andrew Murray
8b71f3d3c1 Added messages to errors 2023-10-19 18:42:41 +11:00
Andrew Murray
51f7359c94 Loop over enums to create constants 2023-10-17 19:50:17 +11:00
Andrew Murray
5e9a2e3000 Renamed "tile_args" to "args" for consistency with existing ImageFile variable 2023-10-17 19:10:24 +11:00
Hugo van Kemenade
0be67e5544 10.2.0.dev0 version bump 2023-10-15 16:05:50 +03:00
Hugo van Kemenade
da59ad000d 10.1.0 version bump 2023-10-15 11:59:17 +03:00
Andrew Murray
c2d50881ee Added documentation 2023-10-14 11:01:57 +11:00
Andrew Murray
0da7ad7c48 Merge branch 'main' into load_default 2023-10-14 10:33:50 +11:00
Hugo van Kemenade
ebefb5f1e0
Merge pull request #7442 from radarhere/warning 2023-10-14 01:30:59 +02:00
Hugo van Kemenade
8e5570e23b
Merge pull request #7444 from radarhere/bgr 2023-10-14 01:30:31 +02:00
mergify[bot]
a4bc7146e5
Merge pull request #7412 from radarhere/cover
Added ImageOps cover method
2023-10-13 22:16:30 +00:00
Hugo van Kemenade
ff37a5be37
Merge pull request #7458 from radarhere/truncated_exif 2023-10-13 23:49:55 +02:00
Hugo van Kemenade
101154e0d5
Merge pull request #7437 from radarhere/apng 2023-10-13 23:48:22 +02:00
Hugo van Kemenade
810f5f06c4
Merge branch 'main' into cover 2023-10-13 23:42:06 +02:00
Andrew Murray
31df7b1655 Use new() instead of Image()._new() 2023-10-13 15:41:26 +11:00
REDxEYE
69b922d138 Replace self.mode with self._mode 2023-10-12 22:26:00 +03:00
REDxEYE
2a6bcc18fe Add missing annotation import 2023-10-12 22:19:39 +03:00
pre-commit-ci[bot]
bc6c973e2d [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-10-12 16:19:24 +00:00
REDxEYE
6dd565b4a3 Merge remote-tracking branch 'pillow/main' into improved_dds
# Conflicts:
#	Tests/test_file_dds.py
#	src/PIL/DdsImagePlugin.py
2023-10-12 19:15:06 +03:00
REDxEYE
a5dde8b1c4 Apply suggestion for PR 2023-10-12 19:09:28 +03:00
Andrew Murray
7319d86328 Catch struct.error from truncated EXIF when reading DPI 2023-10-12 10:13:46 +11:00
Andrew Murray
ceca12e876
Restored comment 2023-10-07 07:00:29 +00:00
Andrew Murray
d9283fd1f8
Use default value
Co-authored-by: Alexander Karpinsky <homm86@gmail.com>
2023-10-07 17:09:17 +11:00
Andrew Murray
57c1cf603e Fixed may be used uninitialized warning 2023-10-07 01:15:04 +11:00
Andrew Murray
4e7f61f459
Merge branch 'main' into bgr 2023-10-06 18:50:25 +11:00
Hugo van Kemenade
5957f109a5
Merge pull request #7310 from radarhere/cmyk2rgb 2023-10-06 01:43:50 -06:00
Andrew Murray
f24222a954 Merge branch 'main' into jpeg_xmp 2023-10-06 17:23:53 +11:00
Hugo van Kemenade
7b17f9bbb4
Merge pull request #7415 from radarhere/tiff 2023-10-06 00:11:18 -06:00
Andrew Murray
b8c30655cc Include CMYK to RGB convert as unpacker 2023-10-06 16:05:03 +11:00
Andrew Murray
787daa9f19 Merge branch 'main' into cmyk2rgb 2023-10-06 15:52:32 +11:00
Andrew Murray
2d9c4e663f
Merge pull request #7302 from radarhere/png_i16
Allow saving I;16B images as PNG
2023-10-06 15:45:58 +11:00
Andrew Murray
7394e5083d
Merge branch 'main' into tiff 2023-10-06 11:40:05 +11:00
Hugo van Kemenade
6f73691564
Merge pull request #7257 from radarhere/i16_point 2023-10-05 12:54:25 -06:00
Hugo van Kemenade
09605ff48e
Merge pull request #7413 from radarhere/bc5s 2023-10-05 09:48:12 -06:00
Hugo van Kemenade
0c55a2d864
Merge pull request #7319 from radarhere/iptc 2023-10-05 09:44:56 -06:00
Hugo van Kemenade
5f04b3d278
Merge pull request #7289 from radarhere/undefined_palette 2023-10-05 09:31:02 -06:00
Hugo van Kemenade
4d66f9396b
Merge pull request #7247 from radarhere/getmask2_max_image_pixels 2023-10-05 09:28:04 -06:00
Hugo van Kemenade
0a432541ae
Merge pull request #7392 from radarhere/eps 2023-10-05 09:27:06 -06:00
Andrew Murray
29d23cfe07 Fixed invalid argument warning 2023-10-04 13:56:58 +11:00
Andrew Murray
c9ba107c2c Palette is unneeded as RGB to P conversion will not occur 2023-10-02 19:08:17 +11:00
Andrew Murray
b98dc8abe1 Consider default image when selecting mode for PNG save_all 2023-10-02 19:07:56 +11:00
Andrew Murray
60d88389ae Removed unused code 2023-10-02 11:11:35 +11:00
Andrew Murray
43e6826199
Merge pull request #7382 from nopperl/parse-eps-trailer
Read bounding box information from the trailer of EPS files if specified
2023-10-02 09:53:35 +11:00
Hugo van Kemenade
c2f7ea59b9
Merge pull request #7426 from radarhere/dds_palette 2023-09-30 14:40:17 -06:00
Andrew Murray
955b2d553c
Merge branch 'main' into cover 2023-09-30 19:04:22 +10:00
Hugo van Kemenade
8cb1e29491
Merge pull request #7420 from radarhere/transparency 2023-09-30 02:53:22 -06:00
Andrew Murray
620098571a
Corrected comment priority 2023-09-30 07:54:39 +00:00
Hugo van Kemenade
99e11f9e08
Merge pull request #7406 from radarhere/webp 2023-09-28 14:25:34 -06:00
Andrew Murray
cd4adb1677 Added reading 8-bit color images 2023-09-27 19:41:45 +10:00
Andrew Murray
e27d7a6f84 Changed has_transparency_data() to property 2023-09-26 20:14:22 +10:00
Andrew Murray
1c30809245 Allow for LA or PA in the future 2023-09-26 20:10:52 +10:00
Andrew Murray
faa66eaa6c
Added type hint
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-26 20:10:12 +10:00
Hugo van Kemenade
f76b63d016 Add end-of-file-fixer to pre-commit 2023-09-25 16:45:38 +03:00
Hugo van Kemenade
507b7d519a Fix LOG011 avoid pre-formatting log messages 2023-09-25 16:45:38 +03:00
Hugo van Kemenade
0d1e83098d Add pyupgrade to pre-commit 2023-09-25 16:45:38 +03:00
Andrew Murray
ad12caecda Convert RGBA palette to RGBA image when saving WebP 2023-09-25 20:28:25 +10:00
Andrew Murray
6bbed1add0 Added has_transparency_data() 2023-09-25 20:10:44 +10:00
Andrew Murray
d919942f8e Last trailer comment has priority 2023-09-22 18:36:52 +10:00
Andrew Murray
9de4b72c97 Trailer is not in header, ImageData or itself 2023-09-22 18:26:50 +10:00
Andrew Murray
094f23dd5c EOF ends not just the trailer, but also the file 2023-09-22 18:26:41 +10:00
Andrew Murray
8064adad7a Reduced duplicate code 2023-09-22 17:58:11 +10:00
Andrew Murray
4c9c7636be Merge branch 'main' into parse-eps-trailer 2023-09-22 16:16:26 +10:00
Andrew Murray
616ed35e74 Support reading 8-bit YCbCr TIFF images 2023-09-21 20:53:23 +10:00
Andrew Murray
352bcaac74 Set blue channel to 128 for BC5S 2023-09-21 16:38:45 +10:00
Andrew Murray
e57b08affd Move strcmp outside of while loops 2023-09-21 16:38:19 +10:00
Andrew Murray
80dbd3b193 Added ImageOps cover method 2023-09-21 11:54:36 +10:00
Andrew Murray
9632195747 Merge branch 'main' into webp 2023-09-20 22:31:16 +10:00
Andrew Murray
8d81fd98a6
Merge pull request #7401 from radarhere/bc5s
Fixed bug when reading BC5S DDS images
2023-09-20 18:28:46 +10:00
Andrew Murray
26c4798707 Revert "Merge pull request #7311 from k128/main"
This reverts commit 39d866b17d, reversing
changes made to f39f74fb82.
2023-09-18 20:34:05 +10:00
Andrew Murray
96e3534034 Corrected converting signed values to unsigned in BC5S 2023-09-16 13:53:10 +10:00
Andrew Murray
cabfed9137 Describe Image.MIME in register_mime() 2023-09-16 09:34:17 +10:00
Andrew Murray
cee8fd0788 Improved init() and preinit() documentation 2023-09-16 09:34:04 +10:00
Andrew Murray
a84a43528e Added gs_binary to control Ghostscript use on all platforms 2023-09-12 19:46:46 +10:00
Andrew Murray
f225130ee5 Only search for Ghostscript Windows binary when needed 2023-09-12 19:08:30 +10:00
Andrew Murray
1217b13b9e Handle tag_v2 in TiffImagePlugin 2023-09-11 19:02:17 +10:00
Andrew Murray
d0abab7997 When orientation is applied, delete TIFF tag 2023-09-08 15:05:53 +10:00
Andrew Murray
e195e60ce2 Ensure TIFF has transposed on load before checking orientation 2023-09-08 15:05:48 +10:00
Andrew Murray
ea953c0514 When TIFF applies orientation on load, delete tag from getexif() 2023-09-08 15:05:36 +10:00
pre-commit-ci[bot]
794a1d7ff2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-07 18:36:32 +00:00
nopperl
12d8b439d5 Read bounding box information from the trailer of EPS files if specified 2023-09-07 20:20:35 +02:00
Hugo van Kemenade
faa2375f81
Merge pull request #7357 from radarhere/qoi 2023-09-04 09:55:29 -06:00
Hugo van Kemenade
10d45950ae
Merge pull request #7358 from radarhere/bc5u 2023-09-04 09:54:52 -06:00
Andrew Murray
51a6d45566 Map buffer into (0, 0) image 2023-08-31 16:31:45 +10:00
Andrew Murray
2b9217bba8 Added BC5U reading 2023-08-31 12:13:35 +10:00
Andrew Murray
7bf7ff8217 Use previous pixel alpha for QOI_OP_RGB 2023-08-31 09:27:33 +10:00
Andrew Murray
f9f367fe54
Always cast to a tuple
Co-authored-by: Alexander Karpinsky <homm86@gmail.com>
2023-08-30 07:27:09 +10:00
Andrew Murray
69a81dd867 Convert list to tuple in Python instead of C 2023-08-28 22:43:20 +10:00
Andrew Murray
d8c3135b6b Allow getpixel to accept a list 2023-08-28 20:12:23 +10:00
Andrew Murray
b1f5ee9043 Added font_size keyword arguments to ImageDraw text methods 2023-08-26 17:01:15 +10:00