Commit Graph

3404 Commits

Author SHA1 Message Date
Andrew Murray
2e7f40e0b8 Added BC5_SNORM reading 2021-05-18 17:44:21 +10:00
Andrew Murray
68ac6d151e Added BC5_UNORM reading 2021-05-17 18:57:23 +10:00
Hugo van Kemenade
a72ae6823c
Merge pull request #5476 from radarhere/dpi_rounding 2021-05-16 20:00:10 +03:00
Hugo van Kemenade
d53a664866
Merge pull request #5470 from radarhere/wmf_dpi_rounding
Removed WMF DPI rounding
2021-05-16 19:57:14 +03:00
Andrew Murray
78406ed1ff
Merge pull request #5460 from xtsm/ellipse
Remove spikes when drawing thin pieslices
2021-05-14 23:37:11 +10:00
Hugo van Kemenade
f02739715d
Merge pull request #5452 from radarhere/missing_samplesperpixel
Updated default value for SAMPLESPERPIXEL TIFF tag
2021-05-14 16:17:34 +03:00
Andrew Murray
bf97a92bc6 Ensure PNG seeks to end of previous chunk at start of load_end 2021-05-14 13:18:49 +10:00
Andrew Murray
7bfaffd5fa Simplified tests now that casting to float is not needed 2021-05-10 09:36:57 +10:00
Andrew Murray
c04260b3f5 Convert to float for comparison with float in IFDRational __eq__ 2021-05-10 08:36:45 +10:00
Andrew Murray
9bbe53a01d
Merge pull request #5446 from radarhere/tiff_dpi_rounding
Removed TIFF DPI rounding
2021-05-10 08:34:05 +10:00
Hugo van Kemenade
3942eaec18
Merge pull request #5471 from radarhere/webp_error_code 2021-05-09 23:18:49 +03:00
Hugo van Kemenade
79eb24ba34
Merge pull request #5474 from radarhere/stdout 2021-05-09 23:17:23 +03:00
Hugo van Kemenade
649eaae360
Merge pull request #5434 from radarhere/text_alpha 2021-05-09 22:17:58 +03:00
Hugo van Kemenade
23f848ea54
Merge pull request #5443 from radarhere/fp 2021-05-09 20:39:44 +03:00
Andrew Murray
9ac888262a Do not allow TIFF to seek to a past frame 2021-05-08 00:25:47 +10:00
Andrew Murray
18e204df05 Removed DPI rounding from JPEG loading 2021-05-07 21:23:29 +10:00
Andrew Murray
0de3beaeaf Removed DPI rounding when BMP loading 2021-05-07 20:50:18 +10:00
Andrew Murray
9d72542c08 Removed DPI rounding from PNG loading 2021-05-07 20:50:01 +10:00
Andrew Murray
e7749abdf9 Corrected error in restoring sys.stdout 2021-05-07 20:44:46 +10:00
Andrew Murray
4080f160b6 Include code in WebP error 2021-05-07 00:12:03 +10:00
Andrew Murray
b9c571a328 Removed WMF DPI rounding 2021-05-06 20:08:54 +10:00
Andrew Murray
6fc039a21c Updated default value for SAMPLESPERPIXEL tag 2021-05-04 16:50:12 +10:00
Hugo van Kemenade
20b8a83773
Merge pull request #5437 from radarhere/stdout 2021-05-03 11:57:46 +03:00
Andrew Murray
0f68e63793 Allow for sys.stdout.buffer to be missing 2021-05-03 18:07:05 +10:00
Hugo van Kemenade
d2f2fbacaa
Merge pull request #5426 from radarhere/undefined_zero
Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip
2021-05-03 09:07:32 +03:00
Stanislau Tsitsianok
ca67a0c1a2
Added test for #5432 2021-05-02 17:12:27 +03:00
Hugo van Kemenade
0836e388e8
Merge pull request #5459 from radarhere/pdf_float
Do not round dimensions when saving PDF
2021-05-02 11:16:34 +03:00
Hugo van Kemenade
8a8ac60817
Merge pull request #5417 from radarhere/contain
Added ImageOps contain()
2021-05-01 18:44:37 +03:00
Andrew Murray
d22fe41776 Reorganised test to use parametrize 2021-05-01 22:36:12 +10:00
Andrew Murray
bc935f9970 Do not round dimensions when saving PDF 2021-05-01 12:13:09 +10:00
Andrew Murray
8bc19ac78c Do not alter pixels outside mask when drawing text on an image with transparency 2021-04-29 23:08:25 +10:00
Andrew Murray
b78cf8cd75 Added state methods to allow pickling of IFDRational 2021-04-29 22:47:44 +10:00
Andrew Murray
537cd7a82e Removed TIFF DPI rounding 2021-04-29 22:47:44 +10:00
Andrew Murray
fd299e36ce Reset handle when seeking backwards as well 2021-04-29 22:47:20 +10:00
Andrew Murray
9c06ce044c Changed PSDraw default from sys.stdout to sys.stdout.buffer 2021-04-29 21:35:57 +10:00
Andrew Murray
fae9afe351 Replace sys.stdout with sys.stdout.buffer when saving 2021-04-29 21:35:57 +10:00
Andrew Murray
622ba122ce Added Exif load_from_fp method to get TIFF tag_v2 data 2021-04-29 21:21:55 +10:00
Andrew Murray
976d9fa347 Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip 2021-04-29 21:21:09 +10:00
Hugo van Kemenade
dc817ead76
Merge pull request #5430 from radarhere/pdf_1
Switched to saving 1-bit PDFs with DCTDecode
2021-04-25 15:29:34 +03:00
Hugo van Kemenade
6461dd63b3
Merge pull request #5429 from radarhere/ico
Use bpp from ICO header
2021-04-25 12:07:38 +03:00
Hugo van Kemenade
d3a3b6dddb
Merge pull request #5408 from radarhere/indexerror
Corrected JPEG APP14 transform value
2021-04-25 11:36:40 +03:00
Hugo van Kemenade
23efd39b99
Merge pull request #5425 from radarhere/iptc
Changed TIFF tag 33723 length to 1
2021-04-25 11:23:52 +03:00
Hugo van Kemenade
b09a9210d4
Merge pull request #5414 from radarhere/morph
Changed ImageMorph incorrect mode errors to ValueError
2021-04-23 16:52:55 +03:00
Andrew Murray
d62be3e354 Switched to saving 1-bit PDFs with DCTDecode 2021-04-22 22:16:21 +10:00
Andrew Murray
900b849aa8 Use bpp from header 2021-04-22 21:18:21 +10:00
Andrew Murray
6b098a2c34 Changed TIFF tag 33723 length to 1 2021-04-21 22:37:47 +10:00
Andrew Murray
6967f3519f Test when "adobe_transform" is unable to be read 2021-04-20 20:53:50 +10:00
Andrew Murray
8d52181123 Corrected test 2021-04-20 20:24:50 +10:00
Hugo van Kemenade
bb5a34fcb0
Merge pull request #5391 from radarhere/gif_disposal
Treat previous contents of first GIF frame as transparent
2021-04-20 13:23:11 +03:00
Hugo van Kemenade
d2e73b0304
Merge pull request #5411 from radarhere/resize_default
For special image modes, revert default resize resampling to NEAREST
2021-04-19 17:57:46 +03:00
Andrew Murray
40eceec70d Added contain method 2021-04-19 20:12:52 +10:00
Hugo van Kemenade
fc08a72600
Merge pull request #5400 from radarhere/mapdepth_16
Changed mode for TGA 16-bit palette to BGR;15
2021-04-18 13:00:29 +03:00
Hugo van Kemenade
50fdc151ea
Merge pull request #5396 from radarhere/mapdepth
TGA color map entry size is only 1 byte
2021-04-18 12:57:58 +03:00
Andrew Murray
7e4fd9d845 Changed incorrect mode errors to ValueError 2021-04-18 14:47:05 +10:00
Hugo van Kemenade
197673b9b2
Merge pull request #4996 from nulano/jp2-decode-subsample 2021-04-17 21:42:17 +03:00
Andrew Murray
7c0344bb99 For special image modes, revert default resize resampling to NEAREST 2021-04-17 12:18:42 +10:00
Andrew Murray
4351c37fc4 Corrected adobe_transform value 2021-04-15 21:49:51 +10:00
Andrew Murray
1e074f5040
Merge pull request #4144 from jansol/master
Stop decoding BC1 punchthrough alpha in BC2&3
2021-04-15 20:24:52 +10:00
Andrew Murray
a47072bcbe Treat previous contents of first frame as transparent 2021-04-15 19:01:12 +10:00
Hugo van Kemenade
2f5687f886
Merge pull request #5390 from radarhere/gif_missing_background
Use zero if GIF background color index is missing
2021-04-15 11:57:31 +03:00
Hugo van Kemenade
0cc2943aef
Merge pull request #5386 from radarhere/previous_frame_loaded
Fixed ensuring that GIF previous frame was loaded
2021-04-15 10:47:44 +03:00
Andrew Murray
4dde8109d7 Resolved FIXME by reading mandatory FITS header items 2021-04-14 22:48:27 +10:00
Andrew Murray
2cb1d056c0 Merge branch 'master' into jp2-decode-subsample 2021-04-11 12:49:10 +10:00
Andrew Murray
c5f886958a Merge branch 'master' into quant 2021-04-11 12:41:48 +10:00
Andrew Murray
a3dbee9f08 Cover horizontal lines both increasing in x 2021-04-11 12:41:33 +10:00
Andrew Murray
006de79d60 Use assert_image_equal_tofile 2021-04-11 12:41:33 +10:00
Tsung-Po Sun
9a4b1301de Modify test code 2021-04-11 12:41:33 +10:00
Tsung-Po Sun
87e7e88591 fix lint 2021-04-11 12:41:32 +10:00
Tsung-Po Sun
df0273e024 Reformat 2021-04-11 12:41:32 +10:00
Tsung-Po Sun
324d934128 Remove spaces 2021-04-11 12:41:32 +10:00
Tsung-Po Sun
824d2fa4f3 Add test 2021-04-11 12:41:32 +10:00
wiredfool
fe668716ed
Merge pull request #5397 from wiredfool/valgrind_fixes
Valgrind fixes
2021-04-10 19:15:17 +01:00
Eric Soroos
1c872a9eda lint stuff 2021-04-10 16:58:01 +02:00
Andrew Murray
fc64064387 Changed mode for 16-bit palette to BGR;15 2021-04-10 22:11:20 +10:00
Eric Soroos
af6fb9c518 xfail the fuzzer check as well 2021-04-10 12:03:39 +02:00
Eric Soroos
c94f66ad13 make sure we return a mark decorator 2021-04-10 12:03:15 +02:00
Eric Soroos
a3a69c8385 conditional mark for valgrind ignore 2021-04-09 23:53:24 +02:00
Andrew Murray
356681faae
Merge pull request #5393 from hugovk/test-redos
Add test for CVE-2021-25292 ReDoS
2021-04-09 23:34:11 +10:00
Eric Soroos
43aa6ade6f Local valgrind test target 2021-04-09 13:39:28 +02:00
Andrew Murray
04df6e3bf1 mapdepth is only 1 byte 2021-04-09 21:38:28 +10:00
Andrew Murray
714d6c8cd3 Removed shebang line 2021-04-09 19:10:53 +10:00
Andrew Murray
b8c8375d0c Use python3 in shebang line 2021-04-09 19:10:36 +10:00
Hugo van Kemenade
bde149be38 Add test for CVE-2021-25292 ReDoS 2021-04-08 23:53:22 +03:00
Andrew Murray
3cb2413066 Use zero if background color index is missing 2021-04-08 08:04:20 +10:00
Hugo van Kemenade
75c111903c
Merge pull request #5382 from radarhere/rounded_rectangle
Round down the radius in rounded_rectangle
2021-04-07 19:31:19 +03:00
Andrew Murray
d661e438f6 Fixed ensuring that previous frame was loaded 2021-04-06 19:31:51 +10:00
Andrew Murray
d06871d543 Set mode of three channel uncompressed RGB data to RGB 2021-04-05 17:58:02 +10:00
Andrew Murray
6f87faf0ee Reversed rawmode for uncompressed RGB data 2021-04-05 17:54:34 +10:00
Andrew Murray
92edc29439 Round down the radius in rounded_rectangle 2021-04-05 08:54:06 +10:00
Andrew Murray
d4f9c6e082 Renamed register_open accept methods for consistency 2021-04-03 21:51:23 +11:00
Andrew Murray
77a8a53a94 Allow converting an image to a numpy array to raise errors 2021-04-03 13:20:58 +11:00
Andrew Murray
3c129142c8 Catch OSError 2021-04-03 09:34:56 +11:00
Andrew Murray
39fe85f308
Merge branch 'master' into jp2-decode-subsample 2021-04-03 09:26:55 +11:00
Andrew Murray
6541bd7cb5 Added second attribute to avoid unstable nature of qsort 2021-04-02 04:07:18 +11:00
Hugo van Kemenade
8febdad8dd Review, typos and lint 2021-04-01 17:41:46 +03:00
Eric Soroos
496245aa43 Fix BLP DOS -- CVE-2021-28678
* BlpImagePlugin did not properly check that reads after jumping to
  file offsets returned data. This could lead to a DOS where the
  decoder could be run a large number of times on empty data
* This dates to Pillow 5.1.0
2021-04-01 17:17:35 +03:00
Eric Soroos
22e9bee4ef Fix DOS in PSDImagePlugin -- CVE-2021-28675
* PSDImagePlugin did not sanity check the number of input layers and
  vs the size of the data block, this could lead to a DOS on
  Image.open prior to Image.load.
* This issue dates to the PIL fork
2021-04-01 17:17:31 +03:00
Eric Soroos
ba65f0b08e Fix Memory DOS in ImageFont
* A corrupt or specially crafted TTF font could have font metrics that
  lead to unreasonably large sizes when rendering text in
  font. ImageFont.py did not check the image size before allocating
  memory for it.
* Found with oss-fuzz
* This dates from the PIL fork
2021-04-01 17:17:27 +03:00
Eric Soroos
bb6c11fb88 Fix FLI DOS -- CVE-2021-28676
* FliDecode did not properly check that the block advance was
  non-zero, potentally leading to an infinite loop on load.
* This dates to the PIL Fork
* Found with oss-fuzz
2021-04-01 17:17:23 +03:00
Eric Soroos
5a5e6db0ab Fix EPS DOS on _open -- CVE-2021-28677
* The readline used in EPS has to deal with any combination of \r and
  \n as line endings. It used an accidentally quadratic method of
  accumulating lines while looking for a line ending.
* A malicious EPS file could use this to perform a DOS of Pillow in
  the open phase, before an image was accepted for opening.
* This dates to the PIL Fork
2021-04-01 17:17:18 +03:00
Eric Soroos
3bf5eddb89 Fix OOB Read in Jpeg2KDecode CVE-2021-25287,CVE-2021-25288
* For J2k images with multiple bands, it's legal in to have different
  widths for each band, e.g. 1 byte for L, 4 bytes for A
* This dates to Pillow 2.4.0
2021-04-01 17:17:13 +03:00
Andrew Murray
2c8684c525 Moved getxmp() into JpegImageFile 2021-04-01 22:28:37 +11:00
Hugo van Kemenade
6812205f18
Merge pull request #5144 from UrielMaD/feature_xmp 2021-04-01 12:44:47 +03:00
Hugo van Kemenade
b90c73f08d
Merge pull request #5373 from wiredfool/valgrind_test_warnings
Fix pytest valgrind warnings
2021-04-01 12:17:50 +03:00
Hugo van Kemenade
8c852e44f0
Merge pull request #5349 from latosha-maltba/master 2021-04-01 11:55:37 +03:00
Andrew Murray
37f9fcf93b Removed unused imports 2021-04-01 12:57:34 +11:00
Eric Soroos
87934e22d0 Fix for crash-0da0 2021-03-31 23:24:30 +02:00
Eric Soroos
53c80281d7 fix for crash-8115 2021-03-31 22:23:57 +02:00
Eric Soroos
45530d5ce1 fixes crash-74d2 2021-03-31 22:23:57 +02:00
Eric Soroos
22a6893364 Fix pytest valgrind warnings 2021-03-31 21:28:15 +02:00
Hugo van Kemenade
c54a7bb031
Merge pull request #5333 from radarhere/gif_frame_transparency 2021-03-31 18:08:11 +03:00
Hugo van Kemenade
727533148e
Merge pull request #5282 from radarhere/quantize
Set all transparent colors to be equal in quantize()
2021-03-31 17:58:21 +03:00
Hugo van Kemenade
683affa29c
Merge pull request #5206 from radarhere/numpy 2021-03-31 17:46:32 +03:00
Andrew Murray
b0b4fee796
Merge pull request #5350 from elejke/master
Add preserve_tone option to autocontrast
2021-03-30 07:59:57 +11:00
Andrew Murray
7844c6e483 Test that preserve_tone changes RGB images but not L images 2021-03-29 23:26:34 +11:00
wiredfool
9a683db339
Merge pull request #5274 from radarhere/gradient
Fixed linear_gradient and radial_gradient I and F modes
2021-03-28 14:35:22 +01:00
wiredfool
d0612030a0
Merge pull request #5364 from wiredfool/4641_merge
Add support for reading TIFFs with PlanarConfiguration=2
2021-03-28 14:33:42 +01:00
wiredfool
611a6d2330
Merge pull request #5328 from wiredfool/oss-fuzz
More OSS-Fuzz support
2021-03-28 14:19:29 +01:00
Konstantin Kopachev
4c2dfadf26 Swap pixel values on Big Endian 2021-03-28 15:03:37 +02:00
Konstantin Kopachev
169bb4842f only use TIFFReadRGBA* in case of o_jpeg compression 2021-03-28 15:03:37 +02:00
nulano
671837840a the previous commit also fixes these big-endian failures 2021-03-28 15:03:37 +02:00
Konstantin Kopachev
0018685a8e Add Tests and support for Planar Tiff Images 2021-03-28 15:03:37 +02:00
German Novikov
d18e55013d
Update Tests/test_imageops.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-28 15:02:52 +03:00
Eric Soroos
bf8cebc96d Add libxcb to fuzzers 2021-03-28 13:49:37 +02:00
Hugo van Kemenade
e405ab300b
Merge pull request #5351 from radarhere/categories 2021-03-28 14:34:50 +03:00
Andrew Murray
71cd97a519 Added deprecation warnings 2021-03-28 15:51:28 +11:00
Ondrej Baranovič
9872d57e3b
corrected comment 2021-03-27 02:06:36 +01:00
German Novikov
977e64fb61
Update Tests/test_imageops.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-25 14:56:30 +03:00
nulano
49fa3656b1 do not premultiply alpha when resizing with Image.NEAREST resampling 2021-03-23 13:16:20 +01:00
elejke
694d70bdc3 fixed typos in test for autocolor tone preserving 2021-03-23 13:09:51 +03:00
Andrew Murray
4a0698838d Parametrized test 2021-03-23 20:08:18 +11:00
elejke
8913166c7e fix test function name for autocontrast 2021-03-23 11:59:37 +03:00
Latosha Maltba
52794432f0 Make code for ImageMagick/GraphicsMagick more symmetric 2021-03-22 19:50:06 +00:00
Andrew Murray
35943372f0 Removed CONVERT helper variables 2021-03-22 19:50:06 +00:00
elejke
f73d238cd2 removed redundant comments in tests for tone preserving autocolor 2021-03-22 15:30:43 +03:00
German Novikov
25403063ea
Update Tests/test_imageops.py
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2021-03-22 15:27:13 +03:00
elejke
b4e5a6d202 add more tests for autocontrast preserve tone option 2021-03-22 12:06:44 +03:00
elejke
c585e6ab6b Add preserve_tone option to autocontrast 2021-03-21 21:15:13 +03:00
Hugo van Kemenade
ddcc936643
Merge pull request #5330 from radarhere/png_plte
Allow fewer PNG palette entries than the bit depth maximum when saving
2021-03-21 17:31:35 +02:00
Latosha Maltba
ef864d72f1 TestSuite: Add support for GraphicsMagick
Add support to run the tests using GraphicsMagick's "gm convert" instead
of ImageMagick's "convert".
2021-03-21 14:36:18 +00:00
Hugo van Kemenade
688e6f163f
Merge pull request #5338 from radarhere/webp_save_duration
Use duration from info dictionary when saving WebP
2021-03-21 11:35:28 +02:00
Andrew Murray
754752e78f Allow fewer palette entries than the bit depth maximum 2021-03-21 09:22:01 +11:00
Hugo van Kemenade
7235cf3135
Merge pull request #5345 from radarhere/tofile
Increased use of assert_image_equal_tofile
2021-03-21 00:05:28 +02:00
Hugo van Kemenade
e1e9569d8a
Merge pull request #5331 from radarhere/png_bits
Added test for saving PNG with bits keyword
2021-03-20 23:25:24 +02:00
Andrew Murray
6591297239 Increased use of assert_image_equal_tofile 2021-03-20 22:32:27 +11:00
Hugo van Kemenade
5a209081b2
Merge pull request #4947 from radarhere/exif 2021-03-19 21:26:33 +02:00
Andrew Murray
298600381f Replaced tiff_deflate with tiff_adobe_deflate compression when saving 2021-03-19 12:00:29 +11:00
Andrew Murray
94df4ec1c9
Lint fix 2021-03-17 23:16:35 +11:00
Andrew Murray
1d8c5a820c Use duration from info dictionary when saving 2021-03-17 20:37:31 +11:00
Andrew Murray
b216b367ac Only set info transparency on first frame 2021-03-17 00:24:57 +11:00