mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-27 01:34:24 +03:00
Merge pull request #4034 from cgohlke/patch-1
Initialize rows_per_strip when RowsPerStrip tag is missing
This commit is contained in:
commit
fb8470187a
BIN
Tests/images/no_rows_per_strip.tif
Normal file
BIN
Tests/images/no_rows_per_strip.tif
Normal file
Binary file not shown.
|
@ -832,6 +832,13 @@ class TestFileLibTiff(LibTiffTestCase):
|
||||||
im, "Tests/images/old-style-jpeg-compression.png"
|
im, "Tests/images/old-style-jpeg-compression.png"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_no_rows_per_strip(self):
|
||||||
|
# This image does not have a RowsPerStrip TIFF tag
|
||||||
|
infile = "Tests/images/no_rows_per_strip.tif"
|
||||||
|
im = Image.open(infile)
|
||||||
|
im.load()
|
||||||
|
self.assertEqual(im.size, (950, 975))
|
||||||
|
|
||||||
def test_orientation(self):
|
def test_orientation(self):
|
||||||
base_im = Image.open("Tests/images/g4_orientation_1.tif")
|
base_im = Image.open("Tests/images/g4_orientation_1.tif")
|
||||||
|
|
||||||
|
|
|
@ -405,8 +405,12 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, Py_
|
||||||
UINT32 strip_row, row_byte_size;
|
UINT32 strip_row, row_byte_size;
|
||||||
UINT8 *new_data;
|
UINT8 *new_data;
|
||||||
UINT32 rows_per_strip;
|
UINT32 rows_per_strip;
|
||||||
|
int ret;
|
||||||
|
|
||||||
TIFFGetField(tiff, TIFFTAG_ROWSPERSTRIP, &rows_per_strip);
|
ret = TIFFGetField(tiff, TIFFTAG_ROWSPERSTRIP, &rows_per_strip);
|
||||||
|
if (ret != 1) {
|
||||||
|
rows_per_strip = state->ysize;
|
||||||
|
}
|
||||||
TRACE(("RowsPerStrip: %u \n", rows_per_strip));
|
TRACE(("RowsPerStrip: %u \n", rows_per_strip));
|
||||||
|
|
||||||
// We could use TIFFStripSize, but for YCbCr data it returns subsampled data size
|
// We could use TIFFStripSize, but for YCbCr data it returns subsampled data size
|
||||||
|
|
Loading…
Reference in New Issue
Block a user