aboutsummaryrefslogtreecommitdiff
path: root/src/piex.cc
diff options
context:
space:
mode:
authorYujie Qin <yujieqin@google.com>2016-11-23 12:19:38 +0100
committerYujie Qin <yujieqin@google.com>2016-11-23 12:19:38 +0100
commit473434f2dd974978b329faf5c87ae8aa09a2714d (patch)
tree719a811ce1487c9b8b890f9c1048a6ff2d4b4a0f /src/piex.cc
parent6df8ae1ea3dd29363fd185cdc5a84532f0189638 (diff)
downloadpiex-473434f2dd974978b329faf5c87ae8aa09a2714d.tar.gz
Update PIEX
Diffstat (limited to 'src/piex.cc')
-rw-r--r--src/piex.cc13
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)) {