diff options
author | Yujie Qin <yujieqin@google.com> | 2016-11-23 12:19:38 +0100 |
---|---|---|
committer | Yujie Qin <yujieqin@google.com> | 2016-11-23 12:19:38 +0100 |
commit | 473434f2dd974978b329faf5c87ae8aa09a2714d (patch) | |
tree | 719a811ce1487c9b8b890f9c1048a6ff2d4b4a0f /src/piex.cc | |
parent | 6df8ae1ea3dd29363fd185cdc5a84532f0189638 (diff) | |
download | piex-473434f2dd974978b329faf5c87ae8aa09a2714d.tar.gz |
Update PIEX
Diffstat (limited to 'src/piex.cc')
-rw-r--r-- | src/piex.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/piex.cc b/src/piex.cc index fd381db..338e581 100644 --- a/src/piex.cc +++ b/src/piex.cc @@ -419,19 +419,26 @@ Error DngGetPreviewData(StreamInterface* stream, kTiffTagStripByteCounts, kTiffTagStripOffsets, kTiffTagSubIfd}; TiffContent tiff_content; - const std::uint32_t kNumberOfIfds = 4; + const std::uint32_t kNumberOfIfds = 3; if (!GetPreviewData(extended_tags, 0, kNumberOfIfds, stream, &tiff_content, preview_image_data)) { return kFail; } + const TiffDirectory& tiff_directory = tiff_content.tiff_directory[0]; + + if (!GetFullCropDimension(tiff_directory, &preview_image_data->full_width, + &preview_image_data->full_height)) { + return kFail; + } + // Find the jpeg compressed thumbnail and preview image. Image preview; Image thumbnail; // Search for images in IFD0 Image temp_image; - if (GetImageData(tiff_content.tiff_directory[0], stream, &temp_image)) { + if (GetImageData(tiff_directory, stream, &temp_image)) { if (IsThumbnail(temp_image, kDngThumbnailMaxDimension)) { thumbnail = temp_image; } else if (temp_image.format == Image::kJpegCompressed) { @@ -440,7 +447,7 @@ Error DngGetPreviewData(StreamInterface* stream, } // Search for images in other IFDs - for (const auto& ifd : tiff_content.tiff_directory[0].GetSubDirectories()) { + for (const auto& ifd : tiff_directory.GetSubDirectories()) { if (GetImageData(ifd, stream, &temp_image)) { // Try to find the largest thumbnail/preview. if (IsThumbnail(temp_image, kDngThumbnailMaxDimension)) { |