From ef9b1025fa665ea0d37bd7f365d8c38202205f39 Mon Sep 17 00:00:00 2001 From: artemp Date: Wed, 17 May 2017 14:55:41 +0200 Subject: [PATCH] fix bug - use `tile_width_` and `tile_height_` + cleanup --- src/tiff_reader.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/tiff_reader.cpp b/src/tiff_reader.cpp index adbf66aa3..0740d31b6 100644 --- a/src/tiff_reader.cpp +++ b/src/tiff_reader.cpp @@ -530,7 +530,6 @@ struct tiff_reader_traits { if (TIFFReadRGBAStrip(tif, y, buf) != -1) { - std::uint32_t strip_size = TIFFStripSize(tif); for (std::size_t y = 0; y < rows_per_strip/2; ++y) { std::swap_ranges(buf + y * strip_width, buf + (y + 1) * strip_width, buf + (rows_per_strip - y - 1) * strip_width); @@ -687,7 +686,7 @@ void tiff_reader::read_tiled(std::size_t x0,std::size_t y0, ImageData & image std::size_t end_x = ((x0 + width) / tile_width_ + 1) * tile_width_; end_y = std::min(end_y, height_); end_x = std::min(end_x, width_); - bool pick_first_band = (bands_ > 1) && (tile_size / (width * height * sizeof(pixel_type)) == bands_); + bool pick_first_band = (bands_ > 1) && (tile_size / (tile_width_ * tile_height_ * sizeof(pixel_type)) == bands_); for (std::size_t y = start_y; y < end_y; y += tile_height_) { std::size_t ty0 = std::max(y0, y) - y; @@ -741,7 +740,6 @@ void tiff_reader::read_stripped(std::size_t x0, std::size_t y0, ImageData & i tx1 = std::min(width + x0, width_); std::size_t row = 0; bool pick_first_band = (bands_ > 1) && (strip_size / (width_ * rows_per_strip_ * sizeof(pixel_type)) == bands_); - for (std::size_t y = start_y; y < end_y; y += rows_per_strip_) { ty0 = std::max(y0, y) - y;