Eric Soroos
c66d8aa754
Fli issue 1
2020-04-01 09:52:40 +03:00
Hugo van Kemenade
c6115c1ceb
Merge pull request #4230 from dwastberg/new_chops
...
Added three new channel operations
2020-03-31 10:24:44 +03:00
Hugo van Kemenade
332e3923cb
Merge pull request #4457 from radarhere/endian
...
Fixed endian handling for I;16 getextrema
2020-03-25 23:32:37 +02:00
Andrew Murray
42a0653097
Fixed endian handling for I;16 getextrema
2020-02-29 20:29:28 +11:00
Andrew Murray
b934b50867
If an alpha channel is present, only use that to get bounding box
2020-02-28 22:33:02 +11:00
Andrew Murray
a8c0794107
Allow saving of zero quality JPEG images
2020-02-21 22:05:44 +11:00
dwastberg
7d5ab9f1d4
Remove old code
2020-02-19 19:37:34 +11:00
Dag Wästberg
705140cc2c
add hardlight and softlight chops
2020-02-19 19:30:59 +11:00
Dag Wästberg
13c1b7070d
add Overlay chop
2020-02-19 19:24:36 +11:00
Dag Wästberg
5e5dfbad81
add hardlight and softlight chops
2020-02-19 19:23:09 +11:00
Andrew Murray
74351dc692
Fixed sign comparison warnings
2020-02-15 22:13:23 +11:00
Hugo van Kemenade
c57e4b3a85
Merge pull request #4333 from radarhere/polygon
...
Only draw each polygon pixel once
2020-02-15 11:57:14 +02:00
Alexey Moiseitsev
4437a81968
Avoid undefined signed overflow
2020-02-03 14:13:16 +03:00
Andrew Murray
d24e4f44c1
Fixed typo
2020-01-09 20:00:32 +11:00
Andrew Murray
8e8f63d4a5
Only draw each polygon pixel once
2020-01-05 17:43:51 +11:00
Andrew Murray
b9c68540dc
Overflow checks for realloc for tiff decoding
2020-01-02 15:24:46 +11:00
Andrew Murray
be44f0d992
Catch SGI buffer overruns
2020-01-02 15:24:36 +11:00
Andrew Murray
8f0c8f7311
Catch PCX P mode buffer overrun
2020-01-02 15:24:16 +11:00
Andrew Murray
c40bc25847
Catch FLI buffer overrun
2020-01-02 15:23:36 +11:00
Alexander
d68147ce89
Fix rounding error on RGB to L conversion
2019-12-31 03:35:47 +03:00
Alexander
d41f2713b6
Merge branch 'master' into reduce
2019-12-20 20:22:36 +03:00
Alexander
5b53b0489b
Define box filter equal 1.0 on (-0.5, 0.5] range instead of [-0.5, 0.5)
2019-12-19 03:01:02 +03:00
Alexander
e54b9b3720
turn on ImagingReduce5x5 special case
2019-12-05 22:13:25 +03:00
Alexander
5283141417
Merge branch 'master' into reduce
2019-12-05 14:23:28 +03:00
Alexander
b23625172f
add box parameter to all optimized versions
2019-12-05 00:47:15 +03:00
Alexander
778b5f9fed
add box parameter
2019-12-04 23:13:20 +03:00
Alexander
cc30b1e55a
Add La mode packing and unpacking
2019-12-04 22:58:09 +03:00
Alexander
a4a6a9e83a
Add La mode packing and unpacking
2019-12-04 22:47:15 +03:00
Alexander
d92c58fa7f
I mode support
2019-12-01 22:52:43 +03:00
Alexander
a576b14056
F mode support
2019-12-01 22:28:16 +03:00
Alexander Karpinsky
d970a39840
Special cases:
...
ImagingReduce1x2, ImagingReduce1x3, ImagingReduce2x1, ImagingReduce3x1
2019-12-01 21:41:15 +03:00
Alexander
1d1f3be27a
unsupported modes
2019-12-01 20:34:05 +03:00
Alexander
008c1c88e2
L mode support
2019-12-01 20:33:48 +03:00
Alexander
f72d5c0dfd
better branches
2019-12-01 14:38:21 +03:00
Alexander
8b6ad4a471
tests for supported modes
2019-11-26 03:39:57 +03:00
Alexander
7e978ae542
ImagingReduceCorners
2019-11-26 02:45:13 +03:00
Alexander
fba833e1f4
final set of special cases
2019-11-26 01:18:48 +03:00
Alexander
e6c305511e
more special
2019-11-25 05:16:03 +03:00
Alexander
ab25d9f4b5
good balance
2019-11-25 04:20:31 +03:00
Alexander
01094a9649
naive implementation
2019-11-24 17:40:05 +03:00
Alexander
335f5431de
dummy method
2019-11-24 17:39:49 +03:00
Hugo
12a725988e
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-16 17:10:10 +02:00
Andrew Murray
511aed922a
Fixed freeing unallocated pointer when resizing with height too large
2019-10-30 22:09:28 +11:00
Hugo
af770a6c55
Drop support for EOL Python 2.7
2019-10-07 14:30:59 +03:00
Andrew Murray
cc16025e23
Merge pull request #4104 from radarhere/overrun
...
Catch buffer overruns
2019-09-30 23:33:28 +10:00
Andrew Murray
fb8470187a
Merge pull request #4034 from cgohlke/patch-1
...
Initialize rows_per_strip when RowsPerStrip tag is missing
2019-09-30 22:32:34 +10:00
Andrew Murray
ab52630d06
Catch buffer overruns
2019-09-30 18:45:43 +10:00
Andrew Murray
87c43b66a5
Corrected negative seeks
2019-09-30 18:31:18 +10:00
Hugo van Kemenade
f5aed1a254
Merge branch 'master' into patch-1
2019-09-20 22:59:29 +03:00
Andrew Murray
14859ce506
Merge pull request #4004 from radarhere/hsv
...
Improved HSV conversion
2019-09-07 00:50:34 +10:00
Andrew Murray
76e5bd0f0f
Added brackets
2019-09-06 20:07:23 +10:00
Hugo van Kemenade
97f6fc96f2
Merge pull request #4047 from radarhere/modes
...
Documented more limited support modes
2019-09-05 23:20:24 +03:00
Andrew Murray
dea75d1210
Corrected comment
2019-09-05 20:11:02 +10:00
Christoph Gohlke
b37f12a5f8
Initialize rows_per_strip when RowsPerStrip tag is missing
2019-08-20 16:07:07 -07:00
Andrew Murray
8fff9a2444
Fixed arc drawing bug for a non-whole number of degrees
2019-08-12 06:50:58 +10:00
Andrew Murray
27d6fc7bc5
Improved HSV conversion
2019-08-12 06:50:18 +10:00
Hugo
50693f8e59
Added explicit braces ( #3937 )
...
Added explicit braces
2019-07-03 15:05:15 +03:00
Rolf Eike Beer
0e0afd4acf
fix bad loop increments in p2i() and p2f()
...
Fixes: 7a4af2b767
2019-07-01 20:25:52 +02:00
Andrew Murray
8fd1ed9b73
Added explicit braces
2019-07-01 22:07:45 +10:00
Hugo
555e305a60
Merge pull request #3225 from DerDakon/unaligned-access
...
Use explicit memcpy() to avoid unaligned memory accesses
2019-07-01 08:22:18 +03:00
Oliver Tonnhofer
2af4026201
Improve encoding of TIFF tags ( #3861 )
...
* Improve encoding of TIFF tags
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2019-06-30 21:48:19 +03:00
Hugo
12695b8ca3
Merge pull request #3899 from radarhere/pixelsize
...
Consider I;16 pixel size when drawing
2019-06-30 13:18:46 +03:00
Rolf Eike Beer
7a4af2b767
fix unaligned accesses by using memcpy()
2019-06-29 21:04:11 +02:00
Rolf Eike Beer
220bfee19a
replace copy operations with memcpy()
...
This replaces trivial instances where a copy from one pointer to the other
involves no further calculations or casts. The compiler will optimize this to
whatever the platform offers.
2019-06-29 19:30:24 +02:00
Christoph Gohlke
59e1328272
Use unsigned int to store TIFF IFD offsets
2019-06-27 15:30:19 -07:00
Christoph Gohlke
129df60c48
Use unsigned int to store TIFF IFD offsets
2019-06-27 15:09:31 -07:00
Hugo
219f277129
Merge pull request #3858 from kulikjak/master
...
Fix SPARC memory alignment issues in Pack/Unpack functions
2019-06-27 21:27:37 +03:00
Christoph Gohlke
a78341e26c
Fix potential null pointer is passed into memcpy
2019-06-25 14:23:20 -07:00
Andrew Murray
9c37933bb9
Added CMYK;16B and CMYK;16N unpackers
2019-06-23 11:56:17 +10:00
Andrew Murray
e0cbfb2708
Consider I;16 pixel size when drawing
2019-06-23 07:33:55 +10:00
Andrew Murray
8e2f5ddd1d
Changed bits value for XRGB unpackers
2019-06-18 20:43:02 +10:00
Andrew Murray
982f4509eb
Fixed typo
2019-06-12 02:09:26 +10:00
Andrew Murray
231fe4d62a
Revert "Merge pull request #3838 from radarhere/i_conversion"
...
This reverts commit 41f3e7c8bd
, reversing
changes made to 2f84482871
.
2019-06-11 19:28:31 +10:00
Hugo
41f3e7c8bd
Merge pull request #3838 from radarhere/i_conversion
...
Improved I mode conversion
2019-06-05 22:23:35 +03:00
Hugo
2f84482871
Merge pull request #3811 from radarhere/warnings
...
Fixed several warnings
2019-06-05 22:22:14 +03:00
Jakub Kulík
e073f4add0
Fix SPARC memory alignment issues in Pack/Unpack functions
2019-05-20 14:25:27 +02:00
Konstantin Kopachev
5e5ff10f09
Fix bits value for RGB;16N unpackers
2019-05-10 08:07:01 +10:00
Andrew Murray
d30264ec5d
Fixed warnings that variable may be uninitialized
2019-05-09 12:24:27 +10:00
Andrew Murray
1897897921
Fixed several comparison warnings
2019-05-09 12:10:17 +10:00
Andrew Murray
8a035b8c5d
Improved I mode conversion
2019-05-08 21:58:33 +10:00
Hugo
fdcacb6978
Merge pull request #3817 from radarhere/cmyk_16l
...
Added reading of CMYK;16L TIFF images
2019-05-04 18:53:13 +03:00
Hugo
c3ed8cc67e
Fixed ImageDraw arc gaps ( #3824 )
...
Fixed ImageDraw arc gaps
2019-05-04 18:50:07 +03:00
Hugo
ab9a25d623
Merge pull request #3791 from radarhere/int
...
Fixed bug in decoding large images
2019-05-04 16:15:32 +03:00
Andrew Murray
21c7fd251c
Fixed arc gaps
2019-05-03 23:37:37 +10:00
Andrew Murray
ca0d28eae5
Added reading of CMYK;16L TIFF images
2019-05-01 00:42:30 +10:00
Pete Couperus
8473ada61b
Remove Python.h where not needed.
2019-04-18 22:48:32 -07:00
Andrew Murray
ca1cf59251
Changed decode buffer size to Py_ssize_t
2019-04-15 17:33:28 +10:00
Andrew Murray
73cb0ce15f
Fixed numpy bool bug
2019-04-13 00:25:59 +10:00
Andrew Murray
4f3b44960f
Resolved segfaults
2019-04-02 09:25:27 +11:00
Hugo
4f8cfd536b
Merge pull request #3721 from radarhere/quantize
...
Update palette in quantize
2019-03-30 12:07:38 +02:00
Hugo
d4ff547149
Merge pull request #3754 from radarhere/warnings
...
Fixed incompatible pointer type warnings
2019-03-30 12:00:52 +02:00
Andrew Murray
54272c902f
Improved converters
2019-03-30 11:18:08 +11:00
Andrew Murray
819b8acd26
Improved PA conversion
2019-03-29 23:13:07 +11:00
Andrew Murray
cda73633d6
Fixed incompatible pointer type warnings
2019-03-29 21:36:05 +11:00
Hugo
0572983104
Merge pull request #3726 from radarhere/pa
...
Promote P images to PA in putalpha
2019-03-28 11:44:52 +02:00
Andrew Murray
4a5666f1f4
Added transparency for all PNG greyscale modes
2019-03-27 07:41:33 +11:00
Andrew Murray
8ba76f9a10
Added support for I;16 modes for remaining transpose operations
2019-03-23 14:13:39 +11:00
Andrew Murray
f61828acdc
Promote P images to PA in putalpha
2019-03-19 11:13:58 +11:00
Andrew Murray
406d1d4b9a
Merge pull request #3551 from hugovk/rm-quanthash-destroy-funcs
...
Remove unused C hashtable functions
2019-03-16 21:48:49 +11:00
Andrew Murray
5b9c11b426
Update palette in quantize
2019-03-16 13:36:58 +11:00
Andrew Murray
ce9dd67540
Added I;16 PNG save
2019-03-12 17:28:42 +11:00
Konstantin Kopachev
28c6f555a2
Merge remote-tracking branch 'remotes/upstream/master' into tiff-old-jpeg
2019-03-11 10:38:02 -07:00
Andrew Murray
1a7a1123e6
Merge branch 'master' into tiff-old-jpeg
2019-02-15 19:56:17 +11:00
Andrew Murray
7acaf3d6a6
Added support for I;16 modes for more transpose operations
2019-01-10 07:26:52 +11:00
Hugo
0f09274690
Remove more unused hashtable functions
2019-01-05 22:26:35 +02:00
Hugo
f0778ba594
Remove unused hashtable destroy functions
2019-01-05 21:07:11 +02:00
Hugo
78bc4da131
Merge pull request #3350 from radarhere/custom_tags
...
Added custom int and float TIFF tags
2018-12-26 13:07:46 +02:00
Hugo
55e5b7de6c
Merge pull request #3393 from frenzymadness/CWE_fixes_master
...
Fixes for issues reported by static code analysis
2018-12-26 13:02:19 +02:00
Konstantin Kopachev
e91b851fdc
Add reading old-JPEG compressed TIFFs
...
Old-style JPEG compression in TIFFs are able to be read using Strip/Tile APIs. Although, it should be possible to read them using Scanline API, it does not work for some reason. Anyway, reading subsampled YCbCr formats through Strip/Tile/Scanline libtiff API does not de-subsample the data, so caller should unpack data to whatever format is appropriate. New-style JPEG compressed images were already read through libtiff as RGB images (https://github.com/python-pillow/Pillow/pull/3227 ). Unfortunately, there is no flag to ask libtiff to de-subsample old jpeg, but it provides a way to read any image as 32bit RGBA. This commit adds ability to read old-style JPEG TIFFs through reading *all* YCbCr images as RGBX using Tile and Strip reading API. This supersedes previous work (PR #3227 ) to read new-style JPEG-TIFFs.
2018-12-10 10:07:41 -08:00
Andrew Murray
ddf8593e7b
Do not write custom tags with libtiff < 4
2018-11-12 06:14:04 +11:00
Andrew Murray
a3d45e9cef
Added custom int and float TIFF tags
2018-11-12 06:14:04 +11:00
Konstantin Kopachev
28cdb993b9
Convert tabs into spaces [ci skip]
2018-10-19 11:43:22 -07:00
Konstantin Kopachev
2bf3ceee85
Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs
...
JPEG-related tiff pseudo-tags are registered only when tiff image has jpeg compression. Trying to set TIFFTAG_JPEGCOLORMODE on non jpeg-compressed file prints error "Unknown pseudo-tag 65538".
2018-10-18 21:27:51 -07:00
Lumir Balhar
78bf8ea041
Fix potential leaked storage issues (CWE-772)
2018-10-02 14:06:21 +02:00
Lumir Balhar
2e288e74ab
Fix potential un-terminated buffer problem (CWE-120)
2018-10-02 14:06:08 +02:00
Hugo
799133b3a4
Merge pull request #3388 from hugovk/andreas-schwab/master
...
Avoid undefined behaviour due to division by zero
2018-09-29 22:49:44 +03:00
Hugo
d36365f4fb
Merge pull request #3227 from kkopachev/master
...
Adding support to reading tiled and YcbCr jpeg tiffs through libtiff
2018-09-29 19:45:29 +03:00
Hugo
9a0b960762
Re-use count variable
2018-09-29 19:23:49 +03:00
Andreas Schwab
8b34eb644f
Avoid undefined behaviour due to division by zero
2018-09-29 19:23:49 +03:00
Andrew Murray
1e305380ae
Merge pull request #3094 from hugovk/add-width-to-shapes
...
Add line width parameter to rectangle and ellipse-based shapes
2018-09-29 23:21:03 +10:00
Andrew Murray
d6d61b35dc
Only draw pieslice's inner lines once
2018-09-29 21:45:37 +10:00
Konstantin Kopachev
69f315a585
PR feedback: simplified key construct for fillorder=2; indentation fixes
2018-09-26 09:44:45 -07:00
Konstantin Kopachev
300bdaad9e
Bring back YCbCrX in pack and unpack
2018-09-25 11:46:32 -07:00
Konstantin Kopachev
187782470b
Drop YCbCrX(XX) modes, as TIFF does not have to support that
2018-09-18 12:06:27 -07:00
Konstantin Kopachev
c2ac4604bc
move variable declaration
2018-09-18 12:05:50 -07:00
Konstantin Kopachev
f0436a4ddc
Adding support to reading tiled and YcbCr jpegs tiffs through libtiff
2018-09-18 12:05:49 -07:00
Andrew Murray
558e70d8cd
Removed less than condition
2018-09-09 13:57:01 +10:00
Alexander Karpinsky
f7eb11cc3d
Merge branch 'master' into more-tiff-modes
2018-09-05 17:58:31 +03:00
Alexander
accc66fb5e
add support for RGBaXX and RGBaX raw tiff modes
2018-09-05 17:45:03 +03:00
Alexander
ad5cf0a0e2
Add RGBAX and RGBAXX tiff modes
2018-09-05 17:36:27 +03:00
Hugo
fbe5bdb6b6
Also apply width to pieslice's inner lines
2018-09-01 14:40:36 +03:00
Hugo
f70f952f85
Merge branch 'master' into add-width-to-shapes
2018-07-14 14:58:48 +03:00
Andrew Murray
448beaa9aa
Improved wording [ci skip]
2018-07-12 19:48:59 +10:00
Hugo
d6e3ef85c2
Add width parameter to arc, chord, ellipse, pieslice
2018-07-02 11:26:42 +03:00
Hugo
9dedbff713
Add width parameter to rectangle
2018-07-02 11:21:30 +03:00
Hugo
af552801c2
Merge pull request #3186 from danpla/tga-write-rle
...
TGA: Add support for writing RLE data
2018-07-01 22:00:03 +03:00
Hugo
241ea6b283
Merge pull request #3196 from tkoeppe/avg_fix
...
[QuantOctree.c] Remove erroneous attempt to average over an empty range
2018-07-01 21:45:46 +03:00
Hugo
2b09e7fa6a
Merge pull request #3099 from uploadcare/lut-numpy
...
NumPy support for LUTs
2018-07-01 13:18:03 +03:00
Thomas Köppe
6c0d1e0f15
[QuantOctree.c] Remove erroneous attempt to average over an empty range.
2018-06-21 12:45:54 +01:00
Daniel Plakhotich
1d20056234
TGA: Add support for writing RLE data
2018-06-15 23:01:06 +03:00
Andrew Murray
8d8d00f304
Changed ellipse point calculations to be more evenly distributed
2018-05-27 15:32:22 +10:00
Andrew Murray
765a6c7e74
Updated redirected URLs
2018-04-30 14:20:32 +10:00
Andrew Murray
f77adb5ab3
Replaced broken URLs with archive URLs
2018-04-30 11:01:09 +10:00
Andrew Murray
57c7a51b51
Renamed CLIP to CLIP8
2018-04-21 18:14:05 +10:00
Andrew Murray
99dcc57720
Moved CLIP definitions into ImagingUtils.h
2018-04-21 16:35:58 +10:00
Andrew Murray
eebe3ea923
Corrected undefined behaviour
2018-04-21 13:42:39 +10:00
Alexander
497e9d8251
full buffer support
2018-04-15 00:33:15 +03:00
Alexander
2c87242027
Support for many many LUT source on C level
2018-04-14 23:12:28 +03:00
Andrew Murray
032027303f
Fixed typo
2018-04-11 13:46:42 +10:00
Alexander Karpinsky
e24fad40ad
Merge pull request #3056 from uploadcare/color-LUT
...
3D Color lookup tables
2018-04-09 10:41:44 +03:00
Jon Dufresne
b56fe11086
Remove unnecessary #if 1
directive
...
The preprocessor directive `#if 1` always evaluates as true, so the
enclosed code is always compiled.
The directive has existed since the original fork from PIL,
9a640e3157
.
2018-04-04 05:30:05 -07:00
Alexander
79ed02b8f4
Fix _i2f compilation on some GCC versions
2018-04-02 17:10:51 +03:00
Kathryn Davies
8f6be2ee7d
Move location of fclose and add dump test.
2018-03-31 21:28:37 -07:00
Alexander
76d467245d
Release GIL
2018-03-31 09:52:05 +03:00
Kathryn Davies
147f835146
Fix a resource leak: close fp before return (found by cppcheck)
2018-03-30 15:42:56 -07:00
Alexander
d2a5d1e44d
Add tests for some cases and fix bugs
2018-03-29 23:56:51 +03:00
Alexander
461a090405
Python interface
2018-03-29 14:40:34 +03:00
Alexander
71f643e1ea
doesn't affect accuracy, but a bit faster
2018-03-29 11:57:37 +03:00
Alexander
838a5cffe7
more tests and fixed bug for interpolate4
2018-03-26 23:17:17 +03:00
Alexander
5227c30561
typos
2018-03-26 22:33:22 +03:00
Alexander
78d16d30c4
share clip8_lookups table between Resample and ColorLUT
2018-03-26 18:02:08 +03:00
Alexander
df192fff1e
one function table_index3D
2018-03-26 17:41:25 +03:00
Alexander
845f4dbfe1
update comment
2018-03-26 17:34:56 +03:00
Alexander
3a5f0201f5
pure FPI implementation
2018-03-26 17:23:14 +03:00
Alexander
23827d5250
3D to 4D implementation
2018-03-26 14:18:17 +03:00
Alexander
696ae12b37
3D to 3D implementation
2018-03-26 14:14:52 +03:00
Alexander
d2d546d4ae
Python to C bridge
2018-03-26 11:26:51 +03:00
Alexander
853208c65f
color 3D LUT, just start
2018-03-25 15:49:42 +03:00
Metallicow
22a59ac839
Trim trailing whitespace src dir
2018-01-27 00:02:56 -06:00
wiredfool
9a19858fb7
Merge pull request #2938 from uploadcare/tiff-with-optional-channels
...
Tiff with optional channels
2018-01-24 11:10:18 +00:00
Andrew Murray
25e72d5856
Fixed typos
2018-01-24 21:54:16 +11:00
Alexander
dc127273f4
Add RGBXX RGBXXX YCbCrXX YCbCrXXX rawmodes for TIFFs
2018-01-07 17:23:05 +03:00
Alexander
1f4fd49a80
unpack CMYK TIFFs optional channels
2018-01-07 17:23:05 +03:00
Eric Soroos
4bc33d3e4a
Remove _imaging.crc32 in favor or builtin python crc32 implementation
2018-01-05 15:53:50 +00:00
wiredfool
ef5bab99b5
fixed merge
2017-12-28 16:07:18 +00:00
wiredfool
0bb3f4fee9
source layout reorg
2017-12-28 14:49:47 +00:00