diff options
author | Christoph Willing <chris.willing@linux.com> | 2021-04-06 21:03:23 +0200 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2021-04-17 23:50:37 -0500 |
commit | c279a7f50e5d249529bd54ee103ed027aa3e94c1 (patch) | |
tree | 4abc60a92951bc01dac1fcbbadd1b3e49c21d24d /graphics | |
parent | 24df88f6c53d6c5157a53c256fc34c9edc89e50d (diff) |
graphics/openimageio: Updated for version 2.1.19.0.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/openimageio/oiio-include-cstdio.diff | 10 | ||||
-rw-r--r-- | graphics/openimageio/oiio-libopenimageio-exif-cpp.diff | 326 | ||||
-rw-r--r-- | graphics/openimageio/openimageio.SlackBuild | 15 | ||||
-rw-r--r-- | graphics/openimageio/openimageio.info | 8 | ||||
-rw-r--r-- | graphics/openimageio/rawinput.diff | 114 |
5 files changed, 6 insertions, 467 deletions
diff --git a/graphics/openimageio/oiio-include-cstdio.diff b/graphics/openimageio/oiio-include-cstdio.diff deleted file mode 100644 index 48d6aad832ee..000000000000 --- a/graphics/openimageio/oiio-include-cstdio.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- src/jpeg2000.imageio/jpeg2000output-v1.cpp.orig 2019-08-02 13:53:54.000000000 +1000 -+++ src/jpeg2000.imageio/jpeg2000output-v1.cpp 2019-08-07 21:54:04.354000000 +1000 -@@ -28,6 +28,7 @@ - (This is the Modified BSD License) - */ - -+#include <cstdio> - #include <vector> - - #include "openjpeg.h" diff --git a/graphics/openimageio/oiio-libopenimageio-exif-cpp.diff b/graphics/openimageio/oiio-libopenimageio-exif-cpp.diff deleted file mode 100644 index b0955d5c7d05..000000000000 --- a/graphics/openimageio/oiio-libopenimageio-exif-cpp.diff +++ /dev/null @@ -1,326 +0,0 @@ ---- oiio-Release-2.0.13/src/libOpenImageIO/exif.cpp 2019-12-03 23:28:14.000000000 +0100 -+++ oiio-Release-2.0.13/src/libOpenImageIO/exif.cpp 2021-02-02 02:54:55.000000000 +0100 -@@ -554,40 +528,44 @@ - - - -+// libtiff > 4.1.0 defines these in tiff.h. For older libtiff, let's define -+// them ourselves. -+#ifndef GPSTAG_VERSIONID - enum GPSTag { -- GPSTAG_VERSIONID = 0, -- GPSTAG_LATITUDEREF = 1, -- GPSTAG_LATITUDE = 2, -- GPSTAG_LONGITUDEREF = 3, -- GPSTAG_LONGITUDE = 4, -- GPSTAG_ALTITUDEREF = 5, -- GPSTAG_ALTITUDE = 6, -- GPSTAG_TIMESTAMP = 7, -- GPSTAG_SATELLITES = 8, -- GPSTAG_STATUS = 9, -- GPSTAG_MEASUREMODE = 10, -- GPSTAG_DOP = 11, -- GPSTAG_SPEEDREF = 12, -- GPSTAG_SPEED = 13, -- GPSTAG_TRACKREF = 14, -- GPSTAG_TRACK = 15, -- GPSTAG_IMGDIRECTIONREF = 16, -- GPSTAG_IMGDIRECTION = 17, -- GPSTAG_MAPDATUM = 18, -- GPSTAG_DESTLATITUDEREF = 19, -- GPSTAG_DESTLATITUDE = 20, -- GPSTAG_DESTLONGITUDEREF = 21, -- GPSTAG_DESTLONGITUDE = 22, -- GPSTAG_DESTBEARINGREF = 23, -- GPSTAG_DESTBEARING = 24, -- GPSTAG_DESTDISTANCEREF = 25, -- GPSTAG_DESTDISTANCE = 26, -- GPSTAG_PROCESSINGMETHOD = 27, -- GPSTAG_AREAINFORMATION = 28, -- GPSTAG_DATESTAMP = 29, -- GPSTAG_DIFFERENTIAL = 30, -- GPSTAG_HPOSITIONINGERROR = 31 -+ GPSTAG_VERSIONID = 0, -+ GPSTAG_LATITUDEREF = 1, -+ GPSTAG_LATITUDE = 2, -+ GPSTAG_LONGITUDEREF = 3, -+ GPSTAG_LONGITUDE = 4, -+ GPSTAG_ALTITUDEREF = 5, -+ GPSTAG_ALTITUDE = 6, -+ GPSTAG_TIMESTAMP = 7, -+ GPSTAG_SATELLITES = 8, -+ GPSTAG_STATUS = 9, -+ GPSTAG_MEASUREMODE = 10, -+ GPSTAG_DOP = 11, -+ GPSTAG_SPEEDREF = 12, -+ GPSTAG_SPEED = 13, -+ GPSTAG_TRACKREF = 14, -+ GPSTAG_TRACK = 15, -+ GPSTAG_IMGDIRECTIONREF = 16, -+ GPSTAG_IMGDIRECTION = 17, -+ GPSTAG_MAPDATUM = 18, -+ GPSTAG_DESTLATITUDEREF = 19, -+ GPSTAG_DESTLATITUDE = 20, -+ GPSTAG_DESTLONGITUDEREF = 21, -+ GPSTAG_DESTLONGITUDE = 22, -+ GPSTAG_DESTBEARINGREF = 23, -+ GPSTAG_DESTBEARING = 24, -+ GPSTAG_DESTDISTANCEREF = 25, -+ GPSTAG_DESTDISTANCE = 26, -+ GPSTAG_PROCESSINGMETHOD = 27, -+ GPSTAG_AREAINFORMATION = 28, -+ GPSTAG_DATESTAMP = 29, -+ GPSTAG_DIFFERENTIAL = 30, -+ GPSTAG_GPSHPOSITIONINGERROR = 31 - }; -+#endif - - static const TagInfo gps_tag_table[] = { - // clang-format off -@@ -622,7 +600,7 @@ - { GPSTAG_AREAINFORMATION, "GPS:AreaInformation", TIFF_UNDEFINED, 1 }, - { GPSTAG_DATESTAMP, "GPS:DateStamp", TIFF_ASCII, 0 }, - { GPSTAG_DIFFERENTIAL, "GPS:Differential", TIFF_SHORT, 1 }, -- { GPSTAG_HPOSITIONINGERROR, "GPS:HPositioningError",TIFF_RATIONAL, 1 } -+ { GPSTAG_GPSHPOSITIONINGERROR, "GPS:HPositioningError",TIFF_RATIONAL, 1 } - // clang-format on - }; - -@@ -685,7 +663,7 @@ - } - if (dirp->tdir_type == TIFF_RATIONAL) { - int n = dirp->tdir_count; // How many -- float* f = (float*)alloca(n * sizeof(float)); -+ float* f = OIIO_ALLOCA(float, n); - for (int i = 0; i < n; ++i) { - unsigned int num, den; - num = ((const unsigned int*)dataptr)[2 * i + 0]; -@@ -704,7 +682,7 @@ - } - if (dirp->tdir_type == TIFF_SRATIONAL) { - int n = dirp->tdir_count; // How many -- float* f = (float*)alloca(n * sizeof(float)); -+ float* f = OIIO_ALLOCA(float, n); - for (int i = 0; i < n; ++i) { - int num, den; - num = ((const int*)dataptr)[2 * i + 0]; -@@ -799,7 +777,7 @@ - - #if DEBUG_EXIF_READ - std::cerr << "Read " << tagmap.mapname() << " "; -- print_dir_entry(tagmap, dir, buf, offset_adjustment); -+ print_dir_entry(std::cerr, tagmap, dir, buf, offset_adjustment); - #endif - - if (dir.tdir_tag == TIFFTAG_EXIFIFD || dir.tdir_tag == TIFFTAG_GPSIFD) { -@@ -808,7 +786,7 @@ - unsigned int offset = dirp->tdir_offset; // int stored in offset itself - if (swab) - swap_endian(&offset); -- if (offset >= buf.size()) { -+ if (offset >= size_t(buf.size())) { - #if DEBUG_EXIF_READ - unsigned int off2 = offset; - swap_endian(&off2); -@@ -863,6 +841,16 @@ - unsigned int offset = dirp->tdir_offset; // int stored in offset itself - if (swab) - swap_endian(&offset); -+ if (offset >= size_t(buf.size())) { -+#if DEBUG_EXIF_READ -+ unsigned int off2 = offset; -+ swap_endian(&off2); -+ std::cerr << "Bad Exif block? ExifIFD has offset " << offset -+ << " inexplicably greater than exif buffer length " -+ << buf.size() << " (byte swapped = " << off2 << ")\n"; -+#endif -+ return; -+ } - // Don't recurse if we've already visited this IFD - if (ifd_offsets_seen.find(offset) != ifd_offsets_seen.end()) - return; - -@@ -964,49 +946,46 @@ - const char* s = *(const char**)p.data(); - int len = strlen(s) + 1; - append_tiff_dir_entry(dirs, data, tag, type, len, s, -- offset_correction); -+ offset_correction, 0, endianreq); - return; - } - break; - case TIFF_RATIONAL: - if (element == TypeDesc::FLOAT) { -- unsigned int* rat = (unsigned int*)alloca(2 * count -- * sizeof(unsigned int)); -+ unsigned int* rat = OIIO_ALLOCA(unsigned int, 2 * count); - const float* f = (const float*)p.data(); - for (size_t i = 0; i < count; ++i) - float_to_rational(f[i], rat[2 * i], rat[2 * i + 1]); - append_tiff_dir_entry(dirs, data, tag, type, count, rat, -- offset_correction); -+ offset_correction, 0, endianreq); - return; - } - break; - case TIFF_SRATIONAL: - if (element == TypeDesc::FLOAT) { -- int* rat = (int*)alloca(2 * count * sizeof(int)); -+ int* rat = OIIO_ALLOCA(int, 2 * count); - const float* f = (const float*)p.data(); - for (size_t i = 0; i < count; ++i) - float_to_rational(f[i], rat[2 * i], rat[2 * i + 1]); - append_tiff_dir_entry(dirs, data, tag, type, count, rat, -- offset_correction); -+ offset_correction, 0, endianreq); - return; - } - break; - case TIFF_SHORT: -- if (append_tiff_dir_entry_integer<unsigned short>(p, dirs, data, tag, -- type, -- offset_correction)) -+ if (append_tiff_dir_entry_integer<unsigned short>( -+ p, dirs, data, tag, type, offset_correction, endianreq)) - return; - break; - case TIFF_LONG: - if (append_tiff_dir_entry_integer<unsigned int>(p, dirs, data, tag, -- type, -- offset_correction)) -+ type, offset_correction, -+ endianreq)) - return; - break; - case TIFF_BYTE: -- if (append_tiff_dir_entry_integer<unsigned char>(p, dirs, data, tag, -- type, -- offset_correction)) -+ if (append_tiff_dir_entry_integer<unsigned char>( -+ p, dirs, data, tag, type, offset_correction, endianreq)) - return; - break; - default: break; -@@ -1091,14 +1097,24 @@ - bool - decode_exif(cspan<uint8_t> exif, ImageSpec& spec) - { -+ // Sometimes an exif blob starts with "Exif". Skip it. -+ if (exif.size() >= 6 && exif[0] == 'E' && exif[1] == 'x' && exif[2] == 'i' -+ && exif[3] == 'f' && exif[4] == 0 && exif[5] == 0) { -+ exif = exif.subspan(6); -+ } -+ - #if DEBUG_EXIF_READ - std::cerr << "Exif dump:\n"; -- for (size_t i = 0; i < exif.size(); ++i) { -+ for (size_t i = 0; i < std::min(200L, exif.size()); ++i) { -+ if ((i % 16) == 0) -+ std::cerr << "[" << i << "] "; - if (exif[i] >= ' ') - std::cerr << (char)exif[i] << ' '; - std::cerr << "(" << (int)exif[i] << ") "; -+ if ((i % 16) == 15) -+ std::cerr << "\n"; - } -- std::cerr << "\n"; -+ std::cerr << std::endl; - #endif - - // The first item should be a standard TIFF header. Note that HERE, -@@ -1176,8 +1192,10 @@ - - template<class T> - inline void --append(std::vector<char>& blob, const T& v) -+append(std::vector<char>& blob, T v, endian endianreq = endian::native) - { -+ if (endianreq != endian::native) -+ swap_endian(&v); - blob.insert(blob.end(), (const char*)&v, (const char*)&v + sizeof(T)); - } - -@@ -1191,10 +1209,20 @@ - - - -+// DEPRECATED(2.1) -+void -+encode_exif(const ImageSpec& spec, std::vector<char>& blob) -+{ -+ encode_exif(spec, blob, endian::native); -+} -+ -+ -+ - // Construct an Exif data block from the ImageSpec, appending the Exif - // data as a big blob to the char vector. - void --encode_exif(const ImageSpec& spec, std::vector<char>& blob) -+encode_exif(const ImageSpec& spec, std::vector<char>& blob, -+ OIIO::endian endianreq) - { - const TagMap& exif_tagmap(exif_tagmap_ref()); - const TagMap& gps_tagmap(gps_tagmap_ref()); -@@ -1243,9 +1271,9 @@ - // Put a TIFF header - size_t tiffstart = blob.size(); // store initial size - TIFFHeader head; -- head.tiff_magic = littleendian() ? 0x4949 : 0x4d4d; -+ head.tiff_magic = (endianreq == endian::little) ? 0x4949 : 0x4d4d; - head.tiff_version = 42; -- // head.tiff_diroff -- fix below, once we know the sizes -+ // N.B. need to swap_endian head.tiff_diroff below, once we know the sizes - append(blob, head); - - // Accumulate separate tag directories for TIFF, Exif, GPS, and Interop. -@@ -1259,7 +1287,8 @@ - if (Strutil::starts_with(p.name(), "GPS:")) { - int tag = gps_tagmap.tag(p.name()); - if (tag >= 0) -- encode_exif_entry(p, tag, gpsdirs, blob, gps_tagmap, tiffstart); -+ encode_exif_entry(p, tag, gpsdirs, blob, gps_tagmap, tiffstart, -+ endianreq); - } else { - // Not GPS - int tag = exif_tagmap.tag(p.name()); -@@ -1267,10 +1296,10 @@ - // This range of Exif tags go in the main TIFF directories, - // not the Exif IFD. Whatever. - encode_exif_entry(p, tag, tiffdirs, blob, exif_tagmap, -- tiffstart); -+ tiffstart, endianreq); - } else { - encode_exif_entry(p, tag, exifdirs, blob, exif_tagmap, -- tiffstart); -+ tiffstart, endianreq); - } - } - } -@@ -1293,12 +1322,14 @@ - if (exifdirs.size() || makerdirs.size()) { - // Add some required Exif tags that wouldn't be in the spec - append_tiff_dir_entry(exifdirs, blob, EXIF_EXIFVERSION, TIFF_UNDEFINED, -- 4, "0230", tiffstart); -+ 4, "0230", tiffstart, 0, endianreq); - append_tiff_dir_entry(exifdirs, blob, EXIF_FLASHPIXVERSION, -- TIFF_UNDEFINED, 4, "0100", tiffstart); -+ TIFF_UNDEFINED, 4, "0100", tiffstart, 0, -+ endianreq); - static char componentsconfig[] = { 1, 2, 3, 0 }; - append_tiff_dir_entry(exifdirs, blob, EXIF_COMPONENTSCONFIGURATION, -- TIFF_UNDEFINED, 4, componentsconfig, tiffstart); -+ TIFF_UNDEFINED, 4, componentsconfig, tiffstart, 0, -+ endianreq); - } - - // If any GPS info was found, add a version tag to the GPS fields. -@@ -1306,7 +1337,7 @@ - // Add some required Exif tags that wouldn't be in the spec - static char ver[] = { 2, 2, 0, 0 }; - append_tiff_dir_entry(gpsdirs, blob, GPSTAG_VERSIONID, TIFF_BYTE, 4, -- &ver, tiffstart); -+ &ver, tiffstart, 0, endianreq); - } - - // Compute offsets: diff --git a/graphics/openimageio/openimageio.SlackBuild b/graphics/openimageio/openimageio.SlackBuild index fa21c7458248..37e69bcd788a 100644 --- a/graphics/openimageio/openimageio.SlackBuild +++ b/graphics/openimageio/openimageio.SlackBuild @@ -24,8 +24,8 @@ PRGNAM=openimageio SRCNAM=oiio-Release -VERSION=${VERSION:-2.0.13} -BUILD=${BUILD:-3} +VERSION=${VERSION:-2.1.19.0} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PYLIB3_INSTALL_DIRECTORY=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") @@ -65,14 +65,6 @@ cd $TMP rm -rf $SRCNAM-$VERSION tar xvf $CWD/$SRCNAM-$VERSION.tar.gz cd $SRCNAM-$VERSION -patch -p0 < $CWD/oiio-include-cstdio.diff - -grep 20191103 /usr/include/tiffvers.h 2>&1 >/dev/null || { -# libtiff-4.2.0 requires additional patches -# (thanks to Giancarlo Dessi) - patch -p1 < $CWD/rawinput.diff - patch -p1 < $CWD/oiio-libopenimageio-exif-cpp.diff -} chown -R root:root . find -L . \ @@ -95,13 +87,10 @@ cd build -DCMAKE_INSTALL_PREFIX=/usr \ -DPYLIB_INCLUDE_SONAME:BOOL=TRUE \ -DPYLIB_LIB_PREFIX:BOOL=FALSE \ - -DUSE_OCIO:BOOL=TRUE \ -DUSE_OPENJPEG:BOOL=TRUE \ -DOIIO_BUILD_TESTS:BOOL=FALSE \ -DUSE_PYTHON:BOOL=TRUE \ -DPYTHON_VERSION=$(python3 --version | cut -d' ' -f2) \ - -DUSE_EXTERNAL_PUGIXML:BOOL=FALSE \ - make make install DESTDIR=$PKG diff --git a/graphics/openimageio/openimageio.info b/graphics/openimageio/openimageio.info index 95dd9e8323d6..8d8d9a4f4add 100644 --- a/graphics/openimageio/openimageio.info +++ b/graphics/openimageio/openimageio.info @@ -1,10 +1,10 @@ PRGNAM="openimageio" -VERSION="2.0.13" +VERSION="2.1.19.0" HOMEPAGE="https://sites.google.com/site/openimageio/home" -DOWNLOAD="https://github.com/OpenImageIO/oiio/archive/Release-2.0.13/oiio-Release-2.0.13.tar.gz" -MD5SUM="76ce4d246409de331ad04453423479bf" +DOWNLOAD="https://github.com/OpenImageIO/oiio/archive/Release-2.1.19.0/oiio-Release-2.1.19.0.tar.gz" +MD5SUM="3654fff35d5c55cecff857101c7b79e8" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="ffmpeg libwebp opencv opencolorio pybind11 robin-map qt5 dcmtk" +REQUIRES="opencolorio pybind11 robin-map dcmtk tbb fmt hdf5" MAINTAINER="Christoph Willing" EMAIL="chris.willing@linux.com" diff --git a/graphics/openimageio/rawinput.diff b/graphics/openimageio/rawinput.diff deleted file mode 100644 index e465621ac204..000000000000 --- a/graphics/openimageio/rawinput.diff +++ /dev/null @@ -1,114 +0,0 @@ ---- oiio-Release-2.0.13/src/raw.imageio/rawinput.cpp 2019-12-03 23:28:14.000000000 +0100 -+++ oiio-Release-2.0.13-fix/src/raw.imageio/rawinput.cpp 2020-12-20 23:29:30.556780764 +0100 -@@ -643,7 +643,7 @@ - #if LIBRAW_VERSION >= LIBRAW_MAKE_VERSION(0, 17, 0) - if (other.parsed_gps.gpsparsed) { - add("GPS", "Latitude", other.parsed_gps.latitude, false, 0.0f); -- add("GPS", "Longitude", other.parsed_gps.longtitude, false, -+ add("GPS", "Longitude", other.parsed_gps.longitude, false, - 0.0f); // N.B. wrong spelling! - add("GPS", "TimeStamp", other.parsed_gps.gpstimestamp, false, 0.0f); - add("GPS", "Altitude", other.parsed_gps.altitude, false, 0.0f); -@@ -667,12 +667,12 @@ - // float AmbientTemperature; - // float BatteryTemperature; - // float exifAmbientTemperature; -- add("Exif", "Humidity", other.exifHumidity, false, 0.0f); -- add("Exif", "Pressure", other.exifPressure, false, 0.0f); -- add("Exif", "WaterDepth", other.exifWaterDepth, false, 0.0f); -- add("Exif", "Acceleration", other.exifAcceleration, false, 0.0f); -- add("Exif", "CameraElevactionAngle", other.exifCameraElevationAngle, false, -- 0.0f); -+ //add("Exif", "Humidity", other.exifHumidity, false, 0.0f); -+ //add("Exif", "Pressure", other.exifPressure, false, 0.0f); -+ //add("Exif", "WaterDepth", other.exifWaterDepth, false, 0.0f); -+ //add("Exif", "Acceleration", other.exifAcceleration, false, 0.0f); -+ //add("Exif", "CameraElevactionAngle", other.exifCameraElevationAngle, false, -+ // 0.0f); - // float real_ISO; - #endif - -@@ -861,9 +861,9 @@ - { - #if LIBRAW_VERSION >= LIBRAW_MAKE_VERSION(0, 18, 0) - auto const& mn(m_processor->imgdata.makernotes.olympus); -- MAKERF(OlympusCropID); -- MAKERF(OlympusFrame); /* upper left XY, lower right XY */ -- MAKERF(OlympusSensorCalibration); -+ //MAKERF(OlympusCropID); -+ //MAKERF(OlympusFrame); /* upper left XY, lower right XY */ -+ //MAKERF(OlympusSensorCalibration); - MAKERF(FocusMode); - MAKERF(AutoFocus); - MAKERF(AFPoint); -@@ -938,12 +938,12 @@ - { - #if LIBRAW_VERSION >= LIBRAW_MAKE_VERSION(0, 18, 0) - auto const& mn(m_processor->imgdata.makernotes.fuji); -- add(m_make, "ExpoMidPointShift", mn.FujiExpoMidPointShift); -- add(m_make, "DynamicRange", mn.FujiDynamicRange); -- add(m_make, "FilmMode", mn.FujiFilmMode); -- add(m_make, "DynamicRangeSetting", mn.FujiDynamicRangeSetting); -- add(m_make, "DevelopmentDynamicRange", mn.FujiDevelopmentDynamicRange); -- add(m_make, "AutoDynamicRange", mn.FujiAutoDynamicRange); -+ add(m_make, "ExpoMidPointShift", mn.ExpoMidPointShift); -+ add(m_make, "DynamicRange", mn.DynamicRange); -+ add(m_make, "FilmMode", mn.FilmMode); -+ add(m_make, "DynamicRangeSetting", mn.DynamicRangeSetting); -+ add(m_make, "DevelopmentDynamicRange", mn.DevelopmentDynamicRange); -+ add(m_make, "AutoDynamicRange", mn.AutoDynamicRange); - MAKERF(FocusMode); - MAKERF(AFMode); - MAKERF(FocusPixel); -@@ -967,7 +967,7 @@ - { - #if LIBRAW_VERSION >= LIBRAW_MAKE_VERSION(0, 18, 0) - auto const& mn(m_processor->imgdata.makernotes.sony); -- MAKERF(SonyCameraType); -+ MAKERF(CameraType); - #endif - #if LIBRAW_VERSION >= LIBRAW_MAKE_VERSION(0, 19, 0) - // uchar Sony0x9400_version; /* 0 if not found/deciphered, 0xa, 0xb, 0xc following exiftool convention */ -@@ -976,12 +976,12 @@ - // uchar Sony0x9400_SequenceLength1; - // unsigned Sony0x9400_SequenceFileNumber; - // uchar Sony0x9400_SequenceLength2; -- if (mn.raw_crop.cwidth || mn.raw_crop.cheight) { -- add(m_make, "cropleft", mn.raw_crop.cleft, true); -- add(m_make, "croptop", mn.raw_crop.ctop, true); -- add(m_make, "cropwidth", mn.raw_crop.cwidth, true); -- add(m_make, "cropheight", mn.raw_crop.cheight, true); -- } -+ //if (mn.raw_crop.cwidth || mn.raw_crop.cheight) { -+ // add(m_make, "cropleft", mn.raw_crop.cleft, true); -+ // add(m_make, "croptop", mn.raw_crop.ctop, true); -+ // add(m_make, "cropwidth", mn.raw_crop.cwidth, true); -+ // add(m_make, "cropheight", mn.raw_crop.cheight, true); -+ //} - MAKERF(AFMicroAdjValue); - MAKERF(AFMicroAdjOn); - MAKER(AFMicroAdjRegisteredLenses, 0); -@@ -1054,17 +1054,17 @@ - MAKER(Adapter, 0); - MAKER(AttachmentID, 0ULL); - MAKER(Attachment, 0); -- MAKER(CanonFocalUnits, 0); -+ MAKER(FocalUnits, 0); - MAKER(FocalLengthIn35mmFormat, 0.0f); - } - - if (Strutil::iequals(m_make, "Nikon")) { - auto const& mn(m_processor->imgdata.lens.nikon); -- add(m_make, "EffectiveMaxAp", mn.NikonEffectiveMaxAp); -- add(m_make, "LensIDNumber", mn.NikonLensIDNumber); -- add(m_make, "LensFStops", mn.NikonLensFStops); -- add(m_make, "MCUVersion", mn.NikonMCUVersion); -- add(m_make, "LensType", mn.NikonLensType); -+ add(m_make, "EffectiveMaxAp", mn.EffectiveMaxAp); -+ add(m_make, "LensIDNumber", mn.LensIDNumber); -+ add(m_make, "LensFStops", mn.LensFStops); -+ add(m_make, "MCUVersion", mn.MCUVersion); -+ add(m_make, "LensType", mn.LensType); - } - if (Strutil::iequals(m_make, "DNG")) { - auto const& mn(m_processor->imgdata.lens.dng); |