Skip to content

Commit

Permalink
Make strip calculation more readable
Browse files Browse the repository at this point in the history
  • Loading branch information
kmilos committed Jun 2, 2021
1 parent 40ed456 commit d5b4012
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/PIL/TiffImagePlugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -1553,12 +1553,12 @@ def _save(im, fp, filename):
ifd[COLORMAP] = tuple(v * 256 for v in lut)
# data orientation
stride = len(bits) * ((im.size[0] * bits[0] + 7) // 8)
rows_per_strip = im.size[1]
strip_byte_counts = stride * im.size[1]
# aim for 64 KB strips when using libtiff writer
while libtiff and strip_byte_counts > 2 ** 16 and rows_per_strip > 1:
rows_per_strip = (rows_per_strip + 1) // 2
strip_byte_counts = stride * rows_per_strip
if libtiff:
rows_per_strip = (2 ** 16 + stride - 1) // stride
else:
rows_per_strip = im.size[1]
strip_byte_counts = stride * rows_per_strip
strips_per_image = (im.size[1] + rows_per_strip - 1) // rows_per_strip
ifd[ROWSPERSTRIP] = rows_per_strip
if strip_byte_counts >= 2 ** 16:
Expand Down

0 comments on commit d5b4012

Please sign in to comment.