Commit Graph

22 Commits

Author SHA1 Message Date
Hugo van Kemenade
e58baa0c09
Merge pull request #4756 from nulano/warn-tiff
Fix TiffDecode comparison warnings
2020-10-14 17:33:05 +03:00
nulano
3cabcf242f fix libtiff in MSYS2 2020-08-30 04:31:46 +02:00
nulano
21533e4deb tiff comparison warnings 2020-07-02 16:14:07 +02:00
Hugo van Kemenade
c00fdc7e30 Fix typos
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-04-01 11:02:44 +03:00
Eric Soroos
b8d4ce1a59 Avoid uninitialized read 2020-04-01 11:02:36 +03:00
Eric Soroos
6b842f4ec0 Ensure that Tiff's concept of Strip and Tilesize matches Pillow's 2020-04-01 11:02:33 +03:00
Andrew Murray
b9c68540dc Overflow checks for realloc for tiff decoding 2020-01-02 15:24:46 +11:00
Christoph Gohlke
b37f12a5f8
Initialize rows_per_strip when RowsPerStrip tag is missing 2019-08-20 16:07:07 -07: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
Christoph Gohlke
129df60c48
Use unsigned int to store TIFF IFD offsets 2019-06-27 15:09:31 -07:00
Christoph Gohlke
a78341e26c
Fix potential null pointer is passed into memcpy 2019-06-25 14:23:20 -07:00
Andrew Murray
ca1cf59251 Changed decode buffer size to Py_ssize_t 2019-04-15 17:33:28 +10:00
Andrew Murray
1a7a1123e6
Merge branch 'master' into tiff-old-jpeg 2019-02-15 19:56:17 +11: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
Konstantin Kopachev
69f315a585
PR feedback: simplified key construct for fillorder=2; indentation fixes 2018-09-26 09:44:45 -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
wiredfool
0bb3f4fee9 source layout reorg 2017-12-28 14:49:47 +00:00