diff options
author | Yujie Qin <yujieqin@google.com> | 2016-04-14 14:40:21 +0200 |
---|---|---|
committer | Yujie Qin <yujieqin@google.com> | 2016-04-14 14:40:21 +0200 |
commit | be908191d0a6883a95333bdc0bca749c9b830969 (patch) | |
tree | 800b0582f6280d733f14ff084d81c7cb32202ee4 | |
parent | 2f5d8eafb5648056703d6b3dec237d293f75f99e (diff) | |
download | piex-be908191d0a6883a95333bdc0bca749c9b830969.tar.gz |
Update PIEXandroid-wear-n-preview-3android-wear-n-preview-2android-wear-n-preview-1android-wear-7.1.1_r1android-n-preview-5android-n-preview-4android-n-preview-3android-n-iot-preview-2nougat-mr1-wear-releasen-iot-preview-2
* Adjust the max thumbnail size to 512 pixel
* Reads the correct full dimensions for DNGs which are stored in DefaultCropSize of the main image
-rw-r--r-- | src/tiff_parser.cc | 31 | ||||
-rw-r--r-- | src/tiff_parser.h | 2 |
2 files changed, 17 insertions, 16 deletions
diff --git a/src/tiff_parser.cc b/src/tiff_parser.cc index 697e320..00bb944 100644 --- a/src/tiff_parser.cc +++ b/src/tiff_parser.cc @@ -556,7 +556,22 @@ bool GetFullDimension32(const TiffDirectory& tiff_directory, } } - if (tiff_directory.Has(kExifTagWidth) && tiff_directory.Has(kExifTagHeight)) { + if (tiff_directory.Has(kExifTagDefaultCropSize)) { + std::vector<std::uint32_t> crop(2); + std::vector<Rational> crop_rational(2); + if (tiff_directory.Get(kExifTagDefaultCropSize, &crop)) { + *width = crop[0]; + *height = crop[1]; + } else if (tiff_directory.Get(kExifTagDefaultCropSize, &crop_rational) && + crop_rational[0].denominator != 0 && + crop_rational[1].denominator != 0) { + *width = crop_rational[0].numerator / crop_rational[0].denominator; + *height = crop_rational[1].numerator / crop_rational[1].denominator; + } else { + return false; + } + } else if (tiff_directory.Has(kExifTagWidth) && + tiff_directory.Has(kExifTagHeight)) { if (!tiff_directory.Get(kExifTagWidth, width) || !tiff_directory.Get(kExifTagHeight, height)) { return false; @@ -585,20 +600,6 @@ bool GetFullDimension32(const TiffDirectory& tiff_directory, } else { return false; } - } else if (tiff_directory.Has(kExifTagDefaultCropSize)) { - std::vector<std::uint32_t> crop(2); - std::vector<Rational> crop_rational(2); - if (tiff_directory.Get(kExifTagDefaultCropSize, &crop)) { - *width = crop[0]; - *height = crop[1]; - } else if (tiff_directory.Get(kExifTagDefaultCropSize, &crop_rational) && - crop_rational[0].denominator != 0 && - crop_rational[1].denominator != 0) { - *width = crop_rational[0].numerator / crop_rational[0].denominator; - *height = crop_rational[1].numerator / crop_rational[1].denominator; - } else { - return false; - } } return true; } diff --git a/src/tiff_parser.h b/src/tiff_parser.h index a19b71e..3cb9d7e 100644 --- a/src/tiff_parser.h +++ b/src/tiff_parser.h @@ -28,7 +28,7 @@ namespace piex { // Specifies the maximum number of pixels for thumbnails in each direction. -const int kThumbnailMaxDimension = 256; +const int kThumbnailMaxDimension = 512; // Specifies all tags that might be of interest to get the preview data. enum GpsTags { |